refactor(fws-keys): make keyboard shortcuts tool universal for hyprland and i3
Rename fws-hypr-keys to fws-keys and extend it to support both Hyprland and i3 desktop environments. The tool now detects the session type and uses appropriate methods: - Hyprland: queries hyprctl binds for real loaded bindings (wofi dmenu) - i3: parses ~/.config/i3/config with variable resolution (rofi dmenu) Update all references in configs and templates. Add VM detection warning in fws-vr-setup to prevent VR attempts in virtual machines where GPU/USB access is unavailable. Add ttf-liberation font dependency for Steam UI stability on minimal installations and improve error guidance for Steam crashes.
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
; FWS — polybar (session i3) : clone visuel de la waybar Hyprland.
|
||||
; Barre flottante arrondie, modules en « pilules » Catppuccin Mocha,
|
||||
; icônes Nerd Font (ttf-nerd-fonts-symbols). Horloge + date au centre,
|
||||
; bouton « ⌌ Raccourcis » (fws-keys), volume/réseau/CPU/RAM/tray à droite.
|
||||
|
||||
[colors]
|
||||
base = #E01e1e2e
|
||||
surface0 = #313244
|
||||
text = #cdd6f4
|
||||
subtext = #a6adc8
|
||||
blue = #89b4fa
|
||||
sapphire = #74c7ec
|
||||
teal = #94e2d5
|
||||
mauve = #cba6f7
|
||||
maroon = #eba0ac
|
||||
yellow = #f9e2af
|
||||
red = #f38ba8
|
||||
darkbase = #1e1e2e
|
||||
|
||||
[bar/fws]
|
||||
monitor = ${env:MONITOR:}
|
||||
width = 100%:-20
|
||||
offset-x = 10
|
||||
offset-y = 6
|
||||
height = 36
|
||||
radius = 14
|
||||
background = ${colors.base}
|
||||
foreground = ${colors.text}
|
||||
border-size = 1
|
||||
border-color = #5989b4fa
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
module-margin = 1
|
||||
line-size = 0
|
||||
font-0 = Noto Sans:size=10;2
|
||||
font-1 = Symbols Nerd Font:size=12;3
|
||||
font-2 = Noto Sans:weight=bold:size=10;2
|
||||
modules-left = i3 xwindow
|
||||
modules-center = date
|
||||
modules-right = keyhelp backlight pulseaudio network cpu memory tray
|
||||
enable-ipc = true
|
||||
wm-restack = i3
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
pin-workspaces = true
|
||||
show-urgent = true
|
||||
strip-wsnumbers = false
|
||||
format = <label-state> <label-mode>
|
||||
label-focused = %name%
|
||||
label-focused-background = ${colors.blue}
|
||||
label-focused-foreground = ${colors.darkbase}
|
||||
label-focused-padding = 2
|
||||
label-unfocused = %name%
|
||||
label-unfocused-background = ${colors.surface0}
|
||||
label-unfocused-foreground = ${colors.subtext}
|
||||
label-unfocused-padding = 2
|
||||
label-visible = %name%
|
||||
label-visible-background = ${colors.surface0}
|
||||
label-visible-padding = 2
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.red}
|
||||
label-urgent-foreground = ${colors.darkbase}
|
||||
label-urgent-padding = 2
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:45:…%
|
||||
label-foreground = ${colors.subtext}
|
||||
format-padding = 1
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
date = %A %d %B %Y
|
||||
time = %H:%M
|
||||
label = %time% %date%
|
||||
label-font = 3
|
||||
format-background = ${colors.surface0}
|
||||
format-padding = 3
|
||||
|
||||
[module/keyhelp]
|
||||
type = custom/script
|
||||
exec = echo " Raccourcis"
|
||||
interval = 3600
|
||||
click-left = fws-keys
|
||||
format-background = ${colors.blue}
|
||||
format-foreground = ${colors.darkbase}
|
||||
format-padding = 2
|
||||
label-font = 3
|
||||
|
||||
[module/backlight]
|
||||
type = internal/backlight
|
||||
enable-scroll = true
|
||||
format = <label>
|
||||
label = %percentage%%
|
||||
format-background = ${colors.surface0}
|
||||
format-foreground = ${colors.yellow}
|
||||
format-padding = 2
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
use-ui-max = false
|
||||
click-right = pavucontrol
|
||||
format-volume = <label-volume>
|
||||
label-volume = %percentage%%
|
||||
format-volume-background = ${colors.surface0}
|
||||
format-volume-foreground = ${colors.blue}
|
||||
format-volume-padding = 2
|
||||
label-muted = muet
|
||||
format-muted-background = ${colors.surface0}
|
||||
format-muted-foreground = ${colors.subtext}
|
||||
format-muted-padding = 2
|
||||
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface-type = wired
|
||||
interval = 5
|
||||
format-connected = <label-connected>
|
||||
label-connected = %local_ip%
|
||||
format-connected-background = ${colors.surface0}
|
||||
format-connected-foreground = ${colors.teal}
|
||||
format-connected-padding = 2
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = hors ligne
|
||||
format-disconnected-background = ${colors.surface0}
|
||||
format-disconnected-foreground = ${colors.red}
|
||||
format-disconnected-padding = 2
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 3
|
||||
label = %percentage%%
|
||||
format-background = ${colors.surface0}
|
||||
format-foreground = ${colors.mauve}
|
||||
format-padding = 2
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 3
|
||||
label = %percentage_used%%
|
||||
format-background = ${colors.surface0}
|
||||
format-foreground = ${colors.maroon}
|
||||
format-padding = 2
|
||||
|
||||
[module/tray]
|
||||
type = internal/tray
|
||||
format = <tray>
|
||||
format-background = ${colors.surface0}
|
||||
format-padding = 1
|
||||
tray-spacing = 8px
|
||||
tray-size = 16px
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
pseudo-transparency = false
|
||||
Reference in New Issue
Block a user