from libqtile import qtile from libqtile.lazy import lazy from qtile_extras import widget from qtile_extras.popup.toolkit import ( PopupRelativeLayout, PopupImage, PopupText, PopupWidget, ) from res.themes.colors import gruvbox_dark from popups.settings import settings from popups.network import network_menu from popups.powermenu_sub import powermenu_2 def start_menu(qtile): layout = PopupRelativeLayout( qtile, width=350, height=150, opacity=0.7, hide_on_mouse_leave=True, close_on_click=False, border_width=0, background=gruvbox_dark["bg0_soft"], controls=[ # Row 1 PopupImage( # Qtile logo pos_x=-0.09, pos_y=0.117, height=0.45, width=0.45, mask=True, colour=gruvbox_dark["blue"], filename='/home/cerberus/.config/qtile/res/images/standby_rotated.png', ), PopupWidget( # Welcome banner, fetching user name from $USER pos_x=0.241, pos_y=0.12, height=0.15, width=0.8, widget=widget.GenPollCommand( foreground=gruvbox_dark["orange"], cmd="echo Welcome $USER", shell=True, font='Open Sans Bold', fontsize=20, width=250, scroll=True, ), ), PopupText( # Steam Gamemode (Controller) text='󰊴', fontsize=34, pos_x=0.271, pos_y=0.4, width=0.34, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.spawn("steam -gamepadui")}, ), PopupText( # Settings text='', fontsize=22, pos_x=0.631, pos_y=0.4, width=0.34, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.function(settings)}, ), PopupText( # Power-Menu Popup text='󱖘', fontsize=24, pos_x=0.035, pos_y=0.7, width=0.22, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.function(powermenu_2)}, ), PopupText( # Bluetooth text='󰂯', fontsize=24, pos_x=0.271, pos_y=0.7, width=0.22, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.spawn("blueman-manager")}, ), PopupText( # Network Popup text='󰌘', fontsize=24, pos_x=0.511, pos_y=0.7, width=0.22, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.function(network_menu)}, ), PopupText( # Audiocontrol text='', fontsize=24, pos_x=0.75, pos_y=0.7, width=0.22, height=0.2, can_focus=True, v_align="middle", h_align="center", highlight_method='text', foreground=gruvbox_dark["fg0"], highlight=gruvbox_dark["green"], background=gruvbox_dark["bg2"], mouse_callbacks={"Button1": lazy.spawn("pavucontrol-qt")}, ), PopupText( # "extras" text='extras', font='Open Sans Bold', foreground=gruvbox_dark["fg2"], fontsize=10, pos_x=0.055, pos_y=0.57, height=0.05, width=0.15, ) ] ) layout.show(relative_to=1, relative_to_bar=True, y=3, x=3)