), desc="Stop song", ), # --- # | Windows management # --- EzKey("M-S-c", lazy.window.kill(), desc="Kill focused window"), Key([mod], "Tab", lazy.layout.next(), desc="Alt-tab switch to next window"), Key([mod], "f", lazy.next_layout(), desc="Toggle max layout"), Key([mod], "o", lazy.next_screen(), desc="Next screen"), # --- # | Qtile management # --- # - Reload Key([mod, ctrl], "r", lazy.reload_config(), desc="Reload the config"), # - Logout Key([mod, ctrl], "q", lazy.shutdown(), desc="Shutdown Qtile"), # - Spawn Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"), ] # AZERTY keys to replace 1234567890 _group_keys = [ "ampersand", "eacute", "quotedbl", "apostrophe",
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], "q", 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([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"), ] groups = [ Group('1', label="1"), Group('2', label="2"), Group('3', label="3"), Group('4', label="4"), Group('5', label="5"), Group('6', label="6") ]
EzKey("M-n", lazy.group["scratchpad"].dropdown_toggle("newsboat")), EzKey("M-<Escape>", lazy.group["scratchpad"].hide_all()), # Spotify controls, lacking real media keys on 65% keyboard EzKey("M-8", lazy.spawn(f"{MUSIC_CTRL}PlayPause")), EzKey("M-9", lazy.spawn(f"{MUSIC_CTRL}Next")), EzKey("M-7", lazy.spawn(f"{MUSIC_CTRL}Previous")), # Media volume keys EzKey("<XF86AudioMute>", lazy.widget["volumectrl"].mute()), EzKey("M-S-m", lazy.widget["volumectrl"].mute()), # Extra keybind EzKey("<XF86AudioLowerVolume>", lazy.widget["volumectrl"].decrease_vol()), EzKey("<XF86AudioRaiseVolume>", lazy.widget["volumectrl"].increase_vol()), # Microphone toggle muted/unmuted EzKey("M-q", toggle_microphone()), # System controls EzKey("M-l", lazy.spawn("lock.sh")), EzKey("M-S-r", lazy.reload_config()), EzKey("M-C-r", lazy.restart()), EzKey("M-S-q", lazy.shutdown()), EzKey("M-C-<Escape>", lazy.spawn("poweroff")), ] # Groups group_settings: list[tuple[str, dict[str, Any]]] = [ ("1", {"label": "1", "layout": layout_names["monadtall"]}), ("2", {"label": "2", "layout": layout_names["monadtall"]}), ("3", {"label": "3", "layout": layout_names["monadtall"]}), ("4", {"label": "4", "layout": layout_names["monadtall"]}), ("5", {"label": "5", "layout": layout_names["monadtall"]}), ("6", {"label": "6", "layout": layout_names["monadtall"]}), ]
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"), Key([mod, "shift"], "t", 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, "shift"], "q", lazy.window.kill(), desc="Kill focused window"), Key([mod, "shift"], "r", lazy.reload_config(), desc="Reload the config"), Key([mod, "shift"], "e", lazy.shutdown(), desc="Shutdown Qtile"), Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"), # Switch focus of monitors # monitor 1 - laptop screen # monitor 2 - external HDMI Key([mod], "comma", lazy.to_screen(0), desc="Keyboard focus to monitor 1"), Key([mod], "period", lazy.to_screen(1), desc="Keyboard focus to monitor 2"), # App launchers Key([mod], "d", lazy.spawn(scripts + "/rofi-launch.sh"), desc="Launch Rofi drun"), # Switch keyboard layout Key([mod, "shift"], "space", lazy.spawn(scripts + "/kbd-layout-switcher.sh"), desc="Change keyboard layout"),
lazy.spawn(terminal), desc="Launch terminal", ), Key( [mod], "Tab", lazy.next_layout(), desc="Toggle between layouts", ), Key( [mod], "w", 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( [mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget", ), Key( [mod], "f", lazy.window.toggle_fullscreen(),
Key([MOD, "shift"], "j", lazy.layout.shuffle_down()), Key([MOD, "shift"], "k", lazy.layout.shuffle_up()), # 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()), Key([MOD, "control"], "l", lazy.layout.grow_right()), Key([MOD, "control"], "j", lazy.layout.grow_down()), Key([MOD, "control"], "k", lazy.layout.grow_up()), Key([MOD], "n", lazy.layout.normalize()), # 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()), Key([MOD], "Tab", lazy.screen.toggle_group()), Key([MOD, "control"], "r", lazy.reload_config()), Key([MOD, "control"], "q", lazy.shutdown()), Key([MOD], "Return", lazy.spawn(TERMINAL)), Key([MOD], "o", LAUNCHER), Key([MOD], "w", lazy.window.kill()), ] + [ key for group in groups for key in [ Key([MOD], group.name, lazy.group[group.name].toscreen()), Key( [MOD, "shift"], group.name, lazy.window.togroup(group.name, switch_group=False), ), Key( [MOD, "control"], group.name,
Key([], 'space', lazy.ungrab_chord()), ], mode='attach'), # Change other layout Key([mod], 'Tab', lazy.next_layout(), desc='Move window focus to other window'), # Key([mod], 'n', lazy.layout.normalize(), desc='Reset all window sizes'), Key([mod], 's', lazy.layout.toggle_split(), desc='Launch terminal'), Key([mod, 'shift'], 'Return', lazy.spawn(terminal), desc='Launch terminal'), Key([mod, 'shift'], 'c', lazy.window.kill(), desc='Kill focused window'), Key([mod, 'control'], 'r', lazy.reload_config(), desc='Reload the config'), Key([mod, 'control'], 'e', lazy.shutdown(), desc='Shutdown Qtile'), Key([mod], 'p', lazy.spawn( 'rofi -modi combi -show combi -combi-modi window,drun -show-icons' ), desc='show rofi'), Key([mod, 'shift'], 'p', lazy.spawn('rofi -show run'), desc='run rofi script mode'), Key([mod, 'control'], 'p', lazy.spawn( 'rofi -show power-menu -modi power-menu:rofi-power-menu -show-icons'