Compare commits

..

10 Commits

Author SHA1 Message Date
3fc747d4a7 removing the remnants of getting mpv to tile 2026-02-24 21:44:43 +01:00
54d01ddad3 fix 2026-02-24 21:42:25 +01:00
875c80027d fix 2026-02-24 17:15:18 +01:00
aa9831601b edit screens and remove pycache 2026-02-24 17:12:22 +01:00
cf9b9c55dc mod gitignore 2026-02-24 17:11:25 +01:00
d9ada5d500 mod gitignore 2026-02-24 17:10:51 +01:00
fae84a6856 remove pycache 2026-02-23 18:22:09 +01:00
e3b1f3518f mod gitignore 2026-02-23 18:20:12 +01:00
cb76a60e98 Imported in screens.py the theme as THEME 2026-02-23 18:17:48 +01:00
d90d0e4a12 Added themes 2026-02-23 18:09:49 +01:00
75 changed files with 382 additions and 327 deletions

3
.gitignore vendored
View File

@@ -1,6 +1,6 @@
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
**/__pycache__/**
*.py[cod]
*$py.class
@@ -174,3 +174,4 @@ cython_debug/
# PyPI configuration file
.pypirc

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 488 B

After

Width:  |  Height:  |  Size: 488 B

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -3,11 +3,12 @@ import subprocess
from libqtile import qtile
from qtile_extras import widget
from qtile_extras.popup.toolkit import (PopupRelativeLayout,
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
PopupWidget,
)
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark
# https://discord.com/channels/955163559086665728/1166312212223250482/1322614846155657370
# check for this PR to change back the code with the message contents to the prev code of the widget:
@@ -63,10 +64,7 @@ def calendar(qtile):
width=0.9,
v_align="middle",
h_align="center",
widget=widget.Wttr(
fontsize=40,
format='%c'
)
widget=widget.Wttr(fontsize=40, format="%c"),
),
PopupWidget(
pos_x=0.3,
@@ -76,21 +74,15 @@ def calendar(qtile):
v_align="middle",
h_align="center",
widget=widget.Wttr(
font='Open Sans Bold',
fontsize=18,
format='Actual: %t'
)
font="Open Sans Bold", fontsize=18, format="Actual: %t"
),
),
PopupWidget(
pos_x=0.3,
pos_y=0.12,
height=0.05,
width=0.9,
widget=widget.Wttr(
font='Open Sans',
fontsize=14,
format='Feels: %f'
)
widget=widget.Wttr(font="Open Sans", fontsize=14, format="Feels: %f"),
),
PopupWidget(
pos_x=0.05,
@@ -98,10 +90,8 @@ def calendar(qtile):
height=0.05,
width=0.9,
widget=widget.Wttr(
font='Open Sans',
fontsize=14,
format='Wind: %w Prec: %p'
)
font="Open Sans", fontsize=14, format="Wind: %w Prec: %p"
),
),
PopupWidget(
pos_x=0.05,
@@ -109,10 +99,10 @@ def calendar(qtile):
height=0.11,
width=0.9,
widget=widget.Wttr(
font='Open Sans Bold',
font="Open Sans Bold",
fontsize=14,
format='City: %l', # \nFeel;%f Wind: %w'
)
format="City: %l", # \nFeel;%f Wind: %w'
),
),
PopupWidget(
pos_x=0.051,
@@ -121,15 +111,17 @@ def calendar(qtile):
width=0.9,
widget=widget.GenPollText(
func=parse_cal,
font='mono',
font="mono",
fontsize=20,
markup=False,
)
),
]
),
],
)
layout.show(relative_to=3,
layout.show(
relative_to=3,
relative_to_bar=True,
y=3,
x=-3,
)

View File

@@ -6,7 +6,7 @@ from qtile_extras.popup.toolkit import (
PopupWidget,
)
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark
def monitor(qtile):

View File

@@ -1,11 +1,12 @@
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
PopupImage,
PopupText,
PopupSlider
PopupSlider,
)
image='/home/cerberus/.config/qtile/res/images/no_cover.svg'
image = "/home/cerberus/.config/qtile/assets/images/no_cover.svg"
MPRIS2_LAYOUT = PopupRelativeLayout(
None,
@@ -18,7 +19,7 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
PopupText(
"",
name="title",
font='Open Sans Bold',
font="Open Sans Bold",
fontsize=18,
pos_x=0.35,
pos_y=0.1,
@@ -30,7 +31,7 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
PopupText(
"",
name="artist",
font='Open Sans Medium',
font="Open Sans Medium",
fontsize=14,
pos_x=0.35,
pos_y=0.24,
@@ -42,7 +43,7 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
PopupText(
"",
name="album",
font='Open Sans',
font="Open Sans",
fontsize=14,
pos_x=0.35,
pos_y=0.38,
@@ -59,10 +60,12 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
width=0.21,
height=0.42,
),
PopupSlider(name="progress", pos_x=0.1, pos_y=0.6, width=0.8, height=0.1, marker_size=0),
PopupSlider(
name="progress", pos_x=0.1, pos_y=0.6, width=0.8, height=0.1, marker_size=0
),
PopupText(
name="previous",
text='󰙤',
text="󰙤",
fontsize=30,
mask=True,
pos_x=0.125,
@@ -71,13 +74,13 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
height=0.1,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
),
PopupText(
name="play_pause",
text='󰐎',
text="󰐎",
fontsize=30,
mask=True,
pos_x=0.325,
@@ -86,13 +89,13 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
height=0.1,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
),
PopupText(
name="stop",
text='',
text="",
fontsize=30,
mask=True,
pos_x=0.525,
@@ -101,13 +104,13 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
height=0.1,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
),
PopupText(
name="next",
text='󰙢',
text="󰙢",
fontsize=30,
mask=True,
pos_x=0.725,
@@ -116,10 +119,11 @@ MPRIS2_LAYOUT = PopupRelativeLayout(
height=0.1,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
),
],
close_on_click=False,
)

50
assets/popups/network.py Normal file
View File

@@ -0,0 +1,50 @@
from libqtile import qtile
from libqtile.lazy import lazy
from colors import gruvbox_dark
from qtile_extras.popup.menu import (
PopupMenu,
PopupMenuItem,
PopupMenuSeparator,
)
items = [
PopupMenuItem(
show_icon=False,
text="󰛳 Network Manager",
font="Open Sans",
fontsize=16,
can_focus=True,
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("nm-connection-editor")},
),
PopupMenuSeparator(),
PopupMenuItem(
show_icon=False,
text="󰐚 Wireguard",
font="Open Sans",
fontsize=16,
highlight_method="text",
can_focus=True,
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("wireguird")},
),
]
def network_menu(qtile):
layout = PopupMenu.generate(
qtile,
pos_x=100,
pos_y=100,
width=225,
opacity=0.7,
menuitems=items,
background=gruvbox_dark["bg0_soft"],
)
layout.show(relative_to=1, relative_to_bar=True, y=136, x=220)

View File

@@ -0,0 +1,71 @@
from libqtile.lazy import lazy
from colors import gruvbox_dark
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
PopupText,
)
# qtile/resources/themes/colors.py
def power_menu(qtile):
layout = PopupRelativeLayout(
qtile,
width=800,
height=250,
opacity=0.7,
# border=gruvbox_dark["red"],
# border_width=3,
background=gruvbox_dark["bg0_soft"],
initial_focus=None,
controls=[
PopupText(
# Lock betterlockscreen --lock blur
text="",
fontsize=80,
pos_y=0,
pos_x=0.1,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("betterlockscreen --lock blur")},
highlight_method="text",
highlight=gruvbox_dark["green"],
),
PopupText(
# Hybrid Sleep systemctl hybrid-sleep
text="󰒲",
fontsize=80,
pos_y=0,
pos_x=0.32,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl hybrid-sleep")},
highlight_method="text",
highlight=gruvbox_dark["yellow"],
),
PopupText(
# Hibernate systemctl hibernate
text="",
fontsize=80,
pos_y=0,
pos_x=0.55,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl hibernate")},
highlight_method="text",
highlight=gruvbox_dark["orange"],
),
PopupText(
# Power off systemctl poweroff
text="",
fontsize=80,
pos_y=0,
pos_x=0.8,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl poweroff")},
highlight_method="text",
highlight=gruvbox_dark["red"],
),
],
)
layout.show(relative_to=5, relative_to_bar=True, hide_on_timeout=5)

View File

@@ -2,7 +2,7 @@ from pydoc import importfile
from libqtile import qtile
from libqtile.lazy import lazy
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
@@ -10,6 +10,7 @@ from qtile_extras.popup.toolkit import (
PopupText,
)
def powermenu_2(qtile):
layout = PopupRelativeLayout(
qtile,
@@ -23,7 +24,7 @@ def powermenu_2(qtile):
controls=[
PopupText(
# Lock
text='',
text="",
fontsize=22,
pos_x=0.07,
pos_y=0.05,
@@ -32,14 +33,14 @@ def powermenu_2(qtile):
can_focus=True,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("betterlockscreen --lock blur")},
),
PopupText(
# Reboot
text='',
text="",
fontsize=22,
pos_x=0.3,
pos_y=0.05,
@@ -48,14 +49,14 @@ def powermenu_2(qtile):
can_focus=True,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("systemctl reboot")},
),
PopupText(
# Suspend
text='󰒲',
text="󰒲",
fontsize=22,
pos_x=0.54,
pos_y=0.05,
@@ -64,14 +65,14 @@ def powermenu_2(qtile):
can_focus=True,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("systemctl suspend")},
),
PopupText(
# Shutdown
text='',
text="",
fontsize=22,
pos_x=0.78,
pos_y=0.05,
@@ -80,11 +81,12 @@ def powermenu_2(qtile):
can_focus=True,
v_align="middle",
h_align="center",
highlight_method='text',
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("systemctl poweroff")},
),
]
],
)
layout.show(relative_to=1, relative_to_bar=True, y=136, x=30)

61
assets/popups/settings.py Normal file
View File

@@ -0,0 +1,61 @@
from libqtile import qtile
from libqtile.lazy import lazy
from colors import gruvbox_dark
from qtile_extras.popup.menu import (
PopupMenu,
PopupMenuItem,
PopupMenuSeparator,
)
items = [
PopupMenuItem( # Wallpaper setting
show_icon=False,
text=" 󰸉 Nitrogen Wallpaper",
font="Open Sans",
fontsize=16,
can_focus=True,
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("nitrogen")},
),
PopupMenuSeparator(),
PopupMenuItem( # Arandr
show_icon=False,
text=" 󰹑 Arandr Display",
font="Open Sans",
fontsize=16,
can_focus=True,
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("arandr")},
),
PopupMenuSeparator(),
PopupMenuItem( # VS-Code qtile config
show_icon=False,
text="  Qtile Config",
font="Open Sans",
fontsize=16,
can_focus=True,
highlight_method="text",
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("code /home/cerberus/.config/")},
),
]
def settings(qtile):
layout = PopupMenu.generate(
qtile,
pos_x=100,
pos_y=100,
width=225,
opacity=0.7,
menuitems=items,
background=gruvbox_dark["bg0_soft"],
)
layout.show(relative_to=1, relative_to_bar=True, y=75, x=325)

View File

@@ -9,11 +9,11 @@ from qtile_extras.popup.toolkit import (
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
from popups.monitor import monitor
from colors import gruvbox_dark
from assets.popups.settings import settings
from assets.popups.network import network_menu
from assets.popups.powermenu_sub import powermenu_2
from assets.popups.monitor import monitor
def start_menu(qtile):
@@ -36,7 +36,7 @@ def start_menu(qtile):
width=0.3,
mask=True,
colour=gruvbox_dark["blue"],
filename="/home/cerberus/.config/qtile/res/images/standby_rotated.png",
filename="/home/cerberus/.config/qtile/assets/images/standby_rotated_.png",
),
PopupWidget(
# Welcome banner, fetching user name from $USER
@@ -183,4 +183,3 @@ def start_menu(qtile):
],
)
layout.show(relative_to=1, relative_to_bar=True, y=3, x=3)

View File

@@ -1,10 +1,6 @@
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
PopupText,
PopupSlider
)
from qtile_extras.popup.toolkit import PopupRelativeLayout, PopupText, PopupSlider
VOL_POPUP = PopupRelativeLayout(
@@ -38,3 +34,4 @@ VOL_POPUP = PopupRelativeLayout(
),
],
)

70
colors.py Normal file
View File

@@ -0,0 +1,70 @@
# --------------------------------------------------------
# Gruvbox Dark Theme Colors
# --------------------------------------------------------
gruvbox_dark = {
"bg0_hard": "#1d2021", # Background, hard
"bg0_soft": "#32302f", # Background, soft
"bg0_normal": "#282828", # Background, normal
"bg1": "#3c3836", # Secondary background
"bg2": "#504945", # Background, darker
"bg3": "#665c54", # Background, lighter
"bg4": "#7c6f64", # Background, lightest
"fg0": "#fbf1c7", # Foreground, light
"fg1": "#ebdbb2", # Foreground, normal
"fg2": "#d5c4a1", # Foreground, slightly dark
"fg3": "#bdae93", # Foreground, dark
"red": "#cc241d", # Red
"orange": "#d65d0e", # Orange
"yellow": "#d79921", # Yellow
"green": "#98971a", # Green
"aqua": "#689d6a", # Aqua
"blue": "#458588", # Blue
"purple": "#b16286", # Purple
}
gruvbox_light = {
# Backgrounds (Helle Töne)
"bg0_hard": "#f9f5d7", # Background, hard (sehr helles Beige)
"bg0_soft": "#f2e5bc", # Background, soft
"bg0_normal": "#fbf1c7", # Background, normal (der Standard-Look)
"bg1": "#ebdbb2", # Secondary background
"bg2": "#d5c4a1", # Background, darker (UI Elemente)
"bg3": "#bdae93", # Background, lighter
"bg4": "#a89984", # Background, lightest
# Foregrounds (Dunkle Töne für Text)
"fg0": "#282828", # Foreground, light (eigentlich dunkelster Text)
"fg1": "#3c3836", # Foreground, normal
"fg2": "#504945", # Foreground, slightly dark
"fg3": "#665c54", # Foreground, dark
# Colors (Angepasst für Kontrast auf hellem Grund)
"red": "#9d0006", # Red
"orange": "#af3a03", # Orange
"yellow": "#b57614", # Yellow
"green": "#79740e", # Green
"aqua": "#427b58", # Aqua
"blue": "#076678", # Blue
"purple": "#8f3f71", # Purple
}
everforest_dark = {
# Backgrounds
"bg0_hard": "#272e33", # Background, hard
"bg0_soft": "#333c43", # Background, soft
"bg0_normal": "#2d353b", # Background, normal
"bg1": "#3d484d", # Secondary background
"bg2": "#475258", # Background, darker (UI elements)
"bg3": "#4f585e", # Background, lighter
"bg4": "#56635f", # Background, lightest
# Foregrounds
"fg0": "#d3c6aa", # Foreground, light
"fg1": "#e6e2cc", # Foreground, normal
"fg2": "#dbd6bd", # Foreground, slightly dark
"fg3": "#9da9a0", # Foreground, dark
# Colors
"red": "#e67e80", # Red
"orange": "#e69875", # Orange
"yellow": "#dbbc7f", # Yellow
"green": "#a7c080", # Green
"aqua": "#83c092", # Aqua
"blue": "#7fbbb3", # Blue
"purple": "#d699b6", # Purple
}

View File

@@ -1,8 +1,8 @@
from modules.screens import screens, widget_defaults
from modules.keys import keys, mouse
from modules.layouts import layouts, floating_layout
from modules.groups import groups
from modules.hooks import *
from screens import screens, widget_defaults
from keys import keys, mouse
from layouts import layouts, floating_layout
from groups import groups
from hooks import *
from libqtile import qtile
from libqtile.backend.wayland.inputs import InputConfig

View File

@@ -1,6 +1,6 @@
from libqtile.config import Group, Key, Match, DropDown, ScratchPad
from libqtile.lazy import lazy
from .keys import keys, mod
from keys import keys, mod
import re
group_screen_map = {

View File

@@ -14,6 +14,7 @@ from libqtile import hook, qtile
import subprocess
import os.path
from libqtile.config import Match
import asyncio
# --------------------------------------------------------------------
# HOOK startup
@@ -24,7 +25,7 @@ FULLSCREEN_RULES = [Match(wm_class="flameshot")]
@hook.subscribe.startup_once
def autostart():
autostartscript = "~/.config/qtile/res/scripts/autostart.sh"
autostartscript = "~/.config/qtile/assets/scripts/autostart.sh"
home = os.path.expanduser(autostartscript)
subprocess.Popen([home])

View File

View File

View File

@@ -1,48 +0,0 @@
from libqtile import qtile
from libqtile.lazy import lazy
from res.themes.colors import gruvbox_dark
from qtile_extras.popup.menu import (
PopupMenu,
PopupMenuItem,
PopupMenuSeparator,
)
items=[
PopupMenuItem(
show_icon=False,
text='󰛳 Network Manager',
font='Open Sans',
fontsize=16,
can_focus=True,
highlight_method='text',
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("nm-connection-editor")},
),
PopupMenuSeparator(),
PopupMenuItem(
show_icon=False,
text='󰐚 Wireguard',
font='Open Sans',
fontsize=16,
highlight_method='text',
can_focus=True,
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("wireguird")},
)
]
def network_menu(qtile):
layout = PopupMenu.generate(
qtile,
pos_x=100,
pos_y=100,
width=225,
opacity=0.7,
menuitems=items,
background=gruvbox_dark["bg0_soft"]
)
layout.show(relative_to=1, relative_to_bar=True, y=136, x=220)

View File

@@ -1,70 +0,0 @@
from libqtile.lazy import lazy
from res.themes.colors import gruvbox_dark
from qtile_extras.popup.toolkit import (
PopupRelativeLayout,
PopupText,
)
# qtile/resources/themes/colors.py
def power_menu(qtile):
layout = PopupRelativeLayout(
qtile,
width=800,
height=250,
opacity=0.7,
# border=gruvbox_dark["red"],
# border_width=3,
background=gruvbox_dark["bg0_soft"],
initial_focus=None,
controls=[
PopupText(
# Lock betterlockscreen --lock blur
text="",
fontsize=80,
pos_y=0,
pos_x=0.1,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("betterlockscreen --lock blur")},
highlight_method='text',
highlight=gruvbox_dark["green"],
),
PopupText(
# Hybrid Sleep systemctl hybrid-sleep
text="󰒲",
fontsize=80,
pos_y=0,
pos_x=0.32,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl hybrid-sleep")},
highlight_method='text',
highlight=gruvbox_dark["yellow"],
),
PopupText(
# Hibernate systemctl hibernate
text="",
fontsize=80,
pos_y=0,
pos_x=0.55,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl hibernate")},
highlight_method='text',
highlight=gruvbox_dark["orange"],
),
PopupText(
# Power off systemctl poweroff
text="",
fontsize=80,
pos_y=0,
pos_x=0.8,
width=0.2,
height=1,
mouse_callbacks={"Button1": lazy.spawn("systemctl poweroff")},
highlight_method='text',
highlight=gruvbox_dark["red"],
),
],
)
layout.show(relative_to=5, relative_to_bar=True, hide_on_timeout=5)

View File

@@ -1,59 +0,0 @@
from libqtile import qtile
from libqtile.lazy import lazy
from res.themes.colors import gruvbox_dark
from qtile_extras.popup.menu import (
PopupMenu,
PopupMenuItem,
PopupMenuSeparator,
)
items = [
PopupMenuItem(# Wallpaper setting
show_icon=False,
text=' 󰸉 Nitrogen Wallpaper',
font='Open Sans',
fontsize=16,
can_focus=True,
highlight_method='text',
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("nitrogen")},
),
PopupMenuSeparator(),
PopupMenuItem(# Arandr
show_icon=False,
text=' 󰹑 Arandr Display',
font='Open Sans',
fontsize=16,
can_focus=True,
highlight_method='text',
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("arandr")},),
PopupMenuSeparator(),
PopupMenuItem(# VS-Code qtile config
show_icon=False,
text='  Qtile Config',
font='Open Sans',
fontsize=16,
can_focus=True,
highlight_method='text',
foreground=gruvbox_dark["fg0"],
highlight=gruvbox_dark["green"],
mouse_callbacks={"Button1": lazy.spawn("code /home/cerberus/.config/")},),
]
def settings(qtile):
layout = PopupMenu.generate(
qtile,
pos_x=100,
pos_y=100,
width=225,
opacity=0.7,
menuitems=items,
background=gruvbox_dark["bg0_soft"]
)
layout.show(relative_to=1, relative_to_bar=True, y=75, x=325)

View File

@@ -1,25 +0,0 @@
# --------------------------------------------------------
# Gruvbox Dark Theme Colors
# --------------------------------------------------------
gruvbox_dark = {
"bg0_hard": "#1d2021", # Background, hard
"bg0_soft": "#32302f", # Background, soft
"bg0_normal": "#282828", # Background, normal
"bg1": "#3c3836", # Secondary background
"bg2": "#504945", # Background, darker
"bg3": "#665c54", # Background, lighter
"bg4": "#7c6f64", # Background, lightest
"fg0": "#fbf1c7", # Foreground, light
"fg1": "#ebdbb2", # Foreground, normal
"fg2": "#d5c4a1", # Foreground, slightly dark
"fg3": "#bdae93", # Foreground, dark
"red": "#cc241d", # Red
"orange": "#d65d0e", # Orange
"yellow": "#d79921", # Yellow
"green": "#98971a", # Green
"aqua": "#689d6a", # Aqua
"blue": "#458588", # Blue
"purple": "#b16286" # Purple
}

View File

@@ -9,21 +9,20 @@
# --------------------------------------------------------------------
from libqtile.config import Screen
from libqtile import bar
from libqtile.widget import mpd2widget
from libqtile.lazy import lazy
from qtile_extras import widget
from qtile_extras.widget.groupbox2 import GroupBoxRule
# from plugins.notifications import Notifier
from plugins.graphical_notifications import Notifier
from assets.plugins.graphical_notifications import Notifier
from popups.powermenu import power_menu
from popups.start_menu import start_menu
from popups.calendar import calendar
from popups.mpris2_layout import MPRIS2_LAYOUT
from popups.volume_notification import VOL_POPUP
from assets.popups.powermenu import power_menu
from assets.popups.start_menu import start_menu
from assets.popups.calendar import calendar
from assets.popups.mpris2_layout import MPRIS2_LAYOUT
from assets.popups.volume_notification import VOL_POPUP
from res.themes.colors import gruvbox_dark
from colors import gruvbox_dark as THEME
# --------------------------------------------------------
@@ -32,14 +31,10 @@ from res.themes.colors import gruvbox_dark
def get_groupbox_rules(monitor_specific=True):
# Base rules applied to all GroupBoxes
rules = [
GroupBoxRule(text_colour=gruvbox_dark["bg3"]).when(
focused=False, occupied=True
),
GroupBoxRule(text_colour=gruvbox_dark["aqua"]).when(
focused=False, occupied=False
),
GroupBoxRule(text_colour=gruvbox_dark["fg3"]).when(focused=True),
GroupBoxRule(text_colour=gruvbox_dark["red"]).when(
GroupBoxRule(text_colour=THEME["bg3"]).when(focused=False, occupied=True),
GroupBoxRule(text_colour=THEME["aqua"]).when(focused=False, occupied=False),
GroupBoxRule(text_colour=THEME["fg3"]).when(focused=True),
GroupBoxRule(text_colour=THEME["red"]).when(
focused=False, occupied=True, urgent=True
),
GroupBoxRule(visible=False).when(focused=False, occupied=False),
@@ -57,23 +52,35 @@ def get_groupbox_rules(monitor_specific=True):
widget_defaults = dict(
font="Roboto Flex",
fontsize=20,
foreground=gruvbox_dark["fg1"],
foreground=THEME["fg1"],
)
extension_defaults = widget_defaults.copy()
# --------------------------------------------------------
# Screens
# --------------------------------------------------------
bar.Bar
# All across defaults:
BACKGROUND = THEME["bg0_hard"]
OPACITY = 0.7
SIZE = 32
MARGIN = [3, 3, 0, 3]
# screens = [
# Screen(top=bar.Bar([widget.Spacer()], size=SIZE)),
# Screen(top=bar.Bar([widget.Spacer()], size=SIZE)),
# Screen(top=bar.Bar([widget.Spacer()], size=SIZE)),
# ]
screens = [
Screen(
# Center Screen
serial="0000000000001",
top=bar.Bar(
[
widget.TextBox(
text="",
fontsize=24,
foreground=gruvbox_dark["blue"],
foreground=THEME["blue"],
mouse_callbacks={"Button1": lazy.function(start_menu)},
),
widget.GroupBox2(
@@ -116,20 +123,21 @@ screens = [
popup_show_args={"relative_to": 8, "y": -70},
),
],
background=gruvbox_dark["bg0_hard"],
opacity=0.75,
size=32,
margin=[3, 3, 0, 3],
background=BACKGROUND,
opacity=OPACITY,
size=SIZE,
margin=MARGIN,
),
),
Screen(
serial="25175B003924",
# Right Screen
top=bar.Bar(
[
widget.TextBox(
text="",
fontsize=24,
foreground=gruvbox_dark["blue"],
foreground=THEME["blue"],
mouse_callbacks={"Button1": lazy.function(start_menu)},
),
widget.GroupBox2(
@@ -142,7 +150,7 @@ screens = [
hide_unused=True,
rules=get_groupbox_rules(monitor_specific=False),
),
widget.Spacer(status_format="{play_status} {artist}/{title}"),
widget.Spacer(),
widget.WidgetBox(
fontsize=22,
text_closed="󱤟",
@@ -168,20 +176,21 @@ screens = [
mouse_callbacks={"Button1": lazy.function(power_menu)},
),
],
background=gruvbox_dark["bg0_hard"],
opacity=0.75,
size=32,
margin=[3, 3, 0, 3],
background=BACKGROUND,
opacity=OPACITY,
size=SIZE,
margin=MARGIN,
),
),
Screen(
# Left Screen
serial="25175B004131",
top=bar.Bar(
[
widget.TextBox(
text="",
fontsize=24,
foreground=gruvbox_dark["blue"],
foreground=THEME["blue"],
mouse_callbacks={"Button1": lazy.function(start_menu)},
),
widget.GroupBox2(
@@ -206,7 +215,7 @@ screens = [
width=350,
scroll=True,
scroll_clear=True,
foreground=gruvbox_dark["fg1"],
foreground=THEME["fg1"],
format="{xesam:title} - {xesam:artist}",
paused_text="{track} ",
popup_layout=MPRIS2_LAYOUT,
@@ -223,10 +232,10 @@ screens = [
mouse_callbacks={"Button1": lazy.function(power_menu)},
),
],
background=gruvbox_dark["bg0_hard"],
opacity=0.75,
size=32,
margin=[3, 3, 0, 3],
background=BACKGROUND,
opacity=OPACITY,
size=SIZE,
margin=MARGIN,
),
),
]
@@ -237,11 +246,11 @@ notifier = Notifier(
height=80,
format="<b>{summary}</b>\n{app_name}\n{body}",
# file_name='/home/cerberus/.config/qtile/normal.png', # Not working
foreground=gruvbox_dark["fg1"],
foreground=THEME["fg1"],
background=(
gruvbox_dark["bg0_hard"],
gruvbox_dark["bg0_hard"],
gruvbox_dark["orange"],
THEME["bg0_hard"],
THEME["bg0_hard"],
THEME["orange"],
),
horizontal_padding=10,
vertical_padding=10,