; 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 = updates keyhelp backlight pulseaudio network cpu memory tray power
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/updates]
type = custom/script
exec = fws-updates-check
interval = 1800
click-left = kitty -e fws-update
format-background = ${colors.surface0}
format-foreground = ${colors.yellow}
format-padding = 2

[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/power]
type = custom/text
content = 󰐥
content-foreground = ${colors.red}
content-background = ${colors.surface0}
content-padding = 2
content-font = 2
click-left = fws-powermenu

[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
