[mod, ctrl], "l", lazy.layout.grow_right(), desc="Grow focused Window right", ), Key([mod, ctrl], "j", lazy.layout.grow_down(), desc="Grow focused Window down"), Key([mod, ctrl], "k", lazy.layout.grow_up(), desc="Grow focused Window up"), ]) keys.extend([ # Switch focus between monitors Key([mod], "comma", lazy.prev_screen(), desc="Move focus to prev Screen"), Key([mod], "period", lazy.next_screen(), desc="Move focus to next Screen"), Key([mod], "F1", lazy.to_screen(0), desc="Move focus to 1st Screen"), Key([mod], "F2", lazy.to_screen(1), desc="Move focus to 2nd Screen"), ]) keys.extend([ # Switch between layouts Key([mod], "space", lazy.next_layout(), desc="Switch Laouts"), Key([mod, shift], "space", lazy.prev_layout(), desc="Switch Laouts"), Key([mod, alt], "space", lazy.to_layout_index(0), desc="Switch to default Layout"), Key([mod], "equal", lazy.layout.normalize(), desc="Reset all window sizes"),
# Switch between windows Key([mod], "j", lazy.layout.down(), desc="Move focus down"), Key([mod], "k", lazy.layout.up(), desc="Move focus up"), Key([mod], "plus", lazy.layout.increase_ratio(), desc="Increase number of master windows"), Key([mod], "minus", lazy.layout.decrease_ratio(), desc="Decrease number of master windows"), Key(["mod1"], "Tab", lazy.layout.next(), desc="Move window focus to other window"), Key([mod], "m", lazy.layout.swap_main(), desc="Promote to master"), Key([mod], "comma", lazy.screen.prev_group(), desc="Go to next group"), Key([mod], "period", lazy.screen.next_group(), desc="Go to next group"), Key([mod], "BackSpace", lazy.screen.toggle_group(), desc="Go to previous group"), Key([mod, "shift"], "comma", window_to_offset_group(-1), desc="Move window and go to prev group"), Key([mod, "shift"], "period", window_to_offset_group(1), desc="Move window and go to next group"), Key([mod, "control", "shift"], "comma", window_to_offset_group(-1, False), desc="Move window to prev group"), Key([mod, "control", "shift"], "period", window_to_offset_group(1, False), desc="Move window to next group"), Key([mod, "mod1"], "comma", lazy.prev_screen(), desc="Go to prev screen"), Key([mod, "mod1"], "period", lazy.next_screen(), desc="Go to next screen"), Key([mod, "shift", "mod1"], "comma", window_to_offset_screen(-1), desc="Move window and to prev screen"), Key([mod, "shift", "mod1"], "period", window_to_offset_screen(1), desc="Move window and to next screen"), Key([mod, "control", "shift", "mod1"], "comma", window_to_offset_screen(-1, False), desc="Move window to prev screen"), Key([mod, "control", "shift", "mod1"], "period", window_to_offset_screen(1, False), desc="Move window to next screen"), Key([mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window left"), Key([mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window right"), Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"), Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), Key([mod], "l", lazy.layout.grow_main(), desc="Grow window"), Key([mod], "h", lazy.layout.shrink_main(), desc="Shrink window"), Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), Key([mod], "space", lazy.next_layout(), desc="Toggle between layouts"),
Key([mod], "h", lazy.layout.shrink(), desc="Shrink size of window"), Key([mod], "k", lazy.layout.up(), desc="Switch focus up"), Key([mod], "j", lazy.layout.down(), desc="Switch focus down"), Key([mod], "l", lazy.layout.grow(), desc="Grow size of window"), Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"), # Key([mod], "leftanglebracket", window_to_next_screen(), desc="Move window down"), # Key([mod], "rightanglebracket", window_to_prev_screen(), desc="Move window down"), Key([mod], "space", lazy.spawn("rofi -show drun"), desc="Run rofi"), Key([mod], "period", lazy.next_screen(), desc='Move focus to next monitor'), Key([mod], "comma", lazy.prev_screen(), desc='Move focus to prev monitor'), Key([mod], "Return", lazy.spawn(terminal), desc="Run terminal"), # Toggle between different layouts as defined below Key([mod], "Tab", lazy.next_layout(), desc=""), Key([mod, "shift"], "c", lazy.window.kill(), desc="Close a window"), Key([mod, alt], "r", lazy.restart(), desc="Restart Qtile"), Key([mod, alt], "q", lazy.shutdown(), desc="Quit Qtile"), # Media Key([], "XF86AudioRaiseVolume", lazy.spawn("lmc up 5"), desc="Increase Volume by 5"), Key([], "XF86AudioLowerVolume",
Key([mod], "k", lazy.layout.up()), Key([mod], "l", lazy.layout.right()), # Swap windows Key([mod, "shift"], "h", lazy.layout.shuffle_left()), Key([mod, "shift"], "j", lazy.layout.shuffle_down()), Key([mod, "shift"], "k", lazy.layout.shuffle_up()), Key([mod, "shift"], "l", lazy.layout.shuffle_right()), Key([mod, "shift"], "semicolon", lazy.layout.flip()), # Change windows sizes Key([mod], "equal", lazy.layout.grow()), Key([mod], "minus", lazy.layout.shrink()), Key([mod, "shift"], "equal", lazy.layout.normalize()), Key([mod, "shift"], "minus", lazy.layout.maximize()), Key([mod], "bracketleft", lazy.prev_screen()), Key([mod], "bracketright", lazy.next_screen()), # Toggle between different layouts as defined below Key([mod], "t", lazy.group.setlayout('monadtall')), Key([mod], "y", lazy.group.setlayout('monadwide')), Key([mod], "m", lazy.group.setlayout('max')), Key([mod], "s", lazy.window.toggle_floating(), desc="Toggle floating"), Key([mod], "f", lazy.window.toggle_fullscreen(), desc="Toggle fullscreen"), Key([mod], "w", lazy.window.kill(), desc="Kill focused window"), Key([mod, "control"], "r", lazy.restart(), desc="Restart qtile"), Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown qtile"), # brightness Key([], "XF86MonBrightnessUp", lazy.spawn("light -A 5")), Key([], "XF86MonBrightnessDown", lazy.spawn("light -U 5")),
def init_keys(): keys = [ Key([mod], "Left", lazy.screen.prev_group(skip_managed=True)), Key([mod], "Right", lazy.screen.next_group(skip_managed=True)), Key([mod, "shift"], "Left", lazy.function(window_to_previous_column_or_group)), Key([mod, "shift"], "Right", lazy.function(window_to_next_column_or_group)), Key([mod, "control"], "Up", lazy.layout.grow_up()), Key([mod, "control"], "Down", lazy.layout.grow_down()), Key([mod, "control"], "Left", lazy.layout.grow_left()), Key([mod, "control"], "Right", lazy.layout.grow_right()), Key([mod, "mod1"], "Left", lazy.prev_screen()), Key([mod, "mod1"], "Right", lazy.next_screen()), Key([mod, "shift", "mod1"], "Left", lazy.function(window_to_previous_screen)), Key([mod, "shift", "mod1"], "Right", lazy.function(window_to_next_screen)), Key([mod], "t", lazy.function(switch_screens)), Key([mod], "Up", lazy.group.prev_window()), Key([mod], "Down", lazy.group.next_window()), Key([mod, "shift"], "Up", lazy.layout.shuffle_up()), Key([mod, "shift"], "Down", lazy.layout.shuffle_down()), Key([mod], "space", lazy.next_layout()), Key([mod], "f", lazy.window.toggle_floating()), Key([mod, "shift"], "f", lazy.window.toggle_fullscreen()), Key([mod], "b", lazy.window.bring_to_front()), Key([mod], "s", lazy.layout.toggle_split()), Key([mod], "semicolon", lazy.spawn("splatmoji copypaste")), Key([mod], "r", lazy.spawn("rofi -show")), Key([mod], "u", lazy.spawn(browser)), Key([mod], "Return", lazy.spawn(terminal)), Key([mod], "BackSpace", lazy.window.kill()), Key([mod, "shift"], "r", lazy.restart()), Key([mod, "shift"], "q", lazy.shutdown()), Key([mod], "v", lazy.validate_config()), Key([], "Print", lazy.spawn("gnome-screenshot -i")), Key([mod], "Print", lazy.spawn("gnome-screenshot -p")), Key([], "Scroll_Lock", lazy.spawn(screenlocker)), Key([mod], "Delete", lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")), Key([mod], "Prior", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%")), Key([mod], "Next", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%")), Key([mod], "Insert", lazy.spawn("spotify-dbus playpause")), Key([mod], "End", lazy.spawn("spotify-dbus next")), Key([mod], "Home", lazy.spawn("spotify-dbus previous")), ] if DEBUG: keys += [ Key([mod], "Tab", lazy.layout.next()), Key([mod, "shift"], "Tab", lazy.layout.previous()), Key([mod, "shift"], "f", lazy.layout.flip()), Key([mod, "shift"], "s", lazy.group["scratch"].dropdown_toggle("term")) ] return keys
lazy.prev_layout(), desc="cambiar layout anterior"), Key([mod], "w", lazy.window.kill(), desc="Cerrar ventana"), # Reiniciar Qtile, Ejecutar comando Key([mod, ctrl], "r", lazy.restart(), desc="Reiniciar qtile"), # Flip Layout Key([mod], "t", lazy.flip()), # Explorador de archivos Key([mod], "e", lazy.spawn("pcmanfm-qt")), # Switch focus of monitors Key([mod], "period", lazy.next_screen()), Key([mod], "comma", lazy.prev_screen()), # rofi Key([mod], 'q', lazy.spawn("rofi -show drun")), Key([mod], 'r', lazy.spawn("rofi -show run")), Key([mod, shift], 'q', lazy.spawn("rofi -show")), #Key([mod], "r", lazy.spawncmd(), desc="ejecucion"), # Audios de teclado/notebook Key([], "XF86AudioLowerVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%")), Key([], "XF86AudioRaiseVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%")), Key([], "XF86AudioMute", lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")),
[mod, "shift"], "Return", lazy.layout.toggle_split(), desc="Toggle between split and unsplit sides of stack", ), Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"), # Toggle between different layouts as defined below Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), Key([mod], "BackSpace", lazy.window.kill(), desc="Kill focused window"), Key([mod, "control"], "r", lazy.reload_config(), desc="Reload the config"), Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"), Key([hyper], "d", lazy.spawn("rofi -show run"), desc="Spawn a command using a prompt widget"), Key([hyper], "h", lazy.prev_screen(), desc="Previous monitor"), Key([hyper], "l", lazy.next_screen(), desc="Next monitor"), Key([hyper], "j", lazy.function(next_free_nonempty_group), desc="Next free group"), Key([hyper], "k", lazy.function(prev_free_nonempty_group), desc="Previous free group"), Key([hyper], "Left", lazy.prev_screen(), desc="Previous monitor"), Key([hyper], "Right", lazy.next_screen(), desc="Next monitor"), Key([hyper], "Down", lazy.function(next_free_nonempty_group), desc="Next free group"),
# Grow windows. If current window is on the edge of screen and direction # will be to screen edge - window would shrink. Key([mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left"), Key([mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right"), Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"), Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"), Key([mod], "comma", lazy.prev_screen(), desc="Focus to the left screen"), Key([mod], "period", lazy.next_screen(), desc="Focus to the right screen"), Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), # Toggle between split and unsplit sides of stack. # Split = all windows displayed # Unsplit = 1 window displayed, like Max layout, but still with # multiple stack panes Key( [mod, "shift"], "Return", lazy.layout.toggle_split(), desc="Toggle between split and unsplit sides of stack", ), Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"), # Toggle between different layouts as defined below Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
Key([mod], "Right", lazy.layout.right()), # Move windows up or down in current stack Key([mod, "control"], "k", lazy.layout.shuffle_down(), lazy.layout.rotate()), Key([mod, "control"], "j", lazy.layout.shuffle_up(), lazy.layout.rotate()), # Resize Windows Key([mod, "control"], "i", lazy.layout.shrink()), Key([mod, "control"], "o", lazy.layout.grow()), # Move focus to different monitor Key([mod], "period", lazy.prev_screen()), Key([mod], "comma", lazy.next_screen()), # Move windows to different screens Key([mod, "control"], "period", lazy.function(window_to_previous_screen)), Key([mod, "control"], "comma", lazy.function(window_to_next_screen)), # Switch window focus to other pane(s) of stack Key([mod], "n", lazy.layout.next()), # Toggle Floating Key([mod], "t", lazy.window.toggle_floating()), # Toggle Fullscreen Key([mod, "shift"], "t", lazy.window.toggle_floating()),
keys = [ # Switch between windows in current stack pane Key([mod], "k", lazy.layout.down(), desc="Move focus down in stack pane"), Key([mod], "j", lazy.layout.up(), desc="Move focus up in stack pane"), # Move windows up or down in current stack Key([mod, "control"], "k", lazy.layout.shuffle_down(), desc="Move window down in current stack "), Key([mod, "control"], "j", lazy.layout.shuffle_up(), desc="Move window up in current stack "), Key([mod], "h", lazy.prev_screen(), desc="Switch to previous monitor"), Key([mod], "l", lazy.next_screen(), desc="Switch to next monitor"), # Switch window focus to other pane(s) of stack Key([mod], "space", lazy.layout.next(), desc="Switch window focus to other pane(s) of stack"), # Swap panes of split stack Key([mod, "shift"], "space", lazy.layout.rotate(), desc="Swap panes of split stack"), # Toggle fullscreen
def get_asdf(): keys = [ # 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"), Key([mod], "space", lazy.layout.next(), desc="Move window focus to other window"), # Move windows between left/right columns or move up/down in current stack. # Moving out of range in Columns layout will create new column. Key( [mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left", ), Key( [mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window to the right", ), Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"), Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), Key([mod, "shift"], "f", lazy.window.toggle_floating(), desc="toggle floating"), Key([mod], "f", lazy.window.toggle_fullscreen(), desc="toggle fullscreen"), # Grow windows. If current window is on the edge of screen and direction # will be to screen edge - window would shrink. Key( [mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left", ), Key( [mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right", ), Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"), Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"), Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), # Toggle between split and unsplit sides of stack. # Split = all windows displayed # Unsplit = 1 window displayed, like Max layout, but still with # multiple stack panes Key( [mod, "shift"], "Return", lazy.spawn("rofi -show combi"), desc="Toggle between split and unsplit sides of stack", ), Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"), # Toggle between different layouts as defined below Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), Key([mod], "w", lazy.window.kill(), desc="Kill focused window"), Key([mod], "b", lazy.spawn(browser), desc="Launch Qutebrowser"), Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"), Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"), Key( [mod], "r", lazy.spawn("rofi -show drun"), desc="Spawn a command using a prompt widget", ), KeyChord( ["control"], "e", [ Key( [], "e", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Launch Emacs", ), Key( [], "b", lazy.spawn("emacsclient -c -a 'emacs' --eval '(ibuffer)'"), desc="Launch ibuffer inside Emacs", ), Key( [], "d", lazy.spawn( "emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc="Launch dired inside Emacs", ), Key( [], "i", lazy.spawn("emacsclient -c -a 'emacs' --eval '(erc)'"), desc="Launch erc inside Emacs", ), Key( [], "m", lazy.spawn("emacsclient -c -a 'emacs' --eval '(mu4e)'"), desc="Launch mu4e inside Emacs", ), Key( [], "n", lazy.spawn("emacsclient -c -a 'emacs' --eval '(elfeed)'"), desc="Launch elfeed inside Emacs", ), Key( [], "s", lazy.spawn("emacsclient -c -a 'emacs' --eval '(eshell)'"), desc="Launch the eshell inside Emacs", ), Key( [], "v", lazy.spawn( "emacsclient -c -a 'emacs' --eval '(+vterm/here nil)'" ), desc="Launch vterm inside Emacs", ), ], ), # Monitor Switches Key([mod], "period", lazy.next_screen(), desc="Move focus to next monitor"), Key([mod], "comma", lazy.prev_screen(), desc="Move focus to prev monitor"), ## Treetab controls Key( [mod, "shift"], "h", lazy.layout.move_left(), desc="Move up a section in treetab", ), Key( [mod, "shift"], "l", lazy.layout.move_right(), desc="Move down a section in treetab", ), ] # Idea taken from Augusto Nicola's Dotfiles => https://github.com/AugustoNicola/dotfiles group_names = [ ("SYS", { "label": "ﬦ", "layout": "columns" }), ("DEV", { "label": "", "layout": "columns" }), ("WWW", { "label": "", "layout": "columns" }), ("DIS", { "label": "ﭮ", "layout": "columns" }), ("TEAMS", { "label": "", "layout": "columns" }), ("DOC", { "label": "", "layout": "columns" }), ("MUS", { "label": "", "layout": "columns" }), ("VID", { "label": "嗢", "layout": "columns" }), ("VBOX", { "label": "", "layout": "columns" }), ] groups = [ Group(name, init=True, persist=True, **kwargs) for name, kwargs in group_names ] for i, (name, kwargs) in enumerate(group_names, 1): keys.append( Key([mod], str(i), lazy.group[name].toscreen())) # Switch to another group keys.append(Key( [mod, "shift"], str(i), lazy.window.togroup(name))) # Send current window to another group return keys, groups
'Move to the group on the left'), ([_mod], ['n'], lazy.screen.next_group(), 'Move to the group on the right'), ([_mod, 'control'], 'Right', lazy.screen.next_group(), 'Move to the group on the right'), ([_alt], 'Tab', lazy.screen.toggle_group(), 'Move to the last visited group'), # Screens # Switch focus of monitors ([_mod, 'control'], 'quotedbl', lazy.to_screen(0), 'Set focus to monitor 1'), ([_mod, 'control'], 'guillemotleft', lazy.to_screen(1), 'Set focus to monitor 2'), ([_mod], 'g', lazy.next_screen(), 'Set focus to next monitor'), ([_mod], 'h', lazy.prev_screen(), 'Set focus to prev monitor'), # Move to specific monitor ([_mod, 'control', 'shift'], 'quotedbl', [lazy.window.toscreen(0), lazy.to_screen(0)], 'Move to monitor 1'), ([_mod, 'control', 'shift'], 'guillemotleft', [lazy.window.toscreen(1), lazy.to_screen(1)], 'Move to monitor 2')] def _assign_multiple_keys(keys, modifiers, key, *commands, desc=''): for k in key: keys.append(Key(modifiers, k, *commands, desc=desc))
Key([mod], "k", lazy.layout.normalize(), desc="normalize secondary clients"), Key(mods, "l", lazy.layout.reset(), desc="reset client"), # shuffle windows Key(mods, "h", lazy.layout.swap_left()), Key(mods, "i", lazy.layout.swap_right()), Key(mods, "n", lazy.layout.shuffle_down()), Key(mods, "e", lazy.layout.shuffle_up()), # flip layout Key([mod, "shift"], "space", lazy.layout.flip()), # screen keybinds Key([mod], "z", lazy.prev_screen(), desc='Move focus to prev monitor'), # terminal and editor keybinds Key([mod], "Return", lazy.spawn(terminal), desc="launch terminal"), Key([mod, "shift"], "Return", lazy.spawn("emacsclient -c -a 'emacs'"), desc="launch emacs"), Key([mod], "d", lazy.spawn("emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc="launch dired"), #nautilus Key([mod], "g", lazy.spawn("nautilus"), desc="launch dired"), # browser shortcut
Key([mod, "shift"], "n", lazy.layout.normalize()), Key([mod, "shift"], "k", lazy.layout.shuffle_down()), Key(["shift"], "space", lazy.layout.shuffle_up()), Key([mod, "shift"], "g", lazy.spawn("google-chrome-stable"), desc="Launch browser"), Key([mod, "control"], "g", lazy.spawn("firefox"), desc="Launch browser"), Key([mod], "g", lazy.spawn(browser), desc="Launch browser"), Key([mod], "slash", lazy.window.toggle_floating(), desc="Toggle Floating"), Key([mod], "f", lazy.window.toggle_fullscreen(), desc="Toggle Fullscreen"), Key([mod], "w", lazy.prev_screen()), Key([mod], "o", lazy.layout.flip(), desc="Shrink Main"), Key([mod], "y", lazy.layout.maximize(), desc="Shrink Main"), Key([mod], "x", lazy.function(kick_to_next_screen)), Key([mod], "bracketleft", lazy.findwindow(), desc='Find window'), Key([mod], "b", lazy.hide_show_bar("top"), desc='Toggle bar' ), Key([mod], "t", lazy.function(toggleMargins)), Key([mod], "z", lazy.function(incMargins)), Key([mod, "shift"], "z", lazy.function(decMargins)), # Screens Key([mod], "m", lazy.screen.toggle_group(), ),
# Shutdown qtile Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown qtile"), ### Switch focus to specific monitor Key([mod, "control"], "z", lazy.to_screen(0), desc="Focus to monitor 1"), Key([mod, "control"], "x", lazy.to_screen(1), desc="Focus to monitor 2"), ### Switch focus of monitors Key([mod, "control"], "s", lazy.next_screen(), desc="Move focus to next monitor"), Key([mod, "control"], "a", lazy.prev_screen(), desc="Move focus to prev monitor"), ] groups = [Group(i) for i in "123456789"] for i in groups: keys.extend([ # mod1 + letter of group = switch to group Key([mod], i.name, lazy.group[i.name].toscreen(), desc="Switch to group {}".format(i.name)), # mod1 + shift + letter of group = switch to & move focused window to group Key([mod, "shift"],
# Config depandency library from os import getenv import subprocess mod = "mod4" # Windows key as mod key home = getenv("HOME") # Set Home directory terminal = "alacritty" # Set terminal emulator shell = " -e fish" # Set Shell keys = [ # Switch focus of monitors Key([mod], "period", lazy.next_screen(), desc='Move focus to next monitor'), Key([mod], "comma", lazy.prev_screen(), desc='Move focus to prev monitor'), # 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"), Key([mod], "space", lazy.layout.next(), desc="Move window focus to other window"), # Move windows between left/right columns or up/down Key([mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left"), Key([mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window to the right"), Key([mod, "shift"], "j", lazy.layout.shuffle_down(),
"M-S-<Up>", lazy.layout.shuffle_up().when(layout=layout_names["monadtall"]), lazy.layout.move_up().when(layout=layout_names["treetab"]), ), # Grow/shrink windows EzKey( "M-A-<Left>", lazy.layout.shrink_main().when(layout=layout_names["monadtall"]) ), EzKey( "M-A-<Right>", lazy.layout.grow_main().when(layout=layout_names["monadtall"]) ), EzKey("M-A-<Down>", lazy.layout.shrink().when(layout=layout_names["monadtall"])), EzKey("M-A-<Up>", lazy.layout.grow().when(layout=layout_names["monadtall"])), # Move focus/windows between screens EzKey("M-<period>", lazy.next_screen()), EzKey("M-<comma>", lazy.prev_screen()), EzKey("M-S-<period>", window_to_next_screen()), EzKey("M-S-<comma>", window_to_previous_screen()), EzKey("M-C-<Right>", focus_next_group()), EzKey("M-C-<Left>", focus_previous_group()), # Various window controls EzKey("M-S-c", lazy.window.kill()), EzKey("M-C-c", lazy.window.center()), EzKey("M-S-<space>", lazy.layout.reset()), EzKey("M-f", lazy.window.toggle_fullscreen()), EzKey("M-S-f", lazy.window.toggle_floating()), EzKey("M-<space>", lazy.layout.flip()), EzKey("M-<Tab>", lazy.spawn(SWITCHER)), EzKey("M-S-<Tab>", float_to_front()), EzKey("M-b", lazy.hide_show_bar()), EzKey("M-u", clear_urgent("keybind")),
def move_group_to_prev_screen(): group = lazy.group.currentGroup() print(group) lazy.prev_screen() lazy.group[group].toscreen()
desc='Toggle Fullscreen on Current Window'), Key([mod], "k", lazy.layout.up(), desc='Swap Up In Current Window Stack'), Key([mod], "j", lazy.layout.down(), desc='Swap Down In Current Window Stack'), Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc='Move Current Window Up In Stack'), Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc='Move Current Window Down In Stack'), Key([mod], "Tab", lazy.next_layout(), desc='Toggle Layouts'), Key([mod], "h", lazy.prev_screen(), desc='Switch Focus to Left'), Key([mod], "l", lazy.next_screen(), desc='Switch Focus to Right') ] ##### GROUPS ##### group_names = [("Web", { 'layout': 'monadtall' }), ("Term", { 'layout': 'monadtall' }), ("School", { 'layout': 'monadtall' }), ("Game", { 'layout': 'max' }), ("Music", { 'layout': 'monadtall'
desc="Switch window focus to other pane(s) of stack"), # Swap panes of split stack Key([mod, "shift"], "Tab", lazy.layout.rotate(), desc="Swap panes of split stack"), # Switch between layouts Key([mod], "space", lazy.next_layout(), desc="Switch to next layout"), Key([mod, "shift"], "space", lazy.prev_layout(), desc="Switch to previous layout"), # Switch between screens Key([mod], "w", lazy.prev_screen(), desc="Switch to previous screeen"), Key([mod], "e", lazy.next_screen(), desc="Switch to next screeen"), # qtile controls Key([mod], "b", lazy.hide_show_bar(), desc="Toggle bar"), Key([mod, "shift"], "r", lazy.restart(), desc="Restart qtile"), Key([mod, "shift"], "q", lazy.shutdown(), desc="Shutdown qtile"), # Spawn commands Key([mod, "shift"], "Return", lazy.spawn(terminal), desc="Launch terminal"), Key([mod], "semicolon", lazy.group["scratchpad"].dropdown_toggle("term")), Key([mod], "q", lazy.group["scratchpad"].dropdown_toggle("qshell")), Key([mod], "p", lazy.spawn("rofi -show combi"),