Working on making Xmonad and Awesome bindings match.

This commit is contained in:
Derek Taylor 2022-07-04 12:44:55 -05:00
parent 242bb8d2b3
commit 63c984de13
5 changed files with 462 additions and 532 deletions

View File

@ -14,6 +14,7 @@
- [[#variable-definitions][Variable definitions]] - [[#variable-definitions][Variable definitions]]
- [[#tags-and-layouts][Tags and Layouts]] - [[#tags-and-layouts][Tags and Layouts]]
- [[#menu][Menu]] - [[#menu][Menu]]
- [[#system-sounds][System Sounds]]
- [[#screen-and-wallpaper][Screen and wallpaper]] - [[#screen-and-wallpaper][Screen and wallpaper]]
- [[#mouse-bindings][Mouse bindings]] - [[#mouse-bindings][Mouse bindings]]
- [[#keybindings][Keybindings]] - [[#keybindings][Keybindings]]
@ -131,18 +132,15 @@ means you only have to change the value here to make changes globally.
#+BEGIN_SRC lua #+BEGIN_SRC lua
local modkey = "Mod4" local modkey = "Mod4"
local altkey = "Mod1" local altkey = "Mod1"
local modkey1 = "Control" local ctrlkey = "Control"
-- personal variables -- personal variables
local browser = "firefox"
local editor = os.getenv("EDITOR") or "vim"
local editorgui = "geany"
local filemanager = "pcmanfm"
local mailclient = "geary"
local mediaplayer = "vlc"
local scrlocker = "slimlock"
local terminal = "alacritty" local terminal = "alacritty"
local virtualmachine = "virtualbox" local browser = "qutebrowser"
local editor = os.getenv("EDITOR") or "vim"
local emacs = "emacsclient -c -a 'emacs' "
local mediaplayer = "mpv"
local soundplayer = "ffplay -nodisp -autoexit " -- The program that will play system sounds
#+END_SRC #+END_SRC
* Tags and Layouts * Tags and Layouts
@ -264,6 +262,26 @@ awful.util.mymainmenu = freedesktop.menu.build({
--menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it --menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it
#+END_SRC #+END_SRC
* System Sounds
Available sounds that are part of the default =dtos-sounds= package include:
+ menu-01.mp3
+ menu-02.mp3
+ menu-03.mp3
+ shutdown-01.mp3
+ shutdown-02.mp3
+ shutdown-03.mp3
+ startup-01.mp3
+ startup-02.mp3
+ startup-03.mp3
#+begin_src lua
local soundDir = "/opt/dtos-sounds/" -- The directory that has the sound files
local startupSound = soundDir .. "startup-01.mp3"
local shutdownSound = soundDir .. "shutdown-01.mp3"
local dmenuSound = soundDir .. "menu-01.mp3"
#+end_src
* Screen and wallpaper * Screen and wallpaper
You can set wallpaper with awesome. This is optional, of course. Otherwise, just set wallpaper with your preferred wallpaper utility (such as nitrogen or feh). You can set wallpaper with awesome. This is optional, of course. Otherwise, just set wallpaper with your preferred wallpaper utility (such as nitrogen or feh).
#+BEGIN_SRC lua #+BEGIN_SRC lua
@ -315,197 +333,26 @@ root.buttons(my_table.join(
| MODKEY + period | switch focus to next monitor | | MODKEY + period | switch focus to next monitor |
| MODKEY + comma | switch focus to prev monitor | | MODKEY + comma | switch focus to prev monitor |
#+BEGIN_SRC lua #+BEGIN_SRC lua
globalkeys = my_table.join( globalkeys = my_table.join(
-- {{{ Personal keybindings -- {{{ Personal keybindings
-- dmenu
awful.key({ modkey, "Shift" }, "Return",
function ()
awful.spawn(string.format("dmenu_run",
beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
end,
{description = "show dmenu", group = "hotkeys"}),
-- My dmenu scripts (Alt+Ctrl+Key) -- Awesome keybindings
awful.key({ altkey, "Control" }, "e", function () awful.util.spawn( "./.dmenu/dmenu-edit-configs.sh" ) end, awful.key({ modkey, }, "Return", function () awful.spawn( terminal ) end,
{description = "edit config files" , group = "dmenu scripts" }), {description = "Launch terminal", group = "awesome"}),
awful.key({ altkey, "Control" }, "m", function () awful.util.spawn( "./.dmenu/dmenu-sysmon.sh" ) end, awful.key({ modkey, }, "b", function () awful.spawn( "qutebrowser" ) end,
{description = "system monitoring apps" , group = "dmenu scripts" }), {description = "Launch qutebrowser", group = "awesome"}),
awful.key({ altkey, "Control" }, "p", function () awful.util.spawn( "passmenu" ) end, awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "passmenu" , group = "dmenu scripts" }), {description = "Reload awesome", group = "awesome"}),
awful.key({ altkey, "Control" }, "s", function () awful.util.spawn( "./.dmenu/dmenu-surfraw.sh" ) end, awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell("dm-logout") end,
{description = "surfraw web search" , group = "dmenu scripts" }), {description = "Quit awesome", group = "awesome"}),
awful.key({ altkey, "Control" }, "t", function () awful.util.spawn( "./.dmenu/dmenu-trading.sh" ) end, awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "trading programs" , group = "dmenu scripts" }), {description = "Show help", group="awesome"}),
awful.key({ modkey, "Shift" }, "w", function () awful.util.mymainmenu:show() end,
-- My applications (Super+Alt+Key) {description = "Show main menu", group = "awesome"}),
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( terminal.." -e ncpamixer" ) end, awful.key({ modkey, "Shift" }, "b", function ()
{description = "ncpamixer" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "b", function () awful.util.spawn( "surf www.youtube.com/c/DistroTube" ) end,
{description = "surf web browser" , group = "gui apps" }),
awful.key({ modkey, altkey }, "c", function () awful.util.spawn( terminal.." -e cmus" ) end,
{description = "cmus" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "e", function () awful.util.spawn( terminal.." -e neomutt" ) end,
{description = "neomutt email" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "f", function () awful.util.spawn( terminal.." -e sh ./.config/vifm/scripts/vifmrun" ) end,
{description = "vifm" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "i", function () awful.util.spawn( terminal.." -e irssi" ) end,
{description = "irssi" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "j", function () awful.util.spawn( terminal.." -e joplin" ) end,
{description = "joplin" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "l", function () awful.util.spawn( terminal.." -e lynx --cfg=~/.lynx/lynx.cfg --lss=~/.lynx/lynx.lss -vikeys gopher://distro.tube" ) end,
{description = "lynx cli browser" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "m", function () awful.util.spawn( terminal.." -e toot curses" ) end,
{description = "toot curses" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "n", function () awful.util.spawn( terminal.." -e newsboat" ) end,
{description = "newsboat" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "p", function () awful.util.spawn( terminal.." -e pianobar" ) end,
{description = "pianobar" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "r", function () awful.util.spawn( terminal.." -e rtv" ) end,
{description = "rtv" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "w", function () awful.util.spawn( terminal.." -e wopr report.xml" ) end,
{description = "wopr report.xml" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "y", function () awful.util.spawn( terminal.." -e youtube-viewer" ) end,
{description = "youtube-viewer" , group = "terminal apps" }),
-- screenshots
awful.key({ }, "Print", function () awful.util.spawn("scrot 'ArcoLinuxD-%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f $$(xdg-user-dir PICTURES)'") end,
{description = "Scrot", group = "screenshots"}),
awful.key({ modkey1 }, "Print", function () awful.util.spawn( "xfce4-screenshooter" ) end,
{description = "Xfce screenshot", group = "screenshots"}),
awful.key({ modkey1, "Shift" }, "Print", function() awful.util.spawn("gnome-screenshot -i") end,
{description = "Gnome screenshot", group = "screenshots"}),
-- Personal keybindings}}}
-- Hotkeys Awesome
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "show help", group="awesome"}),
-- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- Tag browsing alt + tab
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Tag browsing modkey + tab
awful.key({ modkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Non-empty tag browsing
--awful.key({ modkey }, "Left", function () lain.util.tag_view_nonempty(-1) end,
--{description = "view previous nonempty", group = "tag"}),
-- awful.key({ modkey }, "Right", function () lain.util.tag_view_nonempty(1) end,
-- {description = "view previous nonempty", group = "tag"}),
-- Default client focus
awful.key({ altkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ altkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
-- By direction client focus
awful.key({ modkey }, "j",
function()
awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end
end,
{description = "focus down", group = "client"}),
awful.key({ modkey }, "k",
function()
awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end
end,
{description = "focus up", group = "client"}),
awful.key({ modkey }, "h",
function()
awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end
end,
{description = "focus left", group = "client"}),
awful.key({ modkey }, "l",
function()
awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end
end,
{description = "focus right", group = "client"}),
-- By direction client focus with arrows
awful.key({ modkey1, modkey }, "Down",
function()
awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end
end,
{description = "focus down", group = "client"}),
awful.key({ modkey1, modkey }, "Up",
function()
awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end
end,
{description = "focus up", group = "client"}),
awful.key({ modkey1, modkey }, "Left",
function()
awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end
end,
{description = "focus left", group = "client"}),
awful.key({ modkey1, modkey }, "Right",
function()
awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end
end,
{description = "focus right", group = "client"}),
awful.key({ modkey, }, "w", function () awful.util.mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey }, ".", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey }, ",", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey1, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
for s in screen do for s in screen do
s.mywibox.visible = not s.mywibox.visible s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then if s.mybottomwibox then
@ -513,52 +360,169 @@ globalkeys = my_table.join(
end end
end end
end, end,
{description = "toggle wibox", group = "awesome"}), {description = "Show/hide wibox (bar)", group = "awesome"}),
-- Run launcher
awful.key({ modkey, "Shift" }, "Return", function () awful.util.spawn("dm-run") end,
{description = "Run launcher", group = "hotkeys"}),
-- Dmscripts (SUPER+ALT+Key)
awful.key({ modkey, altkey }, "h", function () awful.util.spawn( "dm-hub" ) end,
{description = "List all dmscripts" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( "dm-sounds" ) end,
{description = "Choose ambient sound" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "b", function () awful.util.spawn( "dm-setbg" ) end,
{description = "Set background" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "c", function () awful.util.spawn( "dtos-colorscheme" ) end,
{description = "Choose color scheme" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "e", function () awful.util.spawn( "dm-confedit" ) end,
{description = "Edit config files" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "i", function () awful.util.spawn( "dm-maim" ) end,
{description = "Take a screenshot" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "k", function () awful.util.spawn( "dm-kill" ) end,
{description = "Kill processes" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "m", function () awful.util.spawn( "dm-man" ) end,
{description = "View manpages" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "n", function () awful.util.spawn( "dm-note" ) end,
{description = "Store and copy notes" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "o", function () awful.util.spawn( "dm-bookman" ) end,
{description = "Browser bookmarks" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "p", function () awful.util.spawn( "passmenu -p \"Pass: \"" ) end,
{description = "Passmenu" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "q", function () awful.util.spawn( "dm-logout" ) end,
{description = "Logout menu" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "r", function () awful.util.spawn( "dm-radio" ) end,
{description = "Listen to online radio" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "s", function () awful.util.spawn( "dm-websearch" ) end,
{description = "Seaarch various engines" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "t", function () awful.util.spawn( "dm-translate" ) end,
{description = "Translate text" , group = "dmenu scripts" }),
-- My dmenu scripts (SUPER+CTRL+Key)
awful.key({ modkey, ctrlkey }, "e", function () awful.util.spawn( emacs .. "--eval '(dashboard-refresh-buffer)'") end,
{description = "Emacsclient Dashboard" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "a", function () awful.util.spawn( emacs .. "--eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/\")'") end,
{description = "Emacsclient EMMS (music)" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "b", function () awful.util.spawn( emacs .. "--eval '(ibuffer)'") end,
{description = "Emacsclient Ibuffer" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "d", function () awful.util.spawn( emacs .. "--eval '(dired nil)'") end,
{description = "Emacsclient Dired" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "i", function () awful.util.spawn( emacs .. "--eval '(erc)'") end,
{description = "Emacsclient ERC (IRC)" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "n", function () awful.util.spawn( emacs .. "--eval '(elfeed)'") end,
{description = "Emacsclient Elfeed" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "s", function () awful.util.spawn( emacs .. "--eval '(eshell)'") end,
{description = "Emacsclient Eshell" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "v", function () awful.util.spawn( emacs .. "--eval '(+vterm/here nil)'") end,
{description = "Emacsclient Vterm" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "w", function () awful.util.spawn( emacs .. "--eval '(doom/window-maximize-buffer(eww \"distro.tube\"))'") end,
{description = "Emacsclient EWW Browser" , group = "Emacs" }),
-- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- Tag browsing ALT+TAB (ALT+SHIFT+TAB)
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Non-empty tag browsing CTRL+TAB (CTRL+SHIFT+TAB)
awful.key({ ctrlkey }, "Tab", function () lain.util.tag_view_nonempty(-1) end,
{description = "view previous nonempty", group = "tag"}),
awful.key({ ctrlkey, "Shift" }, "Tab", function () lain.util.tag_view_nonempty(1) end,
{description = "view previous nonempty", group = "tag"}),
-- Default client focus
awful.key({ modkey, }, "j", function () awful.client.focus.byidx( 1) end,
{description = "Focus next by index", group = "client"}),
awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end,
{description = "Focus previous by index", group = "client"}),
-- By direction client focus
awful.key({ altkey }, "j", function() awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end end,
{description = "Focus down", group = "client"}),
awful.key({ altkey }, "k", function() awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end end,
{description = "Focus up", group = "client"}),
awful.key({ altkey }, "h", function() awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end end,
{description = "Focus left", group = "client"}),
awful.key({ altkey }, "l", function() awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end end,
{description = "Focus right", group = "client"}),
-- By direction client focus with arrows
awful.key({ ctrlkey, modkey }, "Down", function() awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end end,
{description = "Focus down", group = "client"}),
awful.key({ ctrlkey, modkey }, "Up", function() awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end end,
{description = "Focus up", group = "client"}),
awful.key({ ctrlkey, modkey }, "Left", function() awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end end,
{description = "Focus left", group = "client"}),
awful.key({ ctrlkey, modkey }, "Right", function() awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end end,
{description = "Focus right", group = "client"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey }, ".", function () awful.screen.focus_relative(1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey }, ",", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ ctrlkey, }, "Tab", function () awful.client.focus.history.previous()
if client.focus then client.focus:raise() end end,
{description = "go back", group = "client"}),
-- On the fly useless gaps change -- On the fly useless gaps change
awful.key({ altkey, "Control" }, "j", function () lain.util.useless_gaps_resize(1) end, awful.key({ altkey, ctrlkey }, "j", function () lain.util.useless_gaps_resize(1) end,
{description = "increment useless gaps", group = "tag"}), {description = "increment useless gaps", group = "tag"}),
awful.key({ altkey, "Control" }, "l", function () lain.util.useless_gaps_resize(-1) end, awful.key({ altkey, ctrlkey }, "l", function () lain.util.useless_gaps_resize(-1) end,
{description = "decrement useless gaps", group = "tag"}), {description = "decrement useless gaps", group = "tag"}),
-- Dynamic tagging -- Dynamic tagging
awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end, awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
{description = "add new tag", group = "tag"}), {description = "add new tag", group = "tag"}),
awful.key({ modkey, "Control" }, "r", function () lain.util.rename_tag() end, awful.key({ modkey, ctrlkey }, "r", function () lain.util.rename_tag() end,
{description = "rename tag", group = "tag"}), {description = "rename tag", group = "tag"}),
awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end, awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
{description = "move tag to the left", group = "tag"}), {description = "move tag to the left", group = "tag"}),
awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end, awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
{description = "move tag to the right", group = "tag"}), {description = "move tag to the right", group = "tag"}),
awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end, awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
{description = "delete tag", group = "tag"}), {description = "delete tag", group = "tag"}),
-- Standard program awful.key({ modkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end,
awful.key({ modkey, }, "Return", function () awful.spawn( terminal.." -e fish" ) end, {description = "increase master width factor", group = "layout"}),
{description = "terminal with fish shell", group = "super"}), awful.key({ modkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
awful.key({ modkey, "Shift" }, "r", awesome.restart, {description = "decrease master width factor", group = "layout"}),
{description = "reload awesome", group = "awesome"}), awful.key({ modkey, "Shift" }, "Up", function () awful.tag.incnmaster( 1, nil, true) end,
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell( '~/.dmenu/prompt "are you sure?" "killall awesome"' ) end, {description = "increase the number of master clients", group = "layout"}),
{description = "quit awesome", group = "awesome"}), awful.key({ modkey, "Shift" }, "Down", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, ctrlkey }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, ctrlkey }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "Tab", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "Tab", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end, awful.key({ modkey, ctrlkey }, "n",
{description = "increase master width factor", group = "layout"}),
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
--awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
-- {description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function () function ()
local c = awful.client.restore() local c = awful.client.restore()
-- Focus restored client -- Focus restored client
@ -575,26 +539,26 @@ globalkeys = my_table.join(
-- Widgets popups -- Widgets popups
awful.key({ altkey, }, "c", function () lain.widget.cal.show(7) end, awful.key({ altkey, }, "c", function () lain.widget.cal.show(7) end,
{description = "show calendar", group = "widgets"}), {description = "show calendar", group = "widgets"}),
awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end, awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end,
{description = "show filesystem", group = "widgets"}), {description = "show filesystem", group = "widgets"}),
awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end, awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end,
{description = "show weather", group = "widgets"}), {description = "show weather", group = "widgets"}),
-- Brightness -- Brightness
awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end, awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end,
{description = "+10%", group = "hotkeys"}), {description = "+10%", group = "hotkeys"}),
awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end, awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end,
{description = "-10%", group = "hotkeys"}), {description = "-10%", group = "hotkeys"}),
-- ALSA volume control -- ALSA volume control
--awful.key({ modkey1 }, "Up", --awful.key({ ctrlkey }, "Up",
awful.key({ }, "XF86AudioRaiseVolume", awful.key({ }, "XF86AudioRaiseVolume",
function () function ()
os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
--awful.key({ modkey1 }, "Down", --awful.key({ ctrlkey }, "Down",
awful.key({ }, "XF86AudioLowerVolume", awful.key({ }, "XF86AudioLowerVolume",
function () function ()
os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel))
@ -605,12 +569,12 @@ globalkeys = my_table.join(
os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel)) os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
awful.key({ modkey1, "Shift" }, "m", awful.key({ ctrlkey, "Shift" }, "m",
function () function ()
os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
awful.key({ modkey1, "Shift" }, "0", awful.key({ ctrlkey, "Shift" }, "0",
function () function ()
os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
@ -618,10 +582,10 @@ globalkeys = my_table.join(
-- Copy primary to clipboard (terminals to gtk) -- Copy primary to clipboard (terminals to gtk)
awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end, awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
{description = "copy terminal to gtk", group = "hotkeys"}), {description = "copy terminal to gtk", group = "hotkeys"}),
-- Copy clipboard to primary (gtk to terminals) -- Copy clipboard to primary (gtk to terminals)
awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end, awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
{description = "copy gtk to terminal", group = "hotkeys"}), {description = "copy gtk to terminal", group = "hotkeys"}),
-- Default -- Default
@ -645,37 +609,37 @@ globalkeys = my_table.join(
) )
clientkeys = my_table.join( clientkeys = my_table.join(
awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client, awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client,
{description = "magnify client", group = "client"}), {description = "magnify client", group = "client"}),
awful.key({ modkey, }, "f", awful.key({ modkey, }, "space",
function (c) function (c)
c.fullscreen = not c.fullscreen c.fullscreen = not c.fullscreen
c:raise() c:raise()
end, end,
{description = "toggle fullscreen", group = "client"}), {description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end, awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "hotkeys"}), {description = "close", group = "hotkeys"}),
awful.key({ modkey, "Shift" }, "space", awful.client.floating.toggle , awful.key({ modkey, }, "t", awful.client.floating.toggle,
{description = "toggle floating", group = "client"}), {description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, awful.key({ modkey, ctrlkey }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}), {description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, awful.key({ modkey, "Shift" }, "t", function (c) c.ontop = not c.ontop end,
{description = "move to screen", group = "client"}), {description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "toggle keep on top", group = "client"}), {description = "move to screen", group = "client"}),
awful.key({ modkey, }, "n", awful.key({ modkey, }, "n",
function (c) function (c)
-- The client currently has the input focus, so it cannot be -- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus. -- minimized, since minimized clients can't have the focus.
c.minimized = true c.minimized = true
end , end ,
{description = "minimize", group = "client"}), {description = "minimize", group = "client"}),
awful.key({ modkey, }, "m", awful.key({ modkey, }, "m",
function (c) function (c)
c.maximized = not c.maximized c.maximized = not c.maximized
c:raise() c:raise()
end , end ,
{description = "maximize", group = "client"}) {description = "maximize", group = "client"})
) )
-- Bind all key numbers to tags. -- Bind all key numbers to tags.
@ -702,7 +666,7 @@ for i = 1, 9 do
end, end,
descr_view), descr_view),
-- Toggle tag display. -- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9, awful.key({ modkey, ctrlkey }, "#" .. i + 9,
function () function ()
local screen = awful.screen.focused() local screen = awful.screen.focused()
local tag = screen.tags[i] local tag = screen.tags[i]
@ -723,7 +687,7 @@ for i = 1, 9 do
end, end,
descr_move), descr_move),
-- Toggle tag on focused client. -- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, awful.key({ modkey, ctrlkey, "Shift" }, "#" .. i + 9,
function () function ()
if client.focus then if client.focus then
local tag = client.focus.screen.tags[i] local tag = client.focus.screen.tags[i]
@ -798,9 +762,6 @@ awful.rules.rules = {
-- Set applications to be maximized at startup. -- Set applications to be maximized at startup.
-- find class or role via xprop command -- find class or role via xprop command
{ rule = { class = editorgui },
properties = { maximized = true } },
{ rule = { class = "Gimp*", role = "gimp-image-window" }, { rule = { class = "Gimp*", role = "gimp-image-window" },
properties = { maximized = true } }, properties = { maximized = true } },
@ -954,8 +915,20 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n
* Autostart * Autostart
#+BEGIN_SRC lua #+BEGIN_SRC lua
awful.spawn.with_shell("nitrogen --restore") awful.spawn.with_shell(soundplayer .. startupSound)
awful.spawn.with_shell("picom --config $HOME/.config/picom/picom.conf") awful.spawn.with_shell("lxsession")
awful.spawn.with_shell("picom")
awful.spawn.with_shell("nm-applet") awful.spawn.with_shell("nm-applet")
awful.spawn.with_shell("volumeicon") awful.spawn.with_shell("volumeicon")
awful.spawn.with_shell("sleep 2 && conky -c $HOME/.config/conky/xmonad/" .. "doom-one" .. "-01.conkyrc")
awful.spawn.with_shell("/usr/bin/emacs --daemon")
#+END_SRC
Select only =ONE= of the following four ways to set the wallpaper.
#+BEGIN_SRC lua
awful.spawn.with_shell("xargs xwallpaper --stretch < ~/.cache/wall")
--awful.spawn.with_shell("~/.fehbg") -- set last saved feh wallpaper
--awful.spawn.with_shell("feh --randomize --bg-fill /usr/share/backgrounds/dtos-backgrounds/*") -- feh sets random wallpaper
--awful.spawn.with_shell("nitrogen --restore") -- if you prefer nitrogen to feh/xwallpaper
#+END_SRC #+END_SRC

View File

@ -66,18 +66,15 @@ beautiful.init(theme_path)
local modkey = "Mod4" local modkey = "Mod4"
local altkey = "Mod1" local altkey = "Mod1"
local modkey1 = "Control" local ctrlkey = "Control"
-- personal variables -- personal variables
local browser = "firefox"
local editor = os.getenv("EDITOR") or "vim"
local editorgui = "geany"
local filemanager = "pcmanfm"
local mailclient = "geary"
local mediaplayer = "vlc"
local scrlocker = "slimlock"
local terminal = "alacritty" local terminal = "alacritty"
local virtualmachine = "virtualbox" local browser = "qutebrowser"
local editor = os.getenv("EDITOR") or "vim"
local emacs = "emacsclient -c -a 'emacs' "
local mediaplayer = "mpv"
local soundplayer = "ffplay -nodisp -autoexit " -- The program that will play system sounds
-- awesome variables -- awesome variables
awful.util.terminal = terminal awful.util.terminal = terminal
@ -188,6 +185,12 @@ awful.util.mymainmenu = freedesktop.menu.build({
}) })
--menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it --menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it
local soundDir = "/opt/dtos-sounds/" -- The directory that has the sound files
local startupSound = soundDir .. "startup-01.mp3"
local shutdownSound = soundDir .. "shutdown-01.mp3"
local dmenuSound = soundDir .. "menu-01.mp3"
-- 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", function(s) screen.connect_signal("property::geometry", function(s)
-- Wallpaper -- Wallpaper
@ -212,193 +215,21 @@ root.buttons(my_table.join(
globalkeys = my_table.join( globalkeys = my_table.join(
-- {{{ Personal keybindings -- {{{ Personal keybindings
-- dmenu
awful.key({ modkey, "Shift" }, "Return",
function ()
awful.spawn(string.format("dmenu_run",
beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
end,
{description = "show dmenu", group = "hotkeys"}),
-- My dmenu scripts (Alt+Ctrl+Key) -- Awesome keybindings
awful.key({ altkey, "Control" }, "e", function () awful.util.spawn( "./.dmenu/dmenu-edit-configs.sh" ) end, awful.key({ modkey, }, "Return", function () awful.spawn( terminal ) end,
{description = "edit config files" , group = "dmenu scripts" }), {description = "Launch terminal", group = "awesome"}),
awful.key({ altkey, "Control" }, "m", function () awful.util.spawn( "./.dmenu/dmenu-sysmon.sh" ) end, awful.key({ modkey, }, "b", function () awful.spawn( "qutebrowser" ) end,
{description = "system monitoring apps" , group = "dmenu scripts" }), {description = "Launch qutebrowser", group = "awesome"}),
awful.key({ altkey, "Control" }, "p", function () awful.util.spawn( "passmenu" ) end, awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "passmenu" , group = "dmenu scripts" }), {description = "Reload awesome", group = "awesome"}),
awful.key({ altkey, "Control" }, "s", function () awful.util.spawn( "./.dmenu/dmenu-surfraw.sh" ) end, awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell("dm-logout") end,
{description = "surfraw web search" , group = "dmenu scripts" }), {description = "Quit awesome", group = "awesome"}),
awful.key({ altkey, "Control" }, "t", function () awful.util.spawn( "./.dmenu/dmenu-trading.sh" ) end, awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "trading programs" , group = "dmenu scripts" }), {description = "Show help", group="awesome"}),
awful.key({ modkey, "Shift" }, "w", function () awful.util.mymainmenu:show() end,
-- My applications (Super+Alt+Key) {description = "Show main menu", group = "awesome"}),
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( terminal.." -e ncpamixer" ) end, awful.key({ modkey, "Shift" }, "b", function ()
{description = "ncpamixer" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "b", function () awful.util.spawn( "surf www.youtube.com/c/DistroTube" ) end,
{description = "surf web browser" , group = "gui apps" }),
awful.key({ modkey, altkey }, "c", function () awful.util.spawn( terminal.." -e cmus" ) end,
{description = "cmus" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "e", function () awful.util.spawn( terminal.." -e neomutt" ) end,
{description = "neomutt email" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "f", function () awful.util.spawn( terminal.." -e sh ./.config/vifm/scripts/vifmrun" ) end,
{description = "vifm" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "i", function () awful.util.spawn( terminal.." -e irssi" ) end,
{description = "irssi" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "j", function () awful.util.spawn( terminal.." -e joplin" ) end,
{description = "joplin" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "l", function () awful.util.spawn( terminal.." -e lynx --cfg=~/.lynx/lynx.cfg --lss=~/.lynx/lynx.lss -vikeys gopher://distro.tube" ) end,
{description = "lynx cli browser" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "m", function () awful.util.spawn( terminal.." -e toot curses" ) end,
{description = "toot curses" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "n", function () awful.util.spawn( terminal.." -e newsboat" ) end,
{description = "newsboat" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "p", function () awful.util.spawn( terminal.." -e pianobar" ) end,
{description = "pianobar" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "r", function () awful.util.spawn( terminal.." -e rtv" ) end,
{description = "rtv" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "w", function () awful.util.spawn( terminal.." -e wopr report.xml" ) end,
{description = "wopr report.xml" , group = "terminal apps" }),
awful.key({ modkey, altkey }, "y", function () awful.util.spawn( terminal.." -e youtube-viewer" ) end,
{description = "youtube-viewer" , group = "terminal apps" }),
-- screenshots
awful.key({ }, "Print", function () awful.util.spawn("scrot 'ArcoLinuxD-%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f $$(xdg-user-dir PICTURES)'") end,
{description = "Scrot", group = "screenshots"}),
awful.key({ modkey1 }, "Print", function () awful.util.spawn( "xfce4-screenshooter" ) end,
{description = "Xfce screenshot", group = "screenshots"}),
awful.key({ modkey1, "Shift" }, "Print", function() awful.util.spawn("gnome-screenshot -i") end,
{description = "Gnome screenshot", group = "screenshots"}),
-- Personal keybindings}}}
-- Hotkeys Awesome
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "show help", group="awesome"}),
-- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- Tag browsing alt + tab
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Tag browsing modkey + tab
awful.key({ modkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Non-empty tag browsing
--awful.key({ modkey }, "Left", function () lain.util.tag_view_nonempty(-1) end,
--{description = "view previous nonempty", group = "tag"}),
-- awful.key({ modkey }, "Right", function () lain.util.tag_view_nonempty(1) end,
-- {description = "view previous nonempty", group = "tag"}),
-- Default client focus
awful.key({ altkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ altkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
-- By direction client focus
awful.key({ modkey }, "j",
function()
awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end
end,
{description = "focus down", group = "client"}),
awful.key({ modkey }, "k",
function()
awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end
end,
{description = "focus up", group = "client"}),
awful.key({ modkey }, "h",
function()
awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end
end,
{description = "focus left", group = "client"}),
awful.key({ modkey }, "l",
function()
awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end
end,
{description = "focus right", group = "client"}),
-- By direction client focus with arrows
awful.key({ modkey1, modkey }, "Down",
function()
awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end
end,
{description = "focus down", group = "client"}),
awful.key({ modkey1, modkey }, "Up",
function()
awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end
end,
{description = "focus up", group = "client"}),
awful.key({ modkey1, modkey }, "Left",
function()
awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end
end,
{description = "focus left", group = "client"}),
awful.key({ modkey1, modkey }, "Right",
function()
awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end
end,
{description = "focus right", group = "client"}),
awful.key({ modkey, }, "w", function () awful.util.mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey }, ".", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey }, ",", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey1, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
for s in screen do for s in screen do
s.mywibox.visible = not s.mywibox.visible s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then if s.mybottomwibox then
@ -406,52 +237,169 @@ globalkeys = my_table.join(
end end
end end
end, end,
{description = "toggle wibox", group = "awesome"}), {description = "Show/hide wibox (bar)", group = "awesome"}),
-- Run launcher
awful.key({ modkey, "Shift" }, "Return", function () awful.util.spawn("dm-run") end,
{description = "Run launcher", group = "hotkeys"}),
-- Dmscripts (SUPER+ALT+Key)
awful.key({ modkey, altkey }, "h", function () awful.util.spawn( "dm-hub" ) end,
{description = "List all dmscripts" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( "dm-sounds" ) end,
{description = "Choose ambient sound" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "b", function () awful.util.spawn( "dm-setbg" ) end,
{description = "Set background" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "c", function () awful.util.spawn( "dtos-colorscheme" ) end,
{description = "Choose color scheme" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "e", function () awful.util.spawn( "dm-confedit" ) end,
{description = "Edit config files" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "i", function () awful.util.spawn( "dm-maim" ) end,
{description = "Take a screenshot" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "k", function () awful.util.spawn( "dm-kill" ) end,
{description = "Kill processes" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "m", function () awful.util.spawn( "dm-man" ) end,
{description = "View manpages" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "n", function () awful.util.spawn( "dm-note" ) end,
{description = "Store and copy notes" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "o", function () awful.util.spawn( "dm-bookman" ) end,
{description = "Browser bookmarks" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "p", function () awful.util.spawn( "passmenu -p \"Pass: \"" ) end,
{description = "Passmenu" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "q", function () awful.util.spawn( "dm-logout" ) end,
{description = "Logout menu" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "r", function () awful.util.spawn( "dm-radio" ) end,
{description = "Listen to online radio" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "s", function () awful.util.spawn( "dm-websearch" ) end,
{description = "Seaarch various engines" , group = "dmenu scripts" }),
awful.key({ modkey, altkey }, "t", function () awful.util.spawn( "dm-translate" ) end,
{description = "Translate text" , group = "dmenu scripts" }),
-- My dmenu scripts (SUPER+CTRL+Key)
awful.key({ modkey, ctrlkey }, "e", function () awful.util.spawn( emacs .. "--eval '(dashboard-refresh-buffer)'") end,
{description = "Emacsclient Dashboard" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "a", function () awful.util.spawn( emacs .. "--eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/\")'") end,
{description = "Emacsclient EMMS (music)" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "b", function () awful.util.spawn( emacs .. "--eval '(ibuffer)'") end,
{description = "Emacsclient Ibuffer" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "d", function () awful.util.spawn( emacs .. "--eval '(dired nil)'") end,
{description = "Emacsclient Dired" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "i", function () awful.util.spawn( emacs .. "--eval '(erc)'") end,
{description = "Emacsclient ERC (IRC)" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "n", function () awful.util.spawn( emacs .. "--eval '(elfeed)'") end,
{description = "Emacsclient Elfeed" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "s", function () awful.util.spawn( emacs .. "--eval '(eshell)'") end,
{description = "Emacsclient Eshell" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "v", function () awful.util.spawn( emacs .. "--eval '(+vterm/here nil)'") end,
{description = "Emacsclient Vterm" , group = "Emacs" }),
awful.key({ modkey, ctrlkey }, "w", function () awful.util.spawn( emacs .. "--eval '(doom/window-maximize-buffer(eww \"distro.tube\"))'") end,
{description = "Emacsclient EWW Browser" , group = "Emacs" }),
-- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- Tag browsing ALT+TAB (ALT+SHIFT+TAB)
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
-- Non-empty tag browsing CTRL+TAB (CTRL+SHIFT+TAB)
awful.key({ ctrlkey }, "Tab", function () lain.util.tag_view_nonempty(-1) end,
{description = "view previous nonempty", group = "tag"}),
awful.key({ ctrlkey, "Shift" }, "Tab", function () lain.util.tag_view_nonempty(1) end,
{description = "view previous nonempty", group = "tag"}),
-- Default client focus
awful.key({ modkey, }, "j", function () awful.client.focus.byidx( 1) end,
{description = "Focus next by index", group = "client"}),
awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end,
{description = "Focus previous by index", group = "client"}),
-- By direction client focus
awful.key({ altkey }, "j", function() awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end end,
{description = "Focus down", group = "client"}),
awful.key({ altkey }, "k", function() awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end end,
{description = "Focus up", group = "client"}),
awful.key({ altkey }, "h", function() awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end end,
{description = "Focus left", group = "client"}),
awful.key({ altkey }, "l", function() awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end end,
{description = "Focus right", group = "client"}),
-- By direction client focus with arrows
awful.key({ ctrlkey, modkey }, "Down", function() awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end end,
{description = "Focus down", group = "client"}),
awful.key({ ctrlkey, modkey }, "Up", function() awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end end,
{description = "Focus up", group = "client"}),
awful.key({ ctrlkey, modkey }, "Left", function() awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end end,
{description = "Focus left", group = "client"}),
awful.key({ ctrlkey, modkey }, "Right", function() awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end end,
{description = "Focus right", group = "client"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey }, ".", function () awful.screen.focus_relative(1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey }, ",", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ ctrlkey, }, "Tab", function () awful.client.focus.history.previous()
if client.focus then client.focus:raise() end end,
{description = "go back", group = "client"}),
-- On the fly useless gaps change -- On the fly useless gaps change
awful.key({ altkey, "Control" }, "j", function () lain.util.useless_gaps_resize(1) end, awful.key({ altkey, ctrlkey }, "j", function () lain.util.useless_gaps_resize(1) end,
{description = "increment useless gaps", group = "tag"}), {description = "increment useless gaps", group = "tag"}),
awful.key({ altkey, "Control" }, "l", function () lain.util.useless_gaps_resize(-1) end, awful.key({ altkey, ctrlkey }, "l", function () lain.util.useless_gaps_resize(-1) end,
{description = "decrement useless gaps", group = "tag"}), {description = "decrement useless gaps", group = "tag"}),
-- Dynamic tagging -- Dynamic tagging
awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end, awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
{description = "add new tag", group = "tag"}), {description = "add new tag", group = "tag"}),
awful.key({ modkey, "Control" }, "r", function () lain.util.rename_tag() end, awful.key({ modkey, ctrlkey }, "r", function () lain.util.rename_tag() end,
{description = "rename tag", group = "tag"}), {description = "rename tag", group = "tag"}),
awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end, awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
{description = "move tag to the left", group = "tag"}), {description = "move tag to the left", group = "tag"}),
awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end, awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
{description = "move tag to the right", group = "tag"}), {description = "move tag to the right", group = "tag"}),
awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end, awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
{description = "delete tag", group = "tag"}), {description = "delete tag", group = "tag"}),
-- Standard program awful.key({ modkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end,
awful.key({ modkey, }, "Return", function () awful.spawn( terminal.." -e fish" ) end, {description = "increase master width factor", group = "layout"}),
{description = "terminal with fish shell", group = "super"}), awful.key({ modkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
awful.key({ modkey, "Shift" }, "r", awesome.restart, {description = "decrease master width factor", group = "layout"}),
{description = "reload awesome", group = "awesome"}), awful.key({ modkey, "Shift" }, "Up", function () awful.tag.incnmaster( 1, nil, true) end,
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell( '~/.dmenu/prompt "are you sure?" "killall awesome"' ) end, {description = "increase the number of master clients", group = "layout"}),
{description = "quit awesome", group = "awesome"}), awful.key({ modkey, "Shift" }, "Down", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, ctrlkey }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, ctrlkey }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "Tab", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "Tab", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end, awful.key({ modkey, ctrlkey }, "n",
{description = "increase master width factor", group = "layout"}),
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
--awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
-- {description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function () function ()
local c = awful.client.restore() local c = awful.client.restore()
-- Focus restored client -- Focus restored client
@ -468,26 +416,26 @@ globalkeys = my_table.join(
-- Widgets popups -- Widgets popups
awful.key({ altkey, }, "c", function () lain.widget.cal.show(7) end, awful.key({ altkey, }, "c", function () lain.widget.cal.show(7) end,
{description = "show calendar", group = "widgets"}), {description = "show calendar", group = "widgets"}),
awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end, awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end,
{description = "show filesystem", group = "widgets"}), {description = "show filesystem", group = "widgets"}),
awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end, awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end,
{description = "show weather", group = "widgets"}), {description = "show weather", group = "widgets"}),
-- Brightness -- Brightness
awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end, awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end,
{description = "+10%", group = "hotkeys"}), {description = "+10%", group = "hotkeys"}),
awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end, awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end,
{description = "-10%", group = "hotkeys"}), {description = "-10%", group = "hotkeys"}),
-- ALSA volume control -- ALSA volume control
--awful.key({ modkey1 }, "Up", --awful.key({ ctrlkey }, "Up",
awful.key({ }, "XF86AudioRaiseVolume", awful.key({ }, "XF86AudioRaiseVolume",
function () function ()
os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
--awful.key({ modkey1 }, "Down", --awful.key({ ctrlkey }, "Down",
awful.key({ }, "XF86AudioLowerVolume", awful.key({ }, "XF86AudioLowerVolume",
function () function ()
os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel))
@ -498,12 +446,12 @@ globalkeys = my_table.join(
os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel)) os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
awful.key({ modkey1, "Shift" }, "m", awful.key({ ctrlkey, "Shift" }, "m",
function () function ()
os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
end), end),
awful.key({ modkey1, "Shift" }, "0", awful.key({ ctrlkey, "Shift" }, "0",
function () function ()
os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel)) os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel))
beautiful.volume.update() beautiful.volume.update()
@ -511,10 +459,10 @@ globalkeys = my_table.join(
-- Copy primary to clipboard (terminals to gtk) -- Copy primary to clipboard (terminals to gtk)
awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end, awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
{description = "copy terminal to gtk", group = "hotkeys"}), {description = "copy terminal to gtk", group = "hotkeys"}),
-- Copy clipboard to primary (gtk to terminals) -- Copy clipboard to primary (gtk to terminals)
awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end, awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
{description = "copy gtk to terminal", group = "hotkeys"}), {description = "copy gtk to terminal", group = "hotkeys"}),
-- Default -- Default
@ -538,37 +486,37 @@ globalkeys = my_table.join(
) )
clientkeys = my_table.join( clientkeys = my_table.join(
awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client, awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client,
{description = "magnify client", group = "client"}), {description = "magnify client", group = "client"}),
awful.key({ modkey, }, "f", awful.key({ modkey, }, "space",
function (c) function (c)
c.fullscreen = not c.fullscreen c.fullscreen = not c.fullscreen
c:raise() c:raise()
end, end,
{description = "toggle fullscreen", group = "client"}), {description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end, awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "hotkeys"}), {description = "close", group = "hotkeys"}),
awful.key({ modkey, "Shift" }, "space", awful.client.floating.toggle , awful.key({ modkey, }, "t", awful.client.floating.toggle,
{description = "toggle floating", group = "client"}), {description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, awful.key({ modkey, ctrlkey }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}), {description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, awful.key({ modkey, "Shift" }, "t", function (c) c.ontop = not c.ontop end,
{description = "move to screen", group = "client"}), {description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "toggle keep on top", group = "client"}), {description = "move to screen", group = "client"}),
awful.key({ modkey, }, "n", awful.key({ modkey, }, "n",
function (c) function (c)
-- The client currently has the input focus, so it cannot be -- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus. -- minimized, since minimized clients can't have the focus.
c.minimized = true c.minimized = true
end , end ,
{description = "minimize", group = "client"}), {description = "minimize", group = "client"}),
awful.key({ modkey, }, "m", awful.key({ modkey, }, "m",
function (c) function (c)
c.maximized = not c.maximized c.maximized = not c.maximized
c:raise() c:raise()
end , end ,
{description = "maximize", group = "client"}) {description = "maximize", group = "client"})
) )
-- Bind all key numbers to tags. -- Bind all key numbers to tags.
@ -595,7 +543,7 @@ for i = 1, 9 do
end, end,
descr_view), descr_view),
-- Toggle tag display. -- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9, awful.key({ modkey, ctrlkey }, "#" .. i + 9,
function () function ()
local screen = awful.screen.focused() local screen = awful.screen.focused()
local tag = screen.tags[i] local tag = screen.tags[i]
@ -616,7 +564,7 @@ for i = 1, 9 do
end, end,
descr_move), descr_move),
-- Toggle tag on focused client. -- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, awful.key({ modkey, ctrlkey, "Shift" }, "#" .. i + 9,
function () function ()
if client.focus then if client.focus then
local tag = client.focus.screen.tags[i] local tag = client.focus.screen.tags[i]
@ -688,9 +636,6 @@ awful.rules.rules = {
-- Set applications to be maximized at startup. -- Set applications to be maximized at startup.
-- find class or role via xprop command -- find class or role via xprop command
{ rule = { class = editorgui },
properties = { maximized = true } },
{ rule = { class = "Gimp*", role = "gimp-image-window" }, { rule = { class = "Gimp*", role = "gimp-image-window" },
properties = { maximized = true } }, properties = { maximized = true } },
@ -833,7 +778,15 @@ client.connect_signal("focus", border_adjust)
client.connect_signal("property::maximized", border_adjust) client.connect_signal("property::maximized", border_adjust)
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)
awful.spawn.with_shell("nitrogen --restore") awful.spawn.with_shell(soundplayer .. startupSound)
awful.spawn.with_shell("picom --config $HOME/.config/picom/picom.conf") awful.spawn.with_shell("lxsession")
awful.spawn.with_shell("picom")
awful.spawn.with_shell("nm-applet") awful.spawn.with_shell("nm-applet")
awful.spawn.with_shell("volumeicon") awful.spawn.with_shell("volumeicon")
awful.spawn.with_shell("sleep 2 && conky -c $HOME/.config/conky/xmonad/" .. "doom-one" .. "-01.conkyrc")
awful.spawn.with_shell("/usr/bin/emacs --daemon")
awful.spawn.with_shell("xargs xwallpaper --stretch < ~/.cache/wall")
--awful.spawn.with_shell("~/.fehbg") -- set last saved feh wallpaper
--awful.spawn.with_shell("feh --randomize --bg-fill /usr/share/backgrounds/dtos-backgrounds/*") -- feh sets random wallpaper
--awful.spawn.with_shell("nitrogen --restore") -- if you prefer nitrogen to feh/xwallpaper

View File

@ -37,6 +37,7 @@ shadow-exclude = [
"class_g = 'Cairo-clock'", "class_g = 'Cairo-clock'",
"class_g = 'slop'", "class_g = 'slop'",
"class_g = 'Polybar'", "class_g = 'Polybar'",
"class_g = 'trayer'",
"_GTK_FRAME_EXTENTS@:c" "_GTK_FRAME_EXTENTS@:c"
]; ];
@ -96,6 +97,7 @@ focus-exclude = [
"class_g = 'Cairo-clock'", "class_g = 'Cairo-clock'",
"class_g = 'Bar'", # lemonbar "class_g = 'Bar'", # lemonbar
"class_g = 'slop'" # maim "class_g = 'slop'" # maim
"class_g = 'trayer'" # trayer
]; ];
opacity-rule = [ opacity-rule = [

View File

@ -196,7 +196,7 @@ Select only =ONE= of the following four ways to set the wallpaper.
#+BEGIN_SRC haskell #+BEGIN_SRC haskell
spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall" spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall"
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper -- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- feh set random wallpaper -- spawnOnce "feh --randomize --bg-fill /usr/share/backgrounds/dtos-backgrounds/*" -- feh set random wallpaper
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh -- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh
setWMName "LG3D" setWMName "LG3D"
#+END_SRC #+END_SRC
@ -701,6 +701,7 @@ myKeys c =
, ("M-p a", addName "Choose ambient sound" $ spawn "dm-sounds") , ("M-p a", addName "Choose ambient sound" $ spawn "dm-sounds")
, ("M-p b", addName "Set background" $ spawn "dm-setbg") , ("M-p b", addName "Set background" $ spawn "dm-setbg")
, ("M-p c", addName "Choose color scheme" $ spawn "dtos-colorscheme") , ("M-p c", addName "Choose color scheme" $ spawn "dtos-colorscheme")
, ("M-p C", addName "Pick color from scheme" $ spawn "dm-colpick")
, ("M-p e", addName "Edit config files" $ spawn "dm-confedit") , ("M-p e", addName "Edit config files" $ spawn "dm-confedit")
, ("M-p i", addName "Take a screenshot" $ spawn "dm-maim") , ("M-p i", addName "Take a screenshot" $ spawn "dm-maim")
, ("M-p k", addName "Kill processes" $ spawn "dm-kill") , ("M-p k", addName "Kill processes" $ spawn "dm-kill")

View File

@ -132,7 +132,7 @@ myStartupHook = do
spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall" spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall"
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper -- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- feh set random wallpaper -- spawnOnce "feh --randomize --bg-fill /usr/share/backgrounds/dtos-backgrounds/*" -- feh set random wallpaper
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh -- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh
setWMName "LG3D" setWMName "LG3D"
@ -555,6 +555,7 @@ myKeys c =
, ("M-p a", addName "Choose ambient sound" $ spawn "dm-sounds") , ("M-p a", addName "Choose ambient sound" $ spawn "dm-sounds")
, ("M-p b", addName "Set background" $ spawn "dm-setbg") , ("M-p b", addName "Set background" $ spawn "dm-setbg")
, ("M-p c", addName "Choose color scheme" $ spawn "dtos-colorscheme") , ("M-p c", addName "Choose color scheme" $ spawn "dtos-colorscheme")
, ("M-p C", addName "Pick color from scheme" $ spawn "dm-colpick")
, ("M-p e", addName "Edit config files" $ spawn "dm-confedit") , ("M-p e", addName "Edit config files" $ spawn "dm-confedit")
, ("M-p i", addName "Take a screenshot" $ spawn "dm-maim") , ("M-p i", addName "Take a screenshot" $ spawn "dm-maim")
, ("M-p k", addName "Kill processes" $ spawn "dm-kill") , ("M-p k", addName "Kill processes" $ spawn "dm-kill")