Browse Source

update awesome config

master
Schneider 5 years ago
parent
commit
72ba41b49d
Signed by: schneider GPG Key ID: 3F50B02A50039F3B
  1. 2
      awesome/awesome-wm-widgets
  2. 164
      awesome/rc.lua

2
awesome/awesome-wm-widgets

@ -1 +1 @@
Subproject commit 6fc9f668491ecdb19578a0ac6c5a1be0b8b42881
Subproject commit 257dff3b6c85444f4477db6a8ae34865b86119a5

164
awesome/rc.lua

@ -1,3 +1,7 @@
-- If LuaRocks is installed, make sure that packages installed through it are
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
pcall(require, "luarocks.loader")
-- Standard awesome library -- Standard awesome library
local gears = require("gears") local gears = require("gears")
local awful = require("awful") local awful = require("awful")
@ -9,7 +13,7 @@ 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 hotkeys_popup = require("awful.hotkeys_popup").widget
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:
require("awful.hotkeys_popup.keys") require("awful.hotkeys_popup.keys")
@ -17,8 +21,6 @@ require("awful.hotkeys_popup.keys")
-- Load Debian menu entries -- Load Debian menu entries
local debian = require("debian.menu") local debian = require("debian.menu")
local has_fdo, freedesktop = pcall(require, "freedesktop") local has_fdo, freedesktop = pcall(require, "freedesktop")
-- Improve startup time of menubar
menubar.menu_gen.lookup_category_icons = function() end
-- {{{ Error handling -- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to -- Check if awesome encountered an error during startup and fell back to
@ -63,18 +65,18 @@ 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.floating,
awful.layout.suit.tile, awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom, awful.layout.suit.tile.bottom,
awful.layout.suit.tile.left,
awful.layout.suit.tile.top, awful.layout.suit.tile.top,
awful.layout.suit.fair, awful.layout.suit.fair,
awful.layout.suit.fair.horizontal, awful.layout.suit.fair.horizontal,
awful.layout.suit.spiral,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier,
awful.layout.suit.floating,
--awful.layout.suit.spiral,
--awful.layout.suit.spiral.dwindle,
--awful.layout.suit.max,
--awful.layout.suit.max.fullscreen,
--awful.layout.suit.magnifier,
--awful.layout.suit.corner.nw, --awful.layout.suit.corner.nw,
-- awful.layout.suit.corner.ne, -- awful.layout.suit.corner.ne,
-- awful.layout.suit.corner.sw, -- awful.layout.suit.corner.sw,
@ -82,29 +84,14 @@ awful.layout.layouts = {
} }
-- }}} -- }}}
-- {{{ Helper functions
local function client_menu_toggle_fn()
local instance = nil
return function ()
if instance and instance.wibox.visible then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ theme = { width = 250 } })
end
end
end
-- }}}
-- {{{ Menu -- {{{ Menu
-- Create a launcher widget and a main menu -- Create a launcher widget and a main menu
myawesomemenu = { myawesomemenu = {
{ "hotkeys", function() return false, hotkeys_popup.show_help 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 },
} }
local menu_awesome = { "awesome", myawesomemenu, beautiful.awesome_icon } local menu_awesome = { "awesome", myawesomemenu, beautiful.awesome_icon }
@ -131,19 +118,12 @@ mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
-- 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
menubar.cache_entries = true
-- }}} -- }}}
-- Keyboard map indicator and switcher -- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout() mykeyboardlayout = awful.widget.keyboardlayout()
-- {{{ Wibar -- {{{ Wibar
-- imports
local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
local volume_control = require("volume-control")
volumecfg = volume_control {device="pulse"}
-- Create a textclock widget -- Create a textclock widget
mytextclock = wibox.widget.textclock() mytextclock = wibox.widget.textclock()
@ -170,19 +150,16 @@ local tasklist_buttons = gears.table.join(
if c == client.focus then if c == client.focus then
c.minimized = true c.minimized = true
else else
-- Without this, the following
-- :isvisible() makes no sense
c.minimized = false
if not c:isvisible() and c.first_tag then
c.first_tag:view_only()
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
c:emit_signal(
"request::activate",
"tasklist",
{raise = true}
)
end end
end), end),
awful.button({ }, 3, client_menu_toggle_fn()),
awful.button({ }, 3, function()
awful.menu.client_list({ theme = { width = 250 } })
end),
awful.button({ }, 4, function () awful.button({ }, 4, function ()
awful.client.focus.byidx(1) awful.client.focus.byidx(1)
end), end),
@ -205,6 +182,10 @@ end
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper) screen.connect_signal("property::geometry", set_wallpaper)
local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
local volume_control = require("volume-control")
volumecfg = volume_control {device="pulse"}
awful.screen.connect_for_each_screen(function(s) awful.screen.connect_for_each_screen(function(s)
-- Wallpaper -- Wallpaper
set_wallpaper(s) set_wallpaper(s)
@ -223,18 +204,22 @@ awful.screen.connect_for_each_screen(function(s)
awful.button({ }, 4, function () awful.layout.inc( 1) end), awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end))) awful.button({ }, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget -- Create a taglist widget
s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, taglist_buttons)
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Create a tasklist widget -- Create a tasklist widget
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons)
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons
}
-- Create the wibox -- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s }) s.mywibox = awful.wibar({ position = "top", screen = s })
local sep = wibox.widget {
widget = wibox.widget.separator
}
-- Add widgets to the wibox -- Add widgets to the wibox
s.mywibox:setup { s.mywibox:setup {
layout = wibox.layout.align.horizontal, layout = wibox.layout.align.horizontal,
@ -248,10 +233,10 @@ awful.screen.connect_for_each_screen(function(s)
{ -- Right widgets { -- Right widgets
layout = wibox.layout.fixed.horizontal, layout = wibox.layout.fixed.horizontal,
cpu_widget(), cpu_widget(),
sep,
ram_widget(), ram_widget(),
sep, sep,
volumecfg.widget, volumecfg.widget,
sep,
mykeyboardlayout, mykeyboardlayout,
wibox.widget.systray(), wibox.widget.systray(),
mytextclock, mytextclock,
@ -320,8 +305,8 @@ globalkeys = gears.table.join(
{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"}),
awful.key({ modkey, "Shift" }, "q", awesome.quit,
{description = "quit awesome", group = "awesome"}),
--awful.key({ modkey, "Shift" }, "q", awesome.quit,
--{description = "quit awesome", group = "awesome"}),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end, awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}), {description = "increase master width factor", group = "layout"}),
@ -345,8 +330,9 @@ globalkeys = gears.table.join(
local c = awful.client.restore() local c = awful.client.restore()
-- Focus restored client -- Focus restored client
if c then if c then
client.focus = c
c:raise()
c:emit_signal(
"request::activate", "key.unminimize", {raise = true}
)
end end
end, end,
{description = "restore minimized", group = "client"}), {description = "restore minimized", group = "client"}),
@ -367,19 +353,7 @@ globalkeys = gears.table.join(
{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() menubar.show() end,
{description = "show the menubar", group = "launcher"}),
-- Volume
awful.key({}, "XF86AudioRaiseVolume", function() volumecfg:up() end),
awful.key({}, "XF86AudioLowerVolume", function() volumecfg:down() end),
awful.key({}, "XF86AudioMute", function() volumecfg:toggle() end),
-- applications
awful.key({}, "XF86Calculator", function() awful.util.spawn("qalculate-gtk") end),
awful.key({}, "XF86Launch5", function() awful.util.spawn_with_shell("echo -e 'connect 44:EA:D8:39:BB:4B\nquit' | bluetoothctl") end),
awful.key({}, "XF86Launch6", function() awful.util.spawn_with_shell("echo -e 'disconnect 44:EA:D8:39:BB:4B\nquit' | bluetoothctl") end),
awful.key({}, "Print", function() awful.util.spawn_with_shell("spectacle") end),
awful.key({ modkey }, "Print", function() awful.util.spawn_with_shell("spectacle -r") end)
{description = "show the menubar", group = "launcher"})
) )
clientkeys = gears.table.join( clientkeys = gears.table.join(
@ -477,9 +451,18 @@ for i = 1, 9 do
end end
clientbuttons = gears.table.join( clientbuttons = gears.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
-- Set keys -- Set keys
root.keys(globalkeys) root.keys(globalkeys)
@ -506,23 +489,28 @@ awful.rules.rules = {
instance = { instance = {
"DTA", -- Firefox addon DownThemAll. "DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class. "copyq", -- Includes session name in class.
"pinentry",
}, },
class = { class = {
"Arandr", "Arandr",
"Blueman-manager",
"Gpick", "Gpick",
"Kruler", "Kruler",
"MessageWin", -- kalarm. "MessageWin", -- kalarm.
"Sxiv", "Sxiv",
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui", "Wpa_gui",
"pinentry",
"veromix", "veromix",
"xtightvncviewer"}, "xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = { name = {
"Event Tester", -- xev. "Event Tester", -- xev.
}, },
role = { role = {
"AlarmWindow", -- Thunderbird's calendar. "AlarmWindow", -- Thunderbird's calendar.
"ConfigManager", -- Thunderbird's about:config.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools. "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
} }
}, properties = { floating = true }}, }, properties = { floating = true }},
@ -545,8 +533,8 @@ client.connect_signal("manage", function (c)
-- i.e. put it at the end of others instead of setting it master. -- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end -- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup and
not c.size_hints.user_position
if awesome.startup
and not c.size_hints.user_position
and not c.size_hints.program_position then and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes. -- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c) awful.placement.no_offscreen(c)
@ -558,13 +546,11 @@ client.connect_signal("request::titlebars", function(c)
-- buttons for the titlebar -- buttons for the titlebar
local buttons = gears.table.join( local buttons = gears.table.join(
awful.button({ }, 1, function() awful.button({ }, 1, function()
client.focus = c
c:raise()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c) awful.mouse.client.move(c)
end), end),
awful.button({ }, 3, function() awful.button({ }, 3, function()
client.focus = c
c:raise()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c) awful.mouse.client.resize(c)
end) end)
) )
@ -597,31 +583,25 @@ end)
-- 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)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end) end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}} -- }}}
-- Autostart {{{
-- Autorun programs{{{
autorun = true autorun = true
autorunApps = autorunApps =
{ {
"nextcloud",
"clementine",
"keepassxc",
"keepass",
"clementine"
} }
if autorun then if autorun then
awful.util.spawn("sleep 1")
for app = 1, #autorunApps do for app = 1, #autorunApps do
awful.util.spawn(autorunApps[app])
end
awful.spawn.with_shell(autorunApps[app])
end end
-- }}}
end--}}}
-- own settings {{{
awful.spawn.with_shell("~/.config/awesome/autorun.sh") awful.spawn.with_shell("~/.config/awesome/autorun.sh")
-- }}}
Loading…
Cancel
Save