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,75 +333,90 @@ 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)
awful.key({ altkey, "Control" }, "e", function () awful.util.spawn( "./.dmenu/dmenu-edit-configs.sh" ) end,
{description = "edit config files" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "m", function () awful.util.spawn( "./.dmenu/dmenu-sysmon.sh" ) end,
{description = "system monitoring apps" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "p", function () awful.util.spawn( "passmenu" ) end,
{description = "passmenu" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "s", function () awful.util.spawn( "./.dmenu/dmenu-surfraw.sh" ) end,
{description = "surfraw web search" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "t", function () awful.util.spawn( "./.dmenu/dmenu-trading.sh" ) end,
{description = "trading programs" , group = "dmenu scripts" }),
-- My applications (Super+Alt+Key)
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( terminal.." -e ncpamixer" ) end,
{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
-- Awesome keybindings
awful.key({ modkey, }, "Return", function () awful.spawn( terminal ) end,
{description = "Launch terminal", group = "awesome"}),
awful.key({ modkey, }, "b", function () awful.spawn( "qutebrowser" ) end,
{description = "Launch qutebrowser", group = "awesome"}),
awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "Reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell("dm-logout") end,
{description = "Quit awesome", group = "awesome"}),
awful.key({ modkey, }, "s", hotkeys_popup.show_help, awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "show help", group="awesome"}), {description = "Show help", group="awesome"}),
awful.key({ modkey, "Shift" }, "w", function () awful.util.mymainmenu:show() end,
{description = "Show main menu", group = "awesome"}),
awful.key({ modkey, "Shift" }, "b", function ()
for s in screen do
s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then
s.mybottomwibox.visible = not s.mybottomwibox.visible
end
end
end,
{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 -- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev, awful.key({ modkey, }, "Left", awful.tag.viewprev,
@ -393,96 +426,51 @@ globalkeys = my_table.join(
awful.key({ altkey, }, "Escape", awful.tag.history.restore, awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}), {description = "go back", group = "tag"}),
-- Tag browsing alt + tab -- Tag browsing ALT+TAB (ALT+SHIFT+TAB)
awful.key({ altkey, }, "Tab", awful.tag.viewnext, awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}), {description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev, awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}), {description = "view previous", group = "tag"}),
-- Tag browsing modkey + tab -- Non-empty tag browsing CTRL+TAB (CTRL+SHIFT+TAB)
awful.key({ modkey, }, "Tab", awful.tag.viewnext, awful.key({ ctrlkey }, "Tab", function () lain.util.tag_view_nonempty(-1) end,
{description = "view next", group = "tag"}), {description = "view previous nonempty", group = "tag"}),
awful.key({ modkey, "Shift" }, "Tab", awful.tag.viewprev, awful.key({ ctrlkey, "Shift" }, "Tab", function () lain.util.tag_view_nonempty(1) end,
{description = "view previous", group = "tag"}), {description = "view previous nonempty", 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 -- Default client focus
awful.key({ altkey, }, "j", awful.key({ modkey, }, "j", function () awful.client.focus.byidx( 1) end,
function () {description = "Focus next by index", group = "client"}),
awful.client.focus.byidx( 1) awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end,
end, {description = "Focus previous by index", group = "client"}),
{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 -- By direction client focus
awful.key({ modkey }, "j", awful.key({ altkey }, "j", function() awful.client.focus.global_bydirection("down")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("down") {description = "Focus down", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ altkey }, "k", function() awful.client.focus.global_bydirection("up")
end, if client.focus then client.focus:raise() end end,
{description = "focus down", group = "client"}), {description = "Focus up", group = "client"}),
awful.key({ modkey }, "k", awful.key({ altkey }, "h", function() awful.client.focus.global_bydirection("left")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("up") {description = "Focus left", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ altkey }, "l", function() awful.client.focus.global_bydirection("right")
end, if client.focus then client.focus:raise() end end,
{description = "focus up", group = "client"}), {description = "Focus right", 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 -- By direction client focus with arrows
awful.key({ modkey1, modkey }, "Down", awful.key({ ctrlkey, modkey }, "Down", function() awful.client.focus.global_bydirection("down")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("down") {description = "Focus down", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ ctrlkey, modkey }, "Up", function() awful.client.focus.global_bydirection("up")
end, if client.focus then client.focus:raise() end end,
{description = "focus down", group = "client"}), {description = "Focus up", group = "client"}),
awful.key({ modkey1, modkey }, "Up", awful.key({ ctrlkey, modkey }, "Left", function() awful.client.focus.global_bydirection("left")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("up") {description = "Focus left", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ ctrlkey, modkey }, "Right", function() awful.client.focus.global_bydirection("right")
end, if client.focus then client.focus:raise() end end,
{description = "focus up", group = "client"}), {description = "Focus right", 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 -- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end, awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end,
@ -495,36 +483,20 @@ globalkeys = my_table.join(
{description = "focus the previous screen", group = "screen"}), {description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto, awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}), {description = "jump to urgent client", group = "client"}),
awful.key({ modkey1, }, "Tab", awful.key({ ctrlkey, }, "Tab", function () awful.client.focus.history.previous()
function () if client.focus then client.focus:raise() end end,
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}), {description = "go back", group = "client"}),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
for s in screen do
s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then
s.mybottomwibox.visible = not s.mybottomwibox.visible
end
end
end,
{description = "toggle wibox", group = "awesome"}),
-- 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"}),
@ -533,32 +505,24 @@ globalkeys = my_table.join(
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 = "terminal with fish shell", group = "super"}),
awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell( '~/.dmenu/prompt "are you sure?" "killall awesome"' ) end,
{description = "quit awesome", group = "awesome"}),
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}), {description = "increase master width factor", group = "layout"}),
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end, awful.key({ modkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}), {description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, awful.key({ modkey, "Shift" }, "Up", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}), {description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, awful.key({ modkey, "Shift" }, "Down", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}), {description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, awful.key({ modkey, ctrlkey }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}), {description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, awful.key({ modkey, ctrlkey }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}), {description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, awful.key({ modkey, }, "Tab", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}), {description = "select next", group = "layout"}),
--awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, awful.key({ modkey, "Shift" }, "Tab", function () awful.layout.inc(-1) end,
-- {description = "select previous", group = "layout"}), {description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n", awful.key({ modkey, ctrlkey }, "n",
function () function ()
local c = awful.client.restore() local c = awful.client.restore()
-- Focus restored client -- Focus restored client
@ -588,13 +552,13 @@ globalkeys = my_table.join(
{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()
@ -647,7 +611,7 @@ 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()
@ -655,14 +619,14 @@ clientkeys = my_table.join(
{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, "Shift" }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}), {description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", 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
@ -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,71 +215,85 @@ 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)
awful.key({ altkey, "Control" }, "e", function () awful.util.spawn( "./.dmenu/dmenu-edit-configs.sh" ) end,
{description = "edit config files" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "m", function () awful.util.spawn( "./.dmenu/dmenu-sysmon.sh" ) end,
{description = "system monitoring apps" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "p", function () awful.util.spawn( "passmenu" ) end,
{description = "passmenu" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "s", function () awful.util.spawn( "./.dmenu/dmenu-surfraw.sh" ) end,
{description = "surfraw web search" , group = "dmenu scripts" }),
awful.key({ altkey, "Control" }, "t", function () awful.util.spawn( "./.dmenu/dmenu-trading.sh" ) end,
{description = "trading programs" , group = "dmenu scripts" }),
-- My applications (Super+Alt+Key)
awful.key({ modkey, altkey }, "a", function () awful.util.spawn( terminal.." -e ncpamixer" ) end,
{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
-- Awesome keybindings
awful.key({ modkey, }, "Return", function () awful.spawn( terminal ) end,
{description = "Launch terminal", group = "awesome"}),
awful.key({ modkey, }, "b", function () awful.spawn( "qutebrowser" ) end,
{description = "Launch qutebrowser", group = "awesome"}),
awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "Reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell("dm-logout") end,
{description = "Quit awesome", group = "awesome"}),
awful.key({ modkey, }, "s", hotkeys_popup.show_help, awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "show help", group="awesome"}), {description = "Show help", group="awesome"}),
awful.key({ modkey, "Shift" }, "w", function () awful.util.mymainmenu:show() end,
{description = "Show main menu", group = "awesome"}),
awful.key({ modkey, "Shift" }, "b", function ()
for s in screen do
s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then
s.mybottomwibox.visible = not s.mybottomwibox.visible
end
end
end,
{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 -- Tag browsing with modkey
awful.key({ modkey, }, "Left", awful.tag.viewprev, awful.key({ modkey, }, "Left", awful.tag.viewprev,
@ -286,96 +303,51 @@ globalkeys = my_table.join(
awful.key({ altkey, }, "Escape", awful.tag.history.restore, awful.key({ altkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}), {description = "go back", group = "tag"}),
-- Tag browsing alt + tab -- Tag browsing ALT+TAB (ALT+SHIFT+TAB)
awful.key({ altkey, }, "Tab", awful.tag.viewnext, awful.key({ altkey, }, "Tab", awful.tag.viewnext,
{description = "view next", group = "tag"}), {description = "view next", group = "tag"}),
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev, awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
{description = "view previous", group = "tag"}), {description = "view previous", group = "tag"}),
-- Tag browsing modkey + tab -- Non-empty tag browsing CTRL+TAB (CTRL+SHIFT+TAB)
awful.key({ modkey, }, "Tab", awful.tag.viewnext, awful.key({ ctrlkey }, "Tab", function () lain.util.tag_view_nonempty(-1) end,
{description = "view next", group = "tag"}), {description = "view previous nonempty", group = "tag"}),
awful.key({ modkey, "Shift" }, "Tab", awful.tag.viewprev, awful.key({ ctrlkey, "Shift" }, "Tab", function () lain.util.tag_view_nonempty(1) end,
{description = "view previous", group = "tag"}), {description = "view previous nonempty", 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 -- Default client focus
awful.key({ altkey, }, "j", awful.key({ modkey, }, "j", function () awful.client.focus.byidx( 1) end,
function () {description = "Focus next by index", group = "client"}),
awful.client.focus.byidx( 1) awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end,
end, {description = "Focus previous by index", group = "client"}),
{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 -- By direction client focus
awful.key({ modkey }, "j", awful.key({ altkey }, "j", function() awful.client.focus.global_bydirection("down")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("down") {description = "Focus down", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ altkey }, "k", function() awful.client.focus.global_bydirection("up")
end, if client.focus then client.focus:raise() end end,
{description = "focus down", group = "client"}), {description = "Focus up", group = "client"}),
awful.key({ modkey }, "k", awful.key({ altkey }, "h", function() awful.client.focus.global_bydirection("left")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("up") {description = "Focus left", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ altkey }, "l", function() awful.client.focus.global_bydirection("right")
end, if client.focus then client.focus:raise() end end,
{description = "focus up", group = "client"}), {description = "Focus right", 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 -- By direction client focus with arrows
awful.key({ modkey1, modkey }, "Down", awful.key({ ctrlkey, modkey }, "Down", function() awful.client.focus.global_bydirection("down")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("down") {description = "Focus down", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ ctrlkey, modkey }, "Up", function() awful.client.focus.global_bydirection("up")
end, if client.focus then client.focus:raise() end end,
{description = "focus down", group = "client"}), {description = "Focus up", group = "client"}),
awful.key({ modkey1, modkey }, "Up", awful.key({ ctrlkey, modkey }, "Left", function() awful.client.focus.global_bydirection("left")
function() if client.focus then client.focus:raise() end end,
awful.client.focus.global_bydirection("up") {description = "Focus left", group = "client"}),
if client.focus then client.focus:raise() end awful.key({ ctrlkey, modkey }, "Right", function() awful.client.focus.global_bydirection("right")
end, if client.focus then client.focus:raise() end end,
{description = "focus up", group = "client"}), {description = "Focus right", 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 -- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end, awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end,
@ -388,36 +360,20 @@ globalkeys = my_table.join(
{description = "focus the previous screen", group = "screen"}), {description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto, awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}), {description = "jump to urgent client", group = "client"}),
awful.key({ modkey1, }, "Tab", awful.key({ ctrlkey, }, "Tab", function () awful.client.focus.history.previous()
function () if client.focus then client.focus:raise() end end,
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}), {description = "go back", group = "client"}),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
for s in screen do
s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then
s.mybottomwibox.visible = not s.mybottomwibox.visible
end
end
end,
{description = "toggle wibox", group = "awesome"}),
-- 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"}),
@ -426,32 +382,24 @@ globalkeys = my_table.join(
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 = "terminal with fish shell", group = "super"}),
awful.key({ modkey, "Shift" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", function () awful.spawn.with_shell( '~/.dmenu/prompt "are you sure?" "killall awesome"' ) end,
{description = "quit awesome", group = "awesome"}),
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}), {description = "increase master width factor", group = "layout"}),
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end, awful.key({ modkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}), {description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, awful.key({ modkey, "Shift" }, "Up", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}), {description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, awful.key({ modkey, "Shift" }, "Down", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}), {description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, awful.key({ modkey, ctrlkey }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}), {description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, awful.key({ modkey, ctrlkey }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}), {description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, awful.key({ modkey, }, "Tab", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}), {description = "select next", group = "layout"}),
--awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, awful.key({ modkey, "Shift" }, "Tab", function () awful.layout.inc(-1) end,
-- {description = "select previous", group = "layout"}), {description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n", awful.key({ modkey, ctrlkey }, "n",
function () function ()
local c = awful.client.restore() local c = awful.client.restore()
-- Focus restored client -- Focus restored client
@ -481,13 +429,13 @@ globalkeys = my_table.join(
{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()
@ -540,7 +488,7 @@ 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()
@ -548,14 +496,14 @@ clientkeys = my_table.join(
{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, "Shift" }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}), {description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", 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
@ -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")