# Qtile configuration by cerberus from libqtile import qtile, bar from libqtile.backend.wayland.inputs import InputConfig from libqtile.config import Screen from themes.colors import gruvbox_dark from modules.keys import keys, mouse from modules.groups import groups from modules.widgets import widgets_main, widgets_portrait, widgets_media # Application definitions apps = { "terminal": "kitty", "browser": "firefox", "filebrowser": "nemo", "cli-filebrowser": "yazi", "editor": "nvim", } # Screens screens = [ # Left screen Screen( top=bar.Bar( widgets_media, background=gruvbox_dark["bg0_hard"], opacity=0.75, size=32, margin=[3, 3, 0, 3], ), ), # Center screen Screen( top=bar.Bar( widgets_main, background=gruvbox_dark["bg0_hard"], opacity=0.75, size=32, margin=[3, 3, 0, 3], ), ), # Right screen Screen( top=bar.Bar( widgets_portrait, background=gruvbox_dark["bg0_hard"], opacity=0.75, size=32, margin=[3, 3, 0, 3], ) ), ] # Default definitions layout_defaults = dict( margin=3, border_width=0, grow_amount=2, ) widget_defaults = dict( font="Open Sans", fontsize=22, foreground=gruvbox_dark["fg1"], ) # Essentials keys = keys mouse = mouse groups = groups # Wayland specific configuration if qtile.core.name == "X11": term = "urvx" elif qtile.core.name == "wayland": term = "foot" wl_input_rules = { "type:keyboard": InputConfig( kb_repeat_delay=200, kb_repeat_rate=60, kb_layout="de", kb_options="nodeadkeys", ), } wl_xcursor_theme = None wl_xcursor_size = 18 # General Qtile configuration dgroups_key_binder = None dgroups_app_rules = [] # type: list follow_mouse_focus = True bring_front_click = True floats_kept_above = True cursor_warp = True auto_fullscreen = True focus_on_window_activation = "smart" reconfigure_screens = True auto_minimize = True wmname = "Qtile"