qtile/bar.py
2024-12-21 10:25:16 +01:00

97 lines
2.1 KiB
Python

from libqtile import bar, layout, widget, hook
from libqtile.config import Click, Drag, Group, Key, Match, Screen
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal, send_notification
widget_defaults = dict(
font="sans",
fontsize=12,
padding=3,
)
extension_defaults = widget_defaults.copy()
# Eye candy widgets
icon = widget.TextBox(
text='',
font="JetBrainsMono Nerd Font",
mouse_callbacks={"Button1":lazy.spawn("rofi -show drun -show-icons")},
fontsize=20,
margin=4,
padding=3,
)
# Funciton widgets
group_box = widget.GroupBox(
highlight_metod='block',
visible_groups=['1', '2', '3', '4', '5']
)
window_name = widget.WindowName()
kb_layout = widget.KeyboardLayout(
configured_keyboards=['us', 'cz qwerty'],
display_map={'us':'US', 'cz qwerty':'CZ'},
)
battery = widget.Battery(
format="{char}{percent:2.0%} {hour:d}:{min:02d}"
)
clock = widget.Clock(format="%y-%m-%d %a %H:%M")
# Screen definition
screens = [
Screen(
wallpaper='~/.config/qtile/wallpapers/theater_by_flaviobollo.jpg',
wallpaper_mode='fill',
left=bar.Gap(5),
right=bar.Gap(5),
bottom=bar.Gap(5),
top=bar.Bar([
icon,
group_box,
window_name,
kb_layout,
battery,
clock,
], 30,
margin=6,
border_width=1,
border_color="ffffff", # Borders are white
),
),
Screen(
wallpaper='~/.config/qtile/wallpapers/theater_by_flaviobollo.jpg',
wallpaper_mode='fill',
left=bar.Gap(5),
right=bar.Gap(5),
bottom=bar.Gap(5),
top=bar.Bar([
icon,
group_box,
window_name,
kb_layout,
battery,
clock,
], 30,
margin=6,
border_width=1,
border_color="ffffff", # Borders are white
),
)
]