mirror of
https://github.com/olexsmir/dotfiles.git
synced 2026-01-15 16:51:34 +02:00
167 lines
6.8 KiB
Python
167 lines
6.8 KiB
Python
from typing import List
|
|
from libqtile import bar, layout, widget, hook
|
|
from libqtile.config import Click, Drag, Group, Key, Screen
|
|
from libqtile.lazy import lazy
|
|
import os
|
|
|
|
|
|
auto_fullscreen = True
|
|
focus_on_window_activation = "smart"
|
|
|
|
mod = "mod4" # Set mod key(Super/Win)
|
|
terminal = "kitty" # Set terminal
|
|
|
|
colors = [["#292d3e", "#292d3e"], # panel background
|
|
["#434758", "#434758"], # background for current screen tab
|
|
["#ffffff", "#ffffff"], # font color for group names
|
|
["#ff5555", "#ff5555"], # border line color for current tab
|
|
["#ff1151", "#ff1151"], # border line color for current tab
|
|
["#8d62a9", "#8d62a9"], # border line color for other tab and odd widgets
|
|
["#668bd7", "#668bd7"], # color for the even widgets
|
|
["#e1acff", "#e1acff"]] # window name
|
|
|
|
@hook.subscribe.startup_once
|
|
def autostart(): os.system("~/.config/qtile/autostart.sh")
|
|
|
|
|
|
keys = [
|
|
## Window control
|
|
Key([mod, "shift"], "c", lazy.window.kill(), desc="Kill focused window"),
|
|
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"),
|
|
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"),
|
|
|
|
## Layout changer
|
|
Key([mod], "space", lazy.next_layout(), desc="Toggle between layouts"),
|
|
Key([mod, "shift"], "space", lazy.prev_layout(), desc="Toggle between layouts"),
|
|
|
|
## Launch program
|
|
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
|
Key([mod], "F1", lazy.spawn(terminal + " -e ranger"), desc="Launch ranger"),
|
|
Key([mod], "F2", lazy.spawn("qutebrowser"), desc="Launch qutebrowser"),
|
|
|
|
## Program launcher(Dmenu or default)
|
|
Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget" ),
|
|
Key([mod, "shift"], "Return", lazy.spawn("dmenu_run -h 24 -p Run:"), desc="Demnu program launcher" ),
|
|
Key([mod, "control"], "u", lazy.spawn("sh ~/.script/dmenu/dmenu-config-edit.sh"), desc="Dmenu config menu"),
|
|
Key([mod, "control"], "i", lazy.spawn("passmenu -h 24"), desc="Dmenu password menu"),
|
|
|
|
## Qtile
|
|
Key([mod, "control"], "r", lazy.restart(), desc="Restart qtile"),
|
|
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown qtile"),
|
|
|
|
## Keyboard
|
|
Key(["mod1"], "Shift_L", lazy.widget['keyboardlayout'].next_keyboard(), desc="Switch keyboard layout"),
|
|
]
|
|
|
|
group_names = [("term", {'layout': 'monadtall'}),
|
|
("www", {'layout': 'monadtall'}),
|
|
("dev", {'layout': 'monadtall'}),
|
|
("sys", {'layout': 'monadtall'}),
|
|
("note", {'layout': 'monadtall'}),
|
|
("chat", {'layout': 'monadtall'}),
|
|
("pass", {'layout': 'monadtall'}),
|
|
("gft", {'layout': 'max'}),
|
|
("flo", {'layout': 'floating'})
|
|
]
|
|
groups = [Group(name, **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()))
|
|
keys.append(Key([mod, "shift"], str(i), lazy.window.togroup(name)))
|
|
|
|
layout_theme = {
|
|
"border_width": 2,
|
|
"margin": 0,
|
|
"border_focus": "e1acff",
|
|
"border_normal": "1D2330"
|
|
}
|
|
layouts = [
|
|
layout.Max(**layout_theme),
|
|
#layout.Stack(num_stacks=2, **layout_theme),
|
|
#layout.Bsp(**layout_theme),
|
|
layout.MonadTall(**layout_theme),
|
|
layout.Floating(**layout_theme)
|
|
]
|
|
|
|
widget_defaults = dict(
|
|
font='sans',
|
|
fontsize=12,
|
|
padding=5,
|
|
)
|
|
extension_defaults = widget_defaults.copy()
|
|
|
|
screens = [
|
|
Screen(
|
|
top=bar.Bar([
|
|
widget.GroupBox(
|
|
borderwidth = 0,
|
|
active = colors[2],
|
|
inactive = colors[2],
|
|
rounded = False,
|
|
highlight_color = colors[1],
|
|
highlight_method = "line",
|
|
this_current_screen_border = colors[3],
|
|
this_screen_border = colors [4],
|
|
other_current_screen_border = colors[0],
|
|
other_screen_border = colors[0],
|
|
foreground = colors[2],
|
|
background = colors[0]
|
|
),
|
|
widget.Prompt( padding = 10, foreground = colors[3], background = colors[0] ),
|
|
widget.WindowName( foreground = colors[6], background = colors[0], padding = 7 ),
|
|
widget.Systray( background = colors[0], padding = 3 ),
|
|
widget.CurrentLayout(foreground = colors[2], background = colors[0]),
|
|
widget.Net( interface = "wlp3s0", format = '{down}↓↑{up}', foreground = colors[2], background = colors[0], padding = 0 ),
|
|
widget.TextBox(padding=3, background=colors[0]),
|
|
widget.TextBox( text="", foreground = colors[2], background = colors[0], padding=3 ),
|
|
widget.Volume( update_interval = 0.2, foreground = colors[2], background = colors[0], padding=0 ),
|
|
widget.TextBox(padding=3, background=colors[0]),
|
|
widget.TextBox( text="", foreground=colors[2], background=colors[0], padding=0 ),
|
|
widget.KeyboardLayout( configured_keyboards=['us','ru', 'ua'], display_map={ 'us': ' us', 'ru': ' ru', 'ua': ' ua' }, update_interval=0.2, foreground=colors[2], background=colors[0], padding=2 ),
|
|
widget.TextBox(padding=3, background=colors[0]),
|
|
widget.TextBox( text = "", background = colors[0], foreground = colors[2], padding = 0 ),
|
|
widget.Clock( format='%H:%M:%S', foreground=colors[2], background=colors[0], padding=2 )
|
|
],
|
|
22,
|
|
),
|
|
),
|
|
]
|
|
|
|
# Drag floating layouts.
|
|
mouse = [
|
|
Drag([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()),
|
|
Click([mod], "Button2", lazy.window.bring_to_front())
|
|
]
|
|
|
|
|
|
|
|
dgroups_key_binder = None
|
|
dgroups_app_rules = [] # type: List
|
|
main = None # WARNING: this is deprecated and will be removed soon
|
|
follow_mouse_focus = True
|
|
bring_front_click = False
|
|
cursor_warp = False
|
|
floating_layout = layout.Floating(float_rules=[
|
|
{'wmclass': 'confirm'},
|
|
{'wmclass': 'dialog'},
|
|
{'wmclass': 'download'},
|
|
{'wmclass': 'error'},
|
|
{'wmclass': 'file_progress'},
|
|
{'wmclass': 'notification'},
|
|
{'wmclass': 'splash'},
|
|
{'wmclass': 'toolbar'},
|
|
{'wmclass': 'confirmreset'}, # gitk
|
|
{'wmclass': 'makebranch'}, # gitk
|
|
{'wmclass': 'maketag'}, # gitk
|
|
{'wname': 'branchdialog'}, # gitk
|
|
{'wname': 'pinentry'}, # GPG key password entry
|
|
{'wmclass': 'ssh-askpass'}, # ssh-askpass
|
|
])
|
|
auto_fullscreen = True
|
|
focus_on_window_activation = "smart"
|
|
|
|
wmname = "LG3D"
|