From 45fd1a21da0ed93fa3ec4e7cec22c48e1ab754cb Mon Sep 17 00:00:00 2001 From: tactonbishop <tactonbishop@gmail.com> Date: Sat, 14 May 2022 13:56:21 +0100 Subject: [PATCH] Set up Polybar and launch with i3 --- i3/config | 18 +-- polybar/{config => config.ini} | 273 ++++++++++++++++++--------------- polybar/launch.sh | 9 ++ 3 files changed, 167 insertions(+), 133 deletions(-) rename polybar/{config => config.ini} (50%) create mode 100755 polybar/launch.sh diff --git a/i3/config b/i3/config index ecf1876..55710e7 100644 --- a/i3/config +++ b/i3/config @@ -180,18 +180,18 @@ mode "resize" { bindsym $mod+r mode "resize" -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - status_command i3status -} +# --- Status bar --- # -for_window [class="^.*"] border pixel 1 +# Launch Polybar on init instead of default i3bar: -gaps inner 10 -gaps outer 5 +exec_always --no-startup-id $HOME/.config/polybar/launch.sh -# Theming +# --- Theming ----- # + +gaps inner 5 +gaps outer 3 + +for_window [class="^.*"] border pixel 2 set $yellow #717f24 set $green #2f7e25 diff --git a/polybar/config b/polybar/config.ini similarity index 50% rename from polybar/config rename to polybar/config.ini index bf63ee9..d7ab6b1 100644 --- a/polybar/config +++ b/polybar/config.ini @@ -15,32 +15,38 @@ ; The README contains a lot of information ; ;========================================================== - -[colors] -;background = ${xrdb:color0:#222} +[colors] background = #112615 background-alt = #444 -;foreground = ${xrdb:color7:#222} foreground = #637d75 -foreground-alt = #7f2b26 -primary = #ffb52a -secondary = #e60053 -alert = #bd2c40 +foreground-alt = #717f24 +primary = #2f7e25 +secondary = #2f6a7f +alert = #7f2b26 +disabled = #707880 +; [colors] +; background = #282A2E +; background-alt = #373B41 +; foreground = #C5C8C6 +; primary = #F0C674 +; secondary = #8ABEB7 +; alert = #A54242 +; disabled = #707880 [bar/example] -;monitor = ${env:MONITOR:HDMI-1} + width = 100% height = 27 -;offset-x = 1% -;offset-y = 1% radius = 0 -fixed-center = false + +; dpi = 96 + +monitor = ${env:MONITOR:} background = ${colors.background} foreground = ${colors.foreground} line-size = 2 -line-color = #f00 border-size = 0 border-color = #00000000 @@ -49,139 +55,193 @@ padding-left = 2 padding-right = 2 module-margin-left = 1 -module-margin-right = 2 +module-margin-right =2 -font-0 = Roboto:pixelsize=11:style=Medium; 1 +;separator = | +;separator-foreground = ${colors.disabled} + +font-0 = Roboto:pixelsize=11:style=Medium; 2 font-1 = unicode:fontformat=truetype:size=8:antialias=false;0 font-2 = siji:pixelsize=10;1 - -modules-left = spotify -modules-center = -modules-right = filesystem memory cpu battery temperature date eth wlan +font-3 = SymbolsNerdFont:size=14;5 +modules-left = my-text-label xworkspaces xwindow +modules-right = filesystem memory cpu battery temperature wlan date +; modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date tray-position = right tray-padding = 2 -;tray-background = #0063ff - -;wm-restack = bspwm -;wm-restack = i3 - -;override-redirect = true - -;scroll-up = bspwm-desknext -;scroll-down = bspwm-deskprev - -;scroll-up = i3wm-wsnext -;scroll-down = i3wm-wsprev cursor-click = pointer cursor-scroll = ns-resize +enable-ipc = true +; tray-position = right + +; wm-restack = generic +; wm-restack = bspwm +; wm-restack = i3 + +; override-redirect = true + +[module/xworkspaces] +type = internal/xworkspaces + +label-active = %name% +label-active-foreground = #0f1610 +label-active-background = #2f7e25 +;label-active-underline= #18e000 +label-active-padding = 3 + +label-occupied = %name% +label-occupied-padding = 3 +label-occupied-background = #0f1610 + +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 3 + +label-empty = %name% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 3 + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% +;format-foreground = #717f24 [module/filesystem] type = internal/fs interval = 25 mount-0 = / -label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-mounted = %{F#18e000}%mountpoint%%{F-} %percentage_used%% (%used%/%free%) +label-mounted-underline = #2f7e25 label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.foreground-alt} +label-unmounted-foreground = ${colors.disabled} +[module/pulseaudio] +type = internal/pulseaudio +format-volume-prefix = "VOL " +format-volume-prefix-foreground = ${colors.primary} +format-volume = <label-volume> -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #df8008 -label = %percentage:2%% +label-volume = %percentage%% + +label-muted = muted +label-muted-foreground = ${colors.disabled} + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +label-layout = %layout% +label-layout-foreground = ${colors.primary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-foreground = ${colors.background} +label-indicator-background = ${colors.secondary} [module/memory] type = internal/memory interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} +format-prefix = "" format-underline = #707f23 -label = %percentage_used%% +format-prefix-foreground = ${colors.primary} +;format-prefix-foreground = ${colors.primary} +label = %percentage_used:2% (%gb_used%/%gb_free%) + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "" +format-underline = #df8008 +format-prefix-foreground = ${colors.primary} +label = %percentage:2%% + +[network-base] +type = internal/network +interval = 5 +format-connected = <label-connected> +format-disconnected = <label-disconnected> +label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected [module/wlan] -type = internal/network -interface = wlp9s0 +inherit = network-base +interface-type = wireless +;label-connected = %{F#F0C674}%ifname%%{F-} %essid% + interval = 3.0 format-connected = <ramp-signal> <label-connected> format-connected-underline = #47577e label-connected = %essid% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - ramp-signal-0 = ramp-signal-1 = ramp-signal-2 = ramp-signal-3 = ramp-signal-4 = -ramp-signal-foreground = ${colors.foreground-alt} +ramp-signal-foreground = ${colors.primary} [module/eth] -type = internal/network -interface = eno1 -interval = 3.0 - -format-connected-underline = #55aa55 -format-connected-prefix = " " -format-connected-prefix-foreground = ${colors.foreground-alt} -label-connected = %local_ip% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - +inherit = network-base +interface-type = wired +label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% [module/date] type = internal/date -interval = 5 - -date = -date-alt = " %Y-%m-%d" +interval = 1 +format-underline = #2f697f +format-prefix-foreground = ${colors.primary} +format-prefix = " " +date = %a %d %b %Y +date-alt = %Y-%m-%d %H:%M:%S time = %H:%M time-alt = %H:%M:%S +label = %date% %{F#717f24}%time% +; label-foreground = ${colors.primary} -format-prefix = -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #2f697f +[module/temperature] +type = internal/temperature +thermal-zone = 0 +warn-temperature = 60 -label = %date% %time% +format = <ramp> <label> +format-underline = #327f77 +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} +label = %temperature-c% +label-warn = %temperature-c% +label-warn-foreground = ${colors.alert} +ramp-0 = +ramp-1 = +ramp-2 = +ramp-foreground = ${colors.primary} [module/battery] type = internal/battery battery = BAT0 adapter = ADP1 full-at = 98 - +interval = 1 format-charging = <animation-charging> <label-charging> -format-charging-underline = #2f7e25 +format-charging-underline = #637d75 format-discharging = <animation-discharging> <label-discharging> format-discharging-underline = ${self.format-charging-underline} format-full-prefix = " " -format-full-prefix-foreground = ${colors.foreground-alt} +format-full-prefix-foreground = ${colors.primary} format-full-underline = ${self.format-charging-underline} ramp-capacity-0 = -ramp-capacity-1 = +ramp-capacity-1 = c ramp-capacity-2 = -ramp-capacity-foreground = ${colors.foreground-alt} +ramp-capacity-foreground = ${colors.primary} animation-charging-0 = animation-charging-1 = @@ -192,50 +252,15 @@ animation-charging-framerate = 750 animation-discharging-0 = animation-discharging-1 = animation-discharging-2 = -animation-discharging-foreground = ${colors.foreground-alt} +animation-discharging-foreground = ${colors.alert} animation-discharging-framerate = 750 -[module/temperature] -type = internal/temperature -thermal-zone = 0 -warn-temperature = 60 - -format = <ramp> <label> -format-underline = #7f2b26 -format-warn = <ramp> <label-warn> -format-warn-underline = ${self.format-underline} - -label = %temperature-c% -label-warn = %temperature-c% -label-warn-foreground = ${colors.secondary} - -ramp-0 = -ramp-1 = -ramp-2 = -ramp-foreground = ${colors.foreground-alt} - -[module/spotify] -type = custom/script -interval = 1 -format-prefix = " " -format = <label> -exec = ~/.config/polybar/scripts/spotify-status.py -f '{artist}: {song}' -format-underline = #317f76 -;control players (optional) -click-left = playerctl --player=spotify play-pause -click-right = playerctl --player=spotify next -click-middle = playerctl --player=spotify previous - +[module/my-text-label] +type = custom/text +content = +;content-background = #2f7e25 +content-foreground = #2f6a7f +content-padding = 3 [settings] screenchange-reload = true -;compositing-background = xor -;compositing-background = screen -;compositing-foreground = source -;compositing-border = over -;pseudo-transparency = false - -[global/wm] -margin-top = 5 -margin-bottom = 0 - -; vim:ft=dosini +pseudo-transparency = true diff --git a/polybar/launch.sh b/polybar/launch.sh new file mode 100755 index 0000000..118291b --- /dev/null +++ b/polybar/launch.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +killall -q polybar + +# Launch Polybar on all connected monitors +for m in $(polybar --list-monitors | cut -d":" -f1); do + MONITOR=$m polybar --reload example & +done +