Awesome WM configs
This commit is contained in:
parent
6ae783e5f1
commit
23a1c1447d
3 changed files with 203 additions and 12 deletions
20
awesome/autorun.sh
Executable file
20
awesome/autorun.sh
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
run() {
|
||||||
|
if ! pgrep -f "$1" ;
|
||||||
|
then
|
||||||
|
"$@"&
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run "cbatticon"
|
||||||
|
run "blueman-applet"
|
||||||
|
run "nm-applet --no-agent"
|
||||||
|
run "nextcloud --background"
|
||||||
|
run "pasystray"
|
||||||
|
run "keepassxc"
|
||||||
|
run "alacritty msg create-window --title bottom -e btm --battery || alacritty --title bottom -e btm --battery"
|
||||||
|
run "wmctrl -r bottom -t 1"
|
||||||
|
run "alacrity msg create-window || alacritty"
|
||||||
|
run "xscreensaver -no-splash"
|
||||||
|
|
131
awesome/mytheme.lua
Normal file
131
awesome/mytheme.lua
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
---------------------------
|
||||||
|
-- Default awesome theme --
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
local theme_assets = require("beautiful.theme_assets")
|
||||||
|
local xresources = require("beautiful.xresources")
|
||||||
|
local dpi = xresources.apply_dpi
|
||||||
|
|
||||||
|
local gfs = require("gears.filesystem")
|
||||||
|
local themes_path = gfs.get_themes_dir()
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
|
||||||
|
theme.font = "Liberation Sans 8"
|
||||||
|
|
||||||
|
theme.bg_normal = "#222222"
|
||||||
|
theme.bg_focus = "#535d6c"
|
||||||
|
theme.bg_urgent = "#ff0000"
|
||||||
|
theme.bg_minimize = "#444444"
|
||||||
|
theme.bg_systray = theme.bg_normal
|
||||||
|
|
||||||
|
theme.fg_normal = "#aaaaaa"
|
||||||
|
theme.fg_focus = "#ffffff"
|
||||||
|
theme.fg_urgent = "#ffffff"
|
||||||
|
theme.fg_minimize = "#ffffff"
|
||||||
|
|
||||||
|
theme.useless_gap = dpi(0)
|
||||||
|
theme.border_width = dpi(1)
|
||||||
|
theme.border_normal = "#000000"
|
||||||
|
theme.border_focus = "#535d6c"
|
||||||
|
theme.border_marked = "#91231c"
|
||||||
|
|
||||||
|
-- There are other variable sets
|
||||||
|
-- overriding the default one when
|
||||||
|
-- defined, the sets are:
|
||||||
|
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
|
||||||
|
-- tasklist_[bg|fg]_[focus|urgent]
|
||||||
|
-- titlebar_[bg|fg]_[normal|focus]
|
||||||
|
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||||
|
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||||
|
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
|
||||||
|
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
|
||||||
|
-- Example:
|
||||||
|
--theme.taglist_bg_focus = "#ff0000"
|
||||||
|
|
||||||
|
-- Generate taglist squares:
|
||||||
|
local taglist_square_size = dpi(4)
|
||||||
|
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Variables set for theming notifications:
|
||||||
|
-- notification_font
|
||||||
|
-- notification_[bg|fg]
|
||||||
|
-- notification_[width|height|margin]
|
||||||
|
-- notification_[border_color|border_width|shape|opacity]
|
||||||
|
|
||||||
|
-- Variables set for theming the menu:
|
||||||
|
-- menu_[bg|fg]_[normal|focus]
|
||||||
|
-- menu_[border_color|border_width]
|
||||||
|
theme.menu_submenu_icon = themes_path.."default/submenu.png"
|
||||||
|
theme.menu_height = dpi(15)
|
||||||
|
theme.menu_width = dpi(100)
|
||||||
|
|
||||||
|
-- You can add as many variables as
|
||||||
|
-- you wish and access them by using
|
||||||
|
-- beautiful.variable in your rc.lua
|
||||||
|
--theme.bg_widget = "#cc0000"
|
||||||
|
|
||||||
|
-- Define the image to load
|
||||||
|
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
|
||||||
|
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
|
||||||
|
|
||||||
|
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
|
||||||
|
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
|
||||||
|
|
||||||
|
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
|
||||||
|
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
|
||||||
|
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
|
||||||
|
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
|
||||||
|
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
|
||||||
|
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
|
||||||
|
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
|
||||||
|
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
|
||||||
|
|
||||||
|
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
|
||||||
|
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
|
||||||
|
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
|
||||||
|
|
||||||
|
theme.wallpaper = themes_path.."default/background.png"
|
||||||
|
|
||||||
|
-- You can use your own layout icons like this:
|
||||||
|
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||||
|
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||||
|
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||||
|
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||||
|
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||||
|
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||||
|
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||||
|
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||||
|
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||||
|
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||||
|
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||||
|
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||||
|
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||||
|
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||||
|
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||||
|
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||||
|
|
||||||
|
-- Generate Awesome icon:
|
||||||
|
theme.awesome_icon = theme_assets.awesome_icon(
|
||||||
|
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Define the icon theme for application icons. If not set then the icons
|
||||||
|
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||||
|
theme.icon_theme = nil
|
||||||
|
|
||||||
|
return theme
|
||||||
|
|
||||||
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
|
@ -13,6 +13,11 @@ local beautiful = require("beautiful")
|
||||||
-- Notification library
|
-- Notification library
|
||||||
local naughty = require("naughty")
|
local naughty = require("naughty")
|
||||||
local menubar = require("menubar")
|
local menubar = require("menubar")
|
||||||
|
-- local weather_widget = require("awesome-wm-widgets.weather-widget.weather")
|
||||||
|
local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
|
||||||
|
local lain = require("lain")
|
||||||
|
-- local weather_widget = lain.widget.weather()
|
||||||
|
local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
|
||||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||||
-- Enable hotkeys help widget for VIM and other apps
|
-- Enable hotkeys help widget for VIM and other apps
|
||||||
-- when client with a matching name is opened:
|
-- when client with a matching name is opened:
|
||||||
|
@ -45,12 +50,21 @@ end
|
||||||
|
|
||||||
-- {{{ Variable definitions
|
-- {{{ Variable definitions
|
||||||
-- Themes define colours, icons, font and wallpapers.
|
-- Themes define colours, icons, font and wallpapers.
|
||||||
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
-- beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
||||||
|
beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua")
|
||||||
|
|
||||||
-- This is used later as the default terminal and editor to run.
|
-- This is used later as the default terminal and editor to run.
|
||||||
terminal = "alacritty msg create-window"
|
-- terminal = "alacritty"
|
||||||
|
terminal = function()
|
||||||
|
local is_running = os.execute("pgrep alacritty")
|
||||||
|
if is_running == nil then
|
||||||
|
return "alacritty"
|
||||||
|
else
|
||||||
|
return "alacritty msg create-window"
|
||||||
|
end
|
||||||
|
end
|
||||||
editor = os.getenv("EDITOR") or "nano"
|
editor = os.getenv("EDITOR") or "nano"
|
||||||
editor_cmd = terminal .. " -e " .. editor
|
editor_cmd = terminal() .. " -e " .. editor
|
||||||
|
|
||||||
-- Default modkey.
|
-- Default modkey.
|
||||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||||
|
@ -62,6 +76,8 @@ modkey = "Mod4"
|
||||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||||
awful.layout.layouts = {
|
awful.layout.layouts = {
|
||||||
awful.layout.suit.tile,
|
awful.layout.suit.tile,
|
||||||
|
awful.layout.suit.max,
|
||||||
|
awful.layout.suit.max.fullscreen,
|
||||||
awful.layout.suit.tile.left,
|
awful.layout.suit.tile.left,
|
||||||
awful.layout.suit.tile.bottom,
|
awful.layout.suit.tile.bottom,
|
||||||
awful.layout.suit.tile.top,
|
awful.layout.suit.tile.top,
|
||||||
|
@ -69,8 +85,6 @@ awful.layout.layouts = {
|
||||||
awful.layout.suit.fair.horizontal,
|
awful.layout.suit.fair.horizontal,
|
||||||
awful.layout.suit.spiral,
|
awful.layout.suit.spiral,
|
||||||
awful.layout.suit.spiral.dwindle,
|
awful.layout.suit.spiral.dwindle,
|
||||||
awful.layout.suit.max,
|
|
||||||
awful.layout.suit.max.fullscreen,
|
|
||||||
awful.layout.suit.magnifier,
|
awful.layout.suit.magnifier,
|
||||||
awful.layout.suit.corner.nw,
|
awful.layout.suit.corner.nw,
|
||||||
awful.layout.suit.floating,
|
awful.layout.suit.floating,
|
||||||
|
@ -84,7 +98,7 @@ awful.layout.layouts = {
|
||||||
-- Create a launcher widget and a main menu
|
-- Create a launcher widget and a main menu
|
||||||
myawesomemenu = {
|
myawesomemenu = {
|
||||||
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||||
{ "manual", terminal .. " -e man awesome" },
|
{ "manual", terminal() .. " -e man awesome" },
|
||||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||||
{ "restart", awesome.restart },
|
{ "restart", awesome.restart },
|
||||||
-- { "quit", function() awesome.quit() end },
|
-- { "quit", function() awesome.quit() end },
|
||||||
|
@ -92,7 +106,7 @@ myawesomemenu = {
|
||||||
}
|
}
|
||||||
|
|
||||||
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||||
{ "open terminal", terminal }
|
{ "open terminal", terminal() }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -100,7 +114,7 @@ mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||||
menu = mymainmenu })
|
menu = mymainmenu })
|
||||||
|
|
||||||
-- Menubar configuration
|
-- Menubar configuration
|
||||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
menubar.utils.terminal = terminal() -- Set the terminal for applications that require it
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- Keyboard map indicator and switcher
|
-- Keyboard map indicator and switcher
|
||||||
|
@ -159,7 +173,7 @@ local function set_wallpaper(s)
|
||||||
if type(wallpaper) == "function" then
|
if type(wallpaper) == "function" then
|
||||||
wallpaper = wallpaper(s)
|
wallpaper = wallpaper(s)
|
||||||
end
|
end
|
||||||
gears.wallpaper.maximized(wallpaper, s, true)
|
gears.wallpaper.maximized(wallpaper, s, false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -212,7 +226,26 @@ awful.screen.connect_for_each_screen(function(s)
|
||||||
s.mytasklist, -- Middle widget
|
s.mytasklist, -- Middle widget
|
||||||
{ -- Right widgets
|
{ -- Right widgets
|
||||||
layout = wibox.layout.fixed.horizontal,
|
layout = wibox.layout.fixed.horizontal,
|
||||||
mykeyboardlayout,
|
-- mykeyboardlayout,
|
||||||
|
-- weather_widget(
|
||||||
|
-- {
|
||||||
|
-- api_key = "f6497dd133dd22b541abc8bbe8360f3b",
|
||||||
|
-- APPID = "f6497dd133dd22b541abc8bbe8360f3b",
|
||||||
|
-- coordinates = {40.689, -73.983},
|
||||||
|
-- city_id = 5110302,
|
||||||
|
-- }
|
||||||
|
-- ),
|
||||||
|
lain.widget.weather({
|
||||||
|
APPID = "f6497dd133dd22b541abc8bbe8360f3b",
|
||||||
|
city_id = 5110302,
|
||||||
|
units = "imperial",
|
||||||
|
}).icon,
|
||||||
|
cpu_widget(),
|
||||||
|
ram_widget({
|
||||||
|
widget_height = 48,
|
||||||
|
widget_width = 48,
|
||||||
|
color_buf = beautiful.fg_normal,
|
||||||
|
}),
|
||||||
wibox.widget.systray(),
|
wibox.widget.systray(),
|
||||||
mytextclock,
|
mytextclock,
|
||||||
s.mylayoutbox,
|
s.mylayoutbox,
|
||||||
|
@ -276,7 +309,7 @@ globalkeys = gears.table.join(
|
||||||
{description = "go back", group = "client"}),
|
{description = "go back", group = "client"}),
|
||||||
|
|
||||||
-- Standard program
|
-- Standard program
|
||||||
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
|
awful.key({ modkey, }, "Return", function () awful.spawn(terminal()) end,
|
||||||
{description = "open a terminal", group = "launcher"}),
|
{description = "open a terminal", group = "launcher"}),
|
||||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||||
{description = "reload awesome", group = "awesome"}),
|
{description = "reload awesome", group = "awesome"}),
|
||||||
|
@ -327,7 +360,7 @@ globalkeys = gears.table.join(
|
||||||
end,
|
end,
|
||||||
{description = "lua execute prompt", group = "awesome"}),
|
{description = "lua execute prompt", group = "awesome"}),
|
||||||
-- Menubar
|
-- Menubar
|
||||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
awful.key({ modkey }, "p", function() os.execute("dmenu_run") end,
|
||||||
{description = "show the menubar", group = "launcher"})
|
{description = "show the menubar", group = "launcher"})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -498,6 +531,10 @@ awful.rules.rules = {
|
||||||
-- Set Firefox to always map on the tag named "2" on screen 1.
|
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||||
-- { rule = { class = "Firefox" },
|
-- { rule = { class = "Firefox" },
|
||||||
-- properties = { screen = 1, tag = "2" } },
|
-- properties = { screen = 1, tag = "2" } },
|
||||||
|
{ rule = { class = "KeePassXC" }, properties = { screen = 1, tag = "1" } },
|
||||||
|
{ rule = { class = "bottom" }, properties = { screen = 1, tag = "2" } },
|
||||||
|
{ rule = { class = "qutebrowser" }, properties = { screen = 1, tag = "3" } },
|
||||||
|
{ rule = { class = "Alacritty" }, properties = { screen = 1, tag = "4" } },
|
||||||
}
|
}
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
|
@ -556,6 +593,9 @@ client.connect_signal("request::titlebars", function(c)
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- Autostart items
|
||||||
|
awful.spawn.with_shell("~/.config/awesome/autorun.sh")
|
||||||
|
|
||||||
-- Enable sloppy focus, so that focus follows mouse.
|
-- Enable sloppy focus, so that focus follows mouse.
|
||||||
client.connect_signal("mouse::enter", function(c)
|
client.connect_signal("mouse::enter", function(c)
|
||||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||||
|
|
Loading…
Reference in a new issue