102 lines
2.2 KiB
Python
102 lines
2.2 KiB
Python
# 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 keybinds, mousebinds
|
|
from modules.groups import groups, get_group_keys
|
|
from modules.widgets import widgets_main, widgets_portrait, widgets_media
|
|
from modules.hooks import *
|
|
from modules.layouts import layouts
|
|
|
|
# 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],
|
|
)
|
|
),
|
|
]
|
|
|
|
|
|
widget_defaults = dict(
|
|
font="Open Sans",
|
|
fontsize=22,
|
|
foreground=gruvbox_dark["fg1"],
|
|
)
|
|
|
|
# Essentials
|
|
mod = "mod4"
|
|
keys = keybinds()
|
|
keys.extend(get_group_keys(mod))
|
|
mouse = mousebinds()
|
|
groups = groups
|
|
layouts = layouts
|
|
|
|
# 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"
|