diff --git a/dconf/.config/dconf/user b/dconf/.config/dconf/user index 308b85569..90f87141f 100644 Binary files a/dconf/.config/dconf/user and b/dconf/.config/dconf/user differ diff --git a/qtile/.config/qtile/config.py b/qtile/.config/qtile/config.py index d435176ac..572a29665 100644 --- a/qtile/.config/qtile/config.py +++ b/qtile/.config/qtile/config.py @@ -5,7 +5,7 @@ # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# to use, copy, Variables.MODify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: @@ -25,21 +25,15 @@ import subprocess from widgets import Widgets from groups import Groups +from keys import Keys +from variables import Commands, Variables from colors import colorScheme, currentColor locale.setlocale(locale.LC_ALL, "") from libqtile import qtile, bar, layout, hook -from libqtile.config import ( - Key, - Click, - Drag, - Screen, - Match, - KeyChord, - ScratchPad, - DropDown, -) +from libqtile.config import Key, Click, Drag, Screen, Match, ScratchPad, DropDown + from libqtile.lazy import lazy from typing import Callable @@ -71,138 +65,12 @@ def go_to_group(name: str) -> Callable: return _inner -class Commands(object): - editor = "code" - menu = "menu" - browser = "firefox" - terminal = "alacritty" - btop = "kitty --class=btop -e btop" - powermenu = "rofi -show powermenu -config ~/.config/rofi/powermenu.rasi" - vbox = "virt-manager" - files = "nemo" - mail = "thunderbird" - passmenu = "passmenu" - - autostart = ["autostart"] - configure = [ - "youtube_subs -d", - "autorandr --load qtile", - "setxkbmap -option caps:escape", - ] - - -################## -## Key Bindings ## -################## - -ALT = "mod1" -MOD = "mod4" -CTRL = "control" -SHIFT = "shift" - -keys = [ - # qtile commands - Key([MOD, SHIFT], "r", lazy.reload_config(), desc="Reload the config"), - Key([MOD, CTRL], "r", lazy.restart(), desc="Restart qtile"), - # Switch between windows - Key([MOD], "h", lazy.layout.left(), desc="Move focus to left"), - Key([MOD], "l", lazy.layout.right(), desc="Move focus to right"), - Key([MOD], "j", lazy.layout.down(), desc="Move focus down"), - Key([MOD], "k", lazy.layout.up(), desc="Move focus up"), - # reset all windows - Key([MOD], "n", lazy.layout.normalize(), desc="Reset all window sizes"), - # Toggle between different layouts as defined below - Key([MOD], "Tab", lazy.next_layout(), desc="Toggle between layouts"), - Key([MOD], "t", lazy.window.toggle_floating(), desc="Toggle floating"), - Key([MOD], "q", lazy.window.kill(), desc="Kill focused window"), - # Custom keybinds - Key([MOD], "Return", lazy.spawn(Commands.terminal), desc="Launch terminal"), - Key([MOD], "m", lazy.spawn(Commands.menu), desc="Launch menu"), - Key([MOD], "p", lazy.spawn(Commands.passmenu), desc="Launch password menu"), - Key([MOD, CTRL], "f", lazy.spawn(Commands.browser), desc="Launch browser"), - Key([MOD, CTRL], "c", lazy.spawn(Commands.editor), desc="Launch editor"), - Key([MOD, SHIFT], "e", lazy.spawn(Commands.powermenu), desc="Launch power menu"), - Key([MOD, SHIFT], "Return", lazy.spawn(Commands.files), desc="Launch files"), - Key([MOD], "b", lazy.spawn(Commands.btop), desc="Launch btop"), - # Audio Settings - Key([], "XF86AudioMute", lazy.spawn("amixer set Master toggle")), - Key( - [], - "XF86AudioLowerVolume", - lazy.spawn("amixer set Master '5%-' unmute"), - ), - Key( - [], - "XF86AudioRaiseVolume", - lazy.spawn("amixer set Master '5%+' unmute"), - ), - # https://github.com/acrisci/playerctl/ - Key([], "XF86AudioPlay", lazy.spawn("playerctl play-pause")), - Key([], "XF86AudioNext", lazy.spawn("playerctl next")), - Key([], "XF86AudioPrev", lazy.spawn("playerctl previous")), - Key([], "XF86AudioStop", lazy.spawn("playerctl stop")), - # xBacklight - Key([], "XF86MonBrightnessUp", lazy.spawn("brightnessctl set 5%+")), - Key([], "XF86MonBrightnessDown", lazy.spawn("brightnessctl set 5%-")), -] - -keys.extend( - [ - ################ - ## Key Chords ## - ################ - # Grow windows. If current window is on the edge of screen and direction - # will be to screen edge - window would shrink. - KeyChord( - [MOD], - "r", - [ - Key([], "h", lazy.layout.grow_left(), desc="Grow window to the left"), - Key([], "l", lazy.layout.grow_right(), desc="Grow window to the right"), - Key([], "j", lazy.layout.grow_down(), desc="Grow window down"), - Key([], "k", lazy.layout.grow_up(), desc="Grow window up"), - ], - mode=True, - name="Resize Windows", - ), - KeyChord( - [MOD, CTRL], - "g", - [ - Key([], "s", lazy.spawn("prime-run steam"), desc="Spawn steam"), - Key([], "m", lazy.spawn("prime-run minecraft"), desc="Spawn minecraft"), - ], - mode=False, - name="Launch Game", - ), - KeyChord( - [MOD], - "Print", - [ - Key([], "w", lazy.spawn("win-shot -w"), desc="Screen Shot Window"), - Key([], "s", lazy.spawn("win-shot -s"), desc="Screen Shot Selected"), - Key([], "f", lazy.spawn("win-shot -f"), desc="Screen Shot Full"), - ], - mode=False, - name="Take a Screenshot", - ), - ] -) - ############ ## Groups ## ############ groups = Groups.groups -for i in groups: - keys.extend( - [ - Key([MOD], i.name, lazy.function(go_to_group(i.name))), - Key([MOD, "shift"], i.name, lazy.window.togroup(i.name)), - ] - ) - # Define scratchpads groups.append( ScratchPad( @@ -248,15 +116,19 @@ groups.append( ) ) -# Scratchpad keybindings -keys.extend( - [ - Key([CTRL], "Return", lazy.group["Hyper_L"].dropdown_toggle("term")), - Key([ALT], "c", lazy.group["Hyper_L"].dropdown_toggle("clifm")), - Key([ALT], "b", lazy.group["Hyper_L"].dropdown_toggle("btop")), - Key([ALT], "v", lazy.group["Hyper_L"].dropdown_toggle("volume")), - ] -) +################## +## Key Bindings ## +################## + +keys = Keys.keys + +for i in groups: + keys.extend( + [ + Key([Variables.MOD], i.name, lazy.function(go_to_group(i.name))), + Key([Variables.MOD, "shift"], i.name, lazy.window.togroup(i.name)), + ] + ) #################### @@ -303,7 +175,7 @@ layouts = [ **layout_theme, ), # layout.TreeTab(**layout_theme,), - # layout.VerticalTile(**layout_theme,), + # layout.VerticVariables.ALTile(**layout_theme,), layout.Zoomy( **layout_theme, ), @@ -422,15 +294,18 @@ screens = [ ################### mouse = [ Drag( - [MOD], + [Variables.MOD], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position(), ), Drag( - [MOD], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size() + [Variables.MOD], + "Button3", + lazy.window.set_size_floating(), + start=lazy.window.get_size(), ), - Click([MOD], "Button2", lazy.window.bring_to_front()), + Click([Variables.MOD], "Button2", lazy.window.bring_to_front()), ] ################### diff --git a/qtile/.config/qtile/keys.py b/qtile/.config/qtile/keys.py new file mode 100644 index 000000000..2d667cde7 --- /dev/null +++ b/qtile/.config/qtile/keys.py @@ -0,0 +1,164 @@ +from variables import Commands, Variables + +from libqtile.lazy import lazy + +from libqtile.config import Key, KeyChord + + +class Keys(object): + keys = [ + # qtile commands + Key( + [Variables.MOD, Variables.SHIFT], + "r", + lazy.reload_config(), + desc="Reload the config", + ), + Key([Variables.MOD, Variables.CTRL], "r", lazy.restart(), desc="Restart qtile"), + # Switch between windows + Key([Variables.MOD], "h", lazy.layout.left(), desc="Move focus to left"), + Key([Variables.MOD], "l", lazy.layout.right(), desc="Move focus to right"), + Key([Variables.MOD], "j", lazy.layout.down(), desc="Move focus down"), + Key([Variables.MOD], "k", lazy.layout.up(), desc="Move focus up"), + # reset all windows + Key( + [Variables.MOD], "n", lazy.layout.normalize(), desc="Reset all window sizes" + ), + # Toggle between different layouts as defined below + Key([Variables.MOD], "Tab", lazy.next_layout(), desc="Toggle between layouts"), + Key( + [Variables.MOD], "t", lazy.window.toggle_floating(), desc="Toggle floating" + ), + Key([Variables.MOD], "q", lazy.window.kill(), desc="Kill focused window"), + # Custom keybinds + Key( + [Variables.MOD], + "Return", + lazy.spawn(Commands.terminal), + desc="Launch terminal", + ), + Key([Variables.MOD], "m", lazy.spawn(Commands.menu), desc="Launch menu"), + Key( + [Variables.MOD], + "p", + lazy.spawn(Commands.passmenu), + desc="Launch password menu", + ), + Key( + [Variables.MOD, Variables.CTRL], + "f", + lazy.spawn(Commands.browser), + desc="Launch browser", + ), + Key( + [Variables.MOD, Variables.CTRL], + "c", + lazy.spawn(Commands.editor), + desc="Launch editor", + ), + Key( + [Variables.MOD, Variables.SHIFT], + "e", + lazy.spawn(Commands.powermenu), + desc="Launch power menu", + ), + Key( + [Variables.MOD, Variables.SHIFT], + "Return", + lazy.spawn(Commands.files), + desc="Launch files", + ), + Key([Variables.MOD], "b", lazy.spawn(Commands.btop), desc="Launch btop"), + # Audio Settings + Key([], "XF86AudioMute", lazy.spawn("amixer set Master toggle")), + Key( + [], + "XF86AudioLowerVolume", + lazy.spawn("amixer set Master '5%-' unmute"), + ), + Key( + [], + "XF86AudioRaiseVolume", + lazy.spawn("amixer set Master '5%+' unmute"), + ), + # https://github.com/acrisci/playerctl/ + Key([], "XF86AudioPlay", lazy.spawn("playerctl play-pause")), + Key([], "XF86AudioNext", lazy.spawn("playerctl next")), + Key([], "XF86AudioPrev", lazy.spawn("playerctl previous")), + Key([], "XF86AudioStop", lazy.spawn("playerctl stop")), + # xBacklight + Key([], "XF86MonBrightnessUp", lazy.spawn("brightnessctl set 5%+")), + Key([], "XF86MonBrightnessDown", lazy.spawn("brightnessctl set 5%-")), + ] + + ################ + ## Key Chords ## + ################ + + keys.extend( + [ + # Grow windows. If current window is on the edge of screen and direction + # will be to screen edge - window would shrink. + KeyChord( + [Variables.MOD], + "r", + [ + Key( + [], "h", lazy.layout.grow_left(), desc="Grow window to the left" + ), + Key( + [], + "l", + lazy.layout.grow_right(), + desc="Grow window to the right", + ), + Key([], "j", lazy.layout.grow_down(), desc="Grow window down"), + Key([], "k", lazy.layout.grow_up(), desc="Grow window up"), + ], + mode=True, + name="Resize Windows", + ), + KeyChord( + [Variables.MOD, Variables.CTRL], + "g", + [ + Key([], "s", lazy.spawn("prime-run steam"), desc="Spawn steam"), + Key( + [], + "m", + lazy.spawn("prime-run minecraft"), + desc="Spawn minecraft", + ), + ], + mode=False, + name="Launch Game", + ), + KeyChord( + [Variables.MOD], + "Print", + [ + Key([], "w", lazy.spawn("win-shot -w"), desc="Screen Shot Window"), + Key( + [], "s", lazy.spawn("win-shot -s"), desc="Screen Shot Selected" + ), + Key([], "f", lazy.spawn("win-shot -f"), desc="Screen Shot Full"), + ], + mode=False, + name="Take a Screenshot", + ), + ] + ) + + # Scratchpad keybindings + keys.extend( + [ + Key( + [Variables.CTRL], + "Return", + lazy.group["Hyper_L"].dropdown_toggle("term"), + ), + Key([Variables.ALT], "c", lazy.group["Hyper_L"].dropdown_toggle("clifm")), + Key([Variables.ALT], "b", lazy.group["Hyper_L"].dropdown_toggle("btop")), + Key([Variables.ALT], "v", lazy.group["Hyper_L"].dropdown_toggle("volume")), + ] + ) diff --git a/qtile/.config/qtile/variables.py b/qtile/.config/qtile/variables.py new file mode 100644 index 000000000..2675318ec --- /dev/null +++ b/qtile/.config/qtile/variables.py @@ -0,0 +1,25 @@ +class Variables(object): + ALT = "mod1" + MOD = "mod4" + CTRL = "control" + SHIFT = "shift" + + +class Commands(object): + editor = "code" + menu = "menu" + browser = "firefox" + terminal = "alacritty" + btop = "kitty --class=btop -e btop" + powermenu = "rofi -show powermenu -config ~/.config/rofi/powermenu.rasi" + vbox = "virt-manager" + files = "nemo" + mail = "thunderbird" + passmenu = "passmenu" + + autostart = ["autostart"] + configure = [ + "youtube_subs -d", + "autorandr --load qtile", + "setxkbmap -option caps:escape", + ]