sway workspace border colors
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||||
exec_always autotiling -l 2
|
exec_always autotiling -l 2
|
||||||
|
exec_always ~/.config/sway/scripts/workspace-colors.py
|
||||||
exec_always eww daemon && (eww open bar0 || true) && (eww open bar1 || true)
|
exec_always eww daemon && (eww open bar0 || true) && (eww open bar1 || true)
|
||||||
exec_always mako
|
exec_always mako
|
||||||
|
|
||||||
|
|||||||
41
sway/.config/sway/scripts/workspace-colors.py
Executable file
41
sway/.config/sway/scripts/workspace-colors.py
Executable file
@@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import i3ipc
|
||||||
|
import os
|
||||||
|
import signal
|
||||||
|
|
||||||
|
PID_FILE = '/tmp/workspace-colors.pid'
|
||||||
|
|
||||||
|
COLORS = {
|
||||||
|
'1': '#69C3FF',
|
||||||
|
'2': '#FF69C3',
|
||||||
|
'3': '#69FFC3',
|
||||||
|
'4': '#C369FF',
|
||||||
|
'5': '#FFC369',
|
||||||
|
}
|
||||||
|
|
||||||
|
# Kill any previous instance
|
||||||
|
try:
|
||||||
|
old_pid = int(open(PID_FILE).read())
|
||||||
|
os.kill(old_pid, signal.SIGTERM)
|
||||||
|
except (OSError, ValueError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
with open(PID_FILE, 'w') as f:
|
||||||
|
f.write(str(os.getpid()))
|
||||||
|
|
||||||
|
def apply_color(conn, ws_name):
|
||||||
|
color = COLORS.get(ws_name)
|
||||||
|
if color:
|
||||||
|
conn.command(f'client.focused {color} {color} {color} {color} {color}')
|
||||||
|
|
||||||
|
def on_workspace_focus(conn, event):
|
||||||
|
apply_color(conn, event.current.name)
|
||||||
|
|
||||||
|
conn = i3ipc.Connection()
|
||||||
|
|
||||||
|
focused = next((w for w in conn.get_workspaces() if w.focused), None)
|
||||||
|
if focused:
|
||||||
|
apply_color(conn, focused.name)
|
||||||
|
|
||||||
|
conn.on(i3ipc.Event.WORKSPACE_FOCUS, on_workspace_focus)
|
||||||
|
conn.main()
|
||||||
Reference in New Issue
Block a user