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 from qtile_extras import widget from qtile_extras.widget.decorations import PowerLineDecoration # Defaults widget_defaults = dict( font="sans", fontsize=12, padding=3, ) extension_defaults = widget_defaults.copy() colors = [["#293136", "#293136"], #bg_dim [0] ["#333C43", "#333C43"], #bg_0 [1] ["#3A464C", "#3A464C"], #bg_1 [2] ["#434F55", "#434F55"], #bg_2 [3] ["#4D5960", "#4D5960"], #bg_3 [4] ["#555F66", "#555F66"], #bg_4 [5] ["#7FBBB3", "#7FBBB3"], #blue [6] ["#A7C080", "#A7C080"], #green [7] ["#DBBC7F", "#DBBC7F"], #yellow [8] ["#E69875", "#E69875"], #orange [9] ['#ED8082', '#ED8080'], #red [10] ] # Eye candy widgets rounded_left = { "decorations": [ PowerLineDecoration( path='rounded_left', size=10, ) ] } rounded_right = { "decorations": [ PowerLineDecoration( path='rounded_right', size=10, ) ] } # Funciton 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, **rounded_left, background= colors[0], ) group_box = widget.GroupBox( font="JetBrainsMono Nerd Font Mono", highlight_method='line', highlight_color=colors[2], background = colors[4], **rounded_left, ) spacer = widget.Spacer( **rounded_right, background = "#00000000", #transparent ) kb_layout = widget.KeyboardLayout( configured_keyboards=['us', 'cz qwerty'], display_map={'us':'US', 'cz qwerty':'CZ'}, font="JetBrainsMono Nerd Font", fmt=" {}", background=colors[4], **rounded_right, ) ram = widget.Memory( font="JetBrainsMono Nerd Font", format = " {MemFree:.0f} 󰓡 {SwapFree:.0f}", mouse_callbacks={"Button1":lazy.spawn("alacritty -e btop")}, background=colors[6], mesure_mem="M", mesure_swap="M", **rounded_right, ) battery = widget.Battery( font="JetBrainsMono Nerd Font", format="{char} {percent:2.0%} {hour:d}:{min:02d}", background=colors[8], full_background=colors[7], low_background=colors[10], charge_char = "󰂄", discharge_char = "󰁼", empty_char= "󱃍", **rounded_right, ) clock = widget.Clock( format=" %y-%m-%d %a %H:%M", background=colors[0], padding = 5, ) # 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, spacer, kb_layout, ram, battery, clock, ], 30, margin=6, ), ), 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, spacer, kb_layout, ram, battery, clock, ], 30, margin=6, ), ) ]