diff options
Diffstat (limited to 'config')
389 files changed, 58903 insertions, 180 deletions
diff --git a/config/i3/config b/config/i3/config index a7ad9fd..c2b31bb 100644 --- a/config/i3/config +++ b/config/i3/config @@ -550,8 +550,8 @@ exec_always --no-startup-id xrandr --output DP-0 --off --output DP-1 --off --out # Polybar exec_always --no-startup-id killall -q polybar -exec_always --no-startup-id sleep 1 && polybar main -exec_always --no-startup-id sleep 1 && polybar external +exec_always --no-startup-id sleep 1 && sh $HOME/.config/polybar/colorblocks/launch-main.sh +exec_always --no-startup-id sleep 1 && sh $HOME/.config/polybar/colorblocks/launch-external.sh exec_always --no-startup-id killall -q picom exec_always --no-startup-id sleep 3 && picom --config ~/.config/picom/picom.conf diff --git a/config/polybar/blocks/bars.ini b/config/polybar/blocks/bars.ini new file mode 100644 index 0000000..c245f34 --- /dev/null +++ b/config/polybar/blocks/bars.ini @@ -0,0 +1,600 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = ⏽ +empty = ⏽ +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <bar-volume> +format-volume-prefix = +format-volume-prefix-padding = 1 +format-volume-prefix-background = ${color.blue} +format-volume-prefix-foreground = ${color.foreground} +format-volume-background = ${color.background-alt} +format-volume-foreground = ${color.foreground} +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-padding = 1 +format-muted-prefix-background = ${color.red} +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% +label-volume-background = ${color.background-alt} +label-volume-padding = 1 + +; Available tokens: +; %percentage% (default +label-muted = "Muted" +label-muted-foreground = ${color.foreground} +label-muted-background = ${color.background-alt} +label-muted-padding = 1 + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-background = ${color.blue} +ramp-volume-padding = 1 + +; Only applies if <bar-volume> is used +bar-volume-format = " %fill%%indicator%%empty% " +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.gray} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = +ramp-headphones-background = ${color.blue} +ramp-headphones-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <bar> +format-prefix = +format-prefix-padding = 1 +format-prefix-background = ${color.lime} +format-prefix-foreground = ${color.foreground} +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-format = " %fill%%indicator%%empty% " +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = "" +format-charging-prefix-padding = 1 +format-charging-prefix-background = ${color.green} +format-charging-prefix-foreground = ${color.foreground} +format-charging-background = ${color.background-alt} +format-charging-foreground = ${color.foreground} +format-charging-overline = ${color.background} +format-charging-underline = ${color.background} + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = "" +format-discharging-prefix-padding = 1 +format-discharging-prefix-background = ${color.pink} +format-discharging-prefix-foreground = ${color.foreground} +format-discharging-background = ${color.background-alt} +format-discharging-foreground = ${color.foreground} +format-discharging-overline = ${color.background} +format-discharging-underline = ${color.background} + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = "" +format-full-prefix-padding = 1 +format-full-prefix-background = ${color.red} +format-full-prefix-foreground = ${color.foreground} +format-full-background = ${color.background-alt} +format-full-foreground = ${color.foreground} +format-full-overline = ${color.background} +format-full-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% +label-charging-background = ${color.background-alt} +label-charging-padding = 1 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% +label-discharging-background = ${color.background-alt} +label-discharging-padding = 1 + +; Available tokens: +; %percentage% (default) +label-full = Full +label-full-background = ${color.background-alt} +label-full-padding = 1 + +; Only applies if <bar-capacity> is used +bar-capacity-format = " %fill%%indicator%%empty% " +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load><label> +format-prefix = +format-prefix-padding = 1 +format-prefix-background = ${color.teal} +format-prefix-foreground = ${color.foreground} +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%% " + +; Only applies if <bar-load> is used +bar-load-format = " %fill%%indicator%%empty% " +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used><label-mounted> +format-mounted-prefix = +format-mounted-prefix-padding = 1 +format-mounted-prefix-background = ${color.purple} +format-mounted-prefix-foreground = ${color.foreground} +format-mounted-background = ${color.background-alt} +format-mounted-foreground = ${color.foreground} +format-mounted-overline = ${color.background} +format-mounted-underline = ${color.background} + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-prefix-padding = 1 +format-unmounted-prefix-background = ${color.red} +format-unmounted-prefix-foreground = ${color.foreground} +format-unmounted-background = ${color.background-alt} +format-unmounted-foreground = ${color.foreground} +format-unmounted-overline = ${color.background} +format-unmounted-underline = ${color.background} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = "%used%/%total% " + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted " + +; Only applies if <bar-used> is used +bar-used-format = " %fill%%indicator%%empty% " +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used><label> +format-prefix = +format-prefix-padding = 1 +format-prefix-background = ${color.indigo} +format-prefix-foreground = ${color.foreground} +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used% " + +; Only applies if <bar-used> is used +bar-used-format = " %fill%%indicator%%empty% " +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song><bar-progress><label-time> +format-online-prefix = +format-online-prefix-padding = 1 +format-online-prefix-background = ${color.green} +format-online-prefix-foreground = ${color.foreground} +format-online-background = ${color.background-alt} +format-online-foreground = ${color.foreground} +format-online-overline = ${color.background} +format-online-underline = ${color.background} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-prefix-padding = 1 +format-offline-prefix-background = ${color.red} +format-offline-prefix-foreground = ${color.foreground} +format-offline-background = ${color.background-alt} +format-offline-foreground = ${color.foreground} +format-offline-overline = ${color.background} +format-offline-underline = ${color.background} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = "%elapsed% / %total% " + +; Available tokens: +; None +label-offline = " Offline " + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +bar-progress-format = " %fill%%indicator%%empty% " +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.gray} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/blocks/colors.ini b/config/polybar/blocks/colors.ini new file mode 100644 index 0000000..097b2ee --- /dev/null +++ b/config/polybar/blocks/colors.ini @@ -0,0 +1,39 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #2f343f +background-alt = #C4C7C5 +foreground = #1C1E20 +foreground-alt = #C4C7C5 +primary = #B4BC67 + +white = #FFFFFF +black = #000000 +red = #EC7875 +pink = #EC6798 +purple = #BE78D1 +blue = #75A4CD +cyan = #00C7DF +teal = #00B19F +green = #61C766 +lime = #B9C244 +yellow = #EBD369 +amber = #EDB83F +orange = #E57C46 +brown = #AC8476 +gray = #9E9E9E +indigo = #6C77BB +blue-gray = #6D8895 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/blocks/config.ini b/config/polybar/blocks/config.ini new file mode 100644 index 0000000..4edd5fe --- /dev/null +++ b/config/polybar/blocks/config.ini @@ -0,0 +1,293 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/blocks/bars.ini +include-file = ~/.config/polybar/blocks/colors.ini +include-file = ~/.config/polybar/blocks/modules.ini +include-file = ~/.config/polybar/blocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 5 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "feather:size=10;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = sep launcher sep workspaces sep mpd +modules-center = title +modules-right = color-switch sep alsa sep battery sep network sep date sep sysmenu sep + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/blocks/launch.sh b/config/polybar/blocks/launch.sh new file mode 100755 index 0000000..6d384ae --- /dev/null +++ b/config/polybar/blocks/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/blocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/blocks/modules.ini b/config/polybar/blocks/modules.ini new file mode 100644 index 0000000..3097682 --- /dev/null +++ b/config/polybar/blocks/modules.ini @@ -0,0 +1,1197 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume><label-volume> +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-background = ${color.red} +format-muted-prefix-padding = 1 +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% +label-volume-background = ${color.background-alt} +label-volume-padding = 1 + +; Available tokens: +; %percentage% (default +label-muted = "Muted" +label-muted-foreground = ${color.foreground} +label-muted-background = ${color.background-alt} +label-muted-padding = 1 + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-background = ${color.blue} +ramp-volume-padding = 1 + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = +ramp-headphones-background = ${color.blue} +ramp-headphones-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp><label> +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label = %percentage%% +label-background = ${color.background-alt} +label-padding = 1 + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-background = ${color.lime} +ramp-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <label-charging> +format-charging-prefix = "" +format-charging-prefix-background = ${color.green} +format-charging-prefix-padding = 1 +format-charging-overline = ${color.background} +format-charging-underline = ${color.background} + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <label-discharging> +format-discharging-prefix = "" +format-discharging-prefix-background = ${color.pink} +format-discharging-prefix-padding = 1 +format-discharging-overline = ${color.background} +format-discharging-underline = ${color.background} + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = "" +format-full-prefix-background = ${color.red} +format-full-prefix-padding = 1 +format-full-overline = ${color.background} +format-full-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% +label-charging-background = ${color.background-alt} +label-charging-padding = 1 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% +label-discharging-background = ${color.background-alt} +label-discharging-padding = 1 + +; Available tokens: +; %percentage% (default) +label-full = Full +label-full-background = ${color.background-alt} +label-full-padding = 1 + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-prefix-background = ${color.teal} +format-prefix-padding = 1 +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" +label-background = ${color.background-alt} +label-padding = 1 + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = "%I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = "%a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-prefix-background = ${color.amber} +format-prefix-padding = 1 +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% +label-background = ${color.background-alt} +label-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-prefix-background = ${color.green} +format-mounted-prefix-padding = 1 +format-mounted-overline = ${color.background} +format-mounted-underline = ${color.background} + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-prefix-background = ${color.red} +format-unmounted-prefix-padding = 1 +format-unmounted-overline = ${color.background} +format-unmounted-underline = ${color.background} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = "%free%" +label-mounted-background = ${color.background-alt} +label-mounted-padding = 1 + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: NA" +label-unmounted-background = ${color.background-alt} +label-unmounted-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-prefix-background = ${color.brown} +format-prefix-padding = 1 +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" +label-background = ${color.background-alt} +label-padding = 1 + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <toggle><label-song><icon-next> +;format-online-prefix = +format-online-overline = ${color.background} +format-online-underline = ${color.background} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-prefix-background = ${color.red} +format-offline-prefix-padding = 1 +format-offline-overline = ${color.background} +format-offline-underline = ${color.background} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = "%artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true +label-song-background = ${color.background-alt} +label-song-padding = 1 + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% +label-time-background = ${color.background-alt} +label-time-padding = 1 + +; Available tokens: +; None +label-offline = "Offline" +label-offline-background = ${color.background-alt} +label-offline-padding = 1 + +; Only applies if <icon-X> is used +icon-play = +icon-play-background = ${color.red} +icon-play-padding = 1 +icon-pause = +icon-pause-padding = 1 +icon-pause-background = ${color.green} +icon-stop = " " +icon-stop-background = ${color.background-alt} +icon-next = " " +icon-next-background = ${color.background-alt} +icon-prev = " " +icon-prev-background = ${color.background-alt} +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = +format-connected-prefix-background = ${color.purple} +format-connected-prefix-padding = 1 +format-connected-overline = ${color.background} +format-connected-underline = ${color.background} + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = +format-disconnected-prefix-background = ${color.orange} +format-disconnected-prefix-padding = 1 +format-disconnected-overline = ${color.background} +format-disconnected-underline = ${color.background} + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%essid%%{A}" +label-connected-background = ${color.background-alt} +label-connected-padding = 1 + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}Offline%{A}" +label-disconnected-background = ${color.background-alt} +label-disconnected-padding = 1 + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume><label-volume> +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-background = ${color.red} +format-muted-prefix-padding = 1 +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% +label-volume-background = ${color.background-alt} +label-volume-padding = 1 + +; Available tokens: +; %percentage% (default +label-muted = "Muted" +label-muted-foreground = ${color.foreground} +label-muted-background = ${color.background-alt} +label-muted-padding = 1 + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-background = ${color.blue} +ramp-volume-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp><label> +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp><label-warn> +format-warn-overline = ${color.background} +format-warn-underline = ${color.background} + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% +label-background = ${color.background-alt} +label-padding = 1 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-background = ${color.background-alt} +label-warn-padding = 1 + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-background = ${color.cyan} +ramp-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout><label-indicator> +format-prefix = +format-prefix-background = ${color.blue-gray} +format-prefix-padding = 1 +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = "%layout%" +label-layout-background = ${color.background-alt} +label-layout-padding = 1 + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = "%name% " +label-indicator-on-background = ${color.background-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-padding = 1 +format-foreground = ${color.foreground-alt} + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +label-empty = " Desktop" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.foreground} +label-active-background = ${color.primary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.foreground} +label-occupied-background = ${color.gray} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.foreground} +label-urgent-background = ${color.red} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% +label-empty-foreground = ${color.foreground} +label-empty-background = ${color.background-alt} + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/blocks/preview.ini b/config/polybar/blocks/preview.ini new file mode 100644 index 0000000..2408b85 --- /dev/null +++ b/config/polybar/blocks/preview.ini @@ -0,0 +1,309 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/blocks/bars.ini +include-file = ~/.config/polybar/blocks/colors.ini +include-file = ~/.config/polybar/blocks/modules.ini +include-file = ~/.config/polybar/blocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 5 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "feather:size=10;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +offset-y = 10 +modules-center = sep launcher sep workspaces sep cpu sep memory sep mpd sep alsa sep battery sep network sep date sep sysmenu sep +enable-ipc = true + +[bar/mid] +inherit = bar/main +offset-y = 54 +modules-center = volume sep brightness sep battery_bar sep cpu_bar sep filesystem_bar sep memory_bar sep mpd_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 98 +modules-center = title sep menu sep term files browser settings sep filesystem sep temperature sep color-switch sep keyboard sep pulseaudio sep backlight sep updates sep powermenu sep +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/blocks/preview.sh b/config/polybar/blocks/preview.sh new file mode 100755 index 0000000..f6be480 --- /dev/null +++ b/config/polybar/blocks/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/blocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/blocks/scripts/checkupdates b/config/polybar/blocks/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/blocks/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/blocks/scripts/launcher.sh b/config/polybar/blocks/scripts/launcher.sh new file mode 100755 index 0000000..e673cf1 --- /dev/null +++ b/config/polybar/blocks/scripts/launcher.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +FILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi" + +# random accent color +COLORS=('#EC7875' '#EC6798' '#BE78D1' '#75A4CD' '#00C7DF' '#00B19F' '#61C766' \ + '#B9C244' '#EBD369' '#EDB83F' '#E57C46' '#AC8476' '#6C77BB' '#6D8895') +AC="${COLORS[$(( $RANDOM % 14 ))]}" +sed -i -e "s/ac: .*/ac: ${AC}FF;/g" $FILE +sed -i -e "s/se: .*/se: ${AC}40;/g" $FILE + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/blocks/scripts/rofi/launcher.rasi diff --git a/config/polybar/blocks/scripts/powermenu.sh b/config/polybar/blocks/scripts/powermenu.sh new file mode 100755 index 0000000..f02486d --- /dev/null +++ b/config/polybar/blocks/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/blocks/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/blocks/scripts/rofi/colors.rasi b/config/polybar/blocks/scripts/rofi/colors.rasi new file mode 100644 index 0000000..7166b16 --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/colors.rasi @@ -0,0 +1,11 @@ +/* colors */ + +* { + al: #00000000; + bg: #2f343fFF; + bga: #C4C7C5FF; + fga: #C4C7C5FF; + fg: #1C1E20FF; + ac: #00C7DFFF; + se: #00C7DF40; +} diff --git a/config/polybar/blocks/scripts/rofi/confirm.rasi b/config/polybar/blocks/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..dbe4fa8 --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fga; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 210px; + padding: 25px; + border: 0px 0px 4px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/blocks/scripts/rofi/launcher.rasi b/config/polybar/blocks/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..f4d37e2 --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 550px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 6px 7px 4px 7px; + background-color: @ac; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 6px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 8; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 3px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fga; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/blocks/scripts/rofi/message.rasi b/config/polybar/blocks/scripts/rofi/message.rasi new file mode 100644 index 0000000..84ec88c --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fga; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px 0px 4px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/blocks/scripts/rofi/networkmenu.rasi b/config/polybar/blocks/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..c68d539 --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 6px 7px 4px 7px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 6px 7px 4px 7px; + background-color: @ac; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 6px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 3px 3px 3px -12px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fga; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/blocks/scripts/rofi/powermenu.rasi b/config/polybar/blocks/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..6b5572d --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 6px 7px 4px 7px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 6px 7px 4px 7px; + background-color: @ac; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 6px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 3px 3px 3px -23px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fga; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/blocks/scripts/rofi/styles.rasi b/config/polybar/blocks/scripts/rofi/styles.rasi new file mode 100644 index 0000000..a5e61ab --- /dev/null +++ b/config/polybar/blocks/scripts/rofi/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 6px 7px 4px 7px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 6px 7px 4px 7px; + background-color: @ac; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 6px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 3px 3px 3px -23px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fga; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/blocks/scripts/style-switch.sh b/config/polybar/blocks/scripts/style-switch.sh new file mode 100755 index 0000000..4731479 --- /dev/null +++ b/config/polybar/blocks/scripts/style-switch.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/blocks/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " Default| Nord| Gruvbox| Adapta| Cherry|")" + case "$MENU" in + *Default) "$SDIR"/styles.sh --default ;; + *Nord) "$SDIR"/styles.sh --nord ;; + *Gruvbox) "$SDIR"/styles.sh --gruvbox ;; + *Adapta) "$SDIR"/styles.sh --adapta ;; + *Cherry) "$SDIR"/styles.sh --cherry ;; + esac diff --git a/config/polybar/blocks/scripts/styles.sh b/config/polybar/blocks/scripts/styles.sh new file mode 100755 index 0000000..507f069 --- /dev/null +++ b/config/polybar/blocks/scripts/styles.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/blocks/colors.ini" +RFILE="$HOME/.config/polybar/blocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = $BGA/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${BGA}FF; + fga: ${FGA}FF; + fg: ${FG}FF; + ac: ${AC}FF; + se: ${AC}40; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--default" ]]; then + BG="#2f343f" + BGA="#C4C7C5" + FGA="#C4C7C5" + FG="#1C1E20" + AC="#B4BC67" + change_color +elif [[ $1 = "--nord" ]]; then + BG="#3B4252" + BGA="#4C566A" + FGA="#E5E9F0" + FG="#ECEFF4" + AC="#A3BE8C" + change_color +elif [[ $1 = "--gruvbox" ]]; then + BG="#282828" + BGA="#EBDBB2" + FGA="#EBDBB2" + FG="#282828" + AC="#CC241D" + change_color +elif [[ $1 = "--adapta" ]]; then + BG="#243035" + BGA="#38444A" + FGA="#FDF6E3" + FG="#FFFFFF" + AC="#4DD0E1" + change_color +elif [[ $1 = "--cherry" ]]; then + BG="#1F1626" + BGA="#423949" + FGA="#FFFFFF" + FG="#FFFFFF" + AC="#D94085" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --default --nord --gruvbox --adapta --cherry + _EOF_ +fi diff --git a/config/polybar/blocks/scripts/updates.sh b/config/polybar/blocks/scripts/updates.sh new file mode 100755 index 0000000..924313a --- /dev/null +++ b/config/polybar/blocks/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/blocks/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo "$UPDATES" + elif (( UPDATES > 1 )); then + echo "$UPDATES" + else + echo "None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo "None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/blocks/user_modules.ini b/config/polybar/blocks/user_modules.ini new file mode 100644 index 0000000..f626975 --- /dev/null +++ b/config/polybar/blocks/user_modules.ini @@ -0,0 +1,292 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/blocks/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-prefix-background = ${color.yellow} +format-prefix-padding = 1 +format-overline = ${color.background} +format-underline = ${color.background} + +; Available tokens: +; %output% +; Default: %output% +label = %output% +label-background = ${color.background-alt} +label-padding = 1 + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text + +content-prefix = +content-prefix-background = ${color.teal} +content-prefix-padding = 1 + +content = " Menu " +content-background = ${color.background-alt} +content-foreground = ${color.foreground} +content-overline = ${color.background} +content-underline = ${color.background} + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/blocks/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/blocks/scripts/launcher-full +click-right = ~/.config/polybar/blocks/scripts/style-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/blocks/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/blocks/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content-prefix = +content-prefix-background = ${color.cyan} +content-prefix-padding = 1 + +content = " System " +content-background = ${color.background-alt} +content-foreground = ${color.foreground} +content-overline = ${color.background} +content-underline = ${color.background} + +click-left = ~/.config/polybar/blocks/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text + +content-prefix = +content-prefix-background = ${color.orange} +content-prefix-padding = 1 + +content = " Style " +content-background = ${color.background-alt} +content-foreground = ${color.foreground} +content-overline = ${color.background} +content-underline = ${color.background} + +click-left = ~/.config/polybar/blocks/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = | + +content-background = ${color.background} +content-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text +content-overline = ${color.background} +content-underline = ${color.background} +content-padding = 1 + +[module/term] +inherit = module/apps +content = +content-background = ${color.blue-gray} +content-foreground = ${color.foreground} +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content = +content-background = ${color.blue} +content-foreground = ${color.foreground} +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content = +content-background = ${color.orange} +content-foreground = ${color.foreground} +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content = +content-background = ${color.teal} +content-foreground = ${color.foreground} +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = " Reboot |" +menu-0-0-background = ${color.background-alt} +menu-0-0-exec = menu-open-1 +menu-0-1 = " Shutdown " +menu-0-1-background = ${color.background-alt} +menu-0-1-exec = menu-open-2 + +menu-1-0 = " Back |" +menu-1-0-background = ${color.background-alt} +menu-1-0-exec = menu-open-0 +menu-1-1 = " Reboot " +menu-1-1-background = ${color.background-alt} +menu-1-1-exec = systemctl reboot + +menu-2-0 = " Shutdown |" +menu-2-0-background = ${color.background-alt} +menu-2-0-exec = systemctl poweroff +menu-2-1 = " Back " +menu-2-1-background = ${color.background-alt} +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> +format-overline = ${color.background} +format-underline = ${color.background} + +label-open = +label-open-background = ${color.cyan} +label-open-padding = 1 +label-close = +label-close-background = ${color.red} +label-close-padding = 1 + +; Optional item separator +; Default: none +;label-separator = " | " +;label-separator-foreground = ${color.foreground} +;label-separator-background = ${color.background-alt} + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 =" Menu | " +menu-0-0-background = ${color.background-alt} +menu-0-0-exec = ~/.config/polybar/blocks/scripts/launcher.sh & + +menu-0-1 =" Files | " +menu-0-1-background = ${color.background-alt} +menu-0-1-exec = thunar & + +menu-0-2 =" Terminal | " +menu-0-2-background = ${color.background-alt} +menu-0-2-exec = termite & + +menu-0-3 =" Browser " +menu-0-3-background = ${color.background-alt} +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> +format-overline = ${color.background} +format-underline = ${color.background} + +label-open = +label-open-background = ${color.yellow} +label-open-padding = 1 +label-close = +label-close-background = ${color.red} +label-close-padding = 1 + +; Optional item separator +; Default: none +;label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/bars.ini b/config/polybar/colorblocks/bars.ini new file mode 100644 index 0000000..703e8b8 --- /dev/null +++ b/config/polybar/colorblocks/bars.ini @@ -0,0 +1,534 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> +format-volume-background = ${color.shade6} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-font = 2 +format-muted-background = ${color.shade6} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-font = 2 + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-font = 2 + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " +format-charging-prefix-font = 2 +format-charging-background = ${color.shade5} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " +format-discharging-prefix-font = 2 +format-discharging-background = ${color.shade5} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-prefix-font = 2 +format-full-background = ${color.shade5} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = "Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " +format-prefix-font = 2 +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " +format-mounted-prefix-font = 2 +format-mounted-background = ${color.shade5} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " +format-unmounted-prefix-font = 2 +format-unmounted-background = ${color.shade5} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " +format-prefix-font = 2 +format-background = ${color.shade6} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = ﱘ +format-online-prefix-font = 2 +format-online-background = ${color.shade4} +format-online-padding = 2 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ +format-offline-prefix-font = 2 +format-offline-background = ${color.shade4} +format-offline-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = 喇 +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/colors.ini b/config/polybar/colorblocks/colors.ini new file mode 100644 index 0000000..f0e28df --- /dev/null +++ b/config/polybar/colorblocks/colors.ini @@ -0,0 +1,30 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #141C21 +foreground = #141C21 +foreground-alt = #FFFFFF +alpha = #00000000 + +;; shades +shade1 = #006064 +shade2 = #00838F +shade3 = #0097A7 +shade4 = #00ACC1 +shade5 = #00BCD4 +shade6 = #26C6DA +shade7 = #4DD0E1 +shade8 = #80DEEA + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/config.ini b/config/polybar/colorblocks/config.ini new file mode 100644 index 0000000..15ef2c4 --- /dev/null +++ b/config/polybar/colorblocks/config.ini @@ -0,0 +1,509 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/colorblocks/bars.ini +include-file = ~/.config/polybar/colorblocks/colors.ini +include-file = ~/.config/polybar/colorblocks/modules.ini +include-file = ~/.config/polybar/colorblocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = HDMI-0 + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0.5% +offset-y = 1% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.alpha} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;4" +font-1 = "Iosevka Nerd Font:pixelsize=13;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = workspaces +modules-center = +modules-right = cpu memory alsa network date + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/external] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = DP-5 + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0.5% +offset-y = 1% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.alpha} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;4" +font-1 = "Iosevka Nerd Font:pixelsize=13;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = workspaces +modules-center = +modules-right = cpu memory alsa network date + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/launch-external.sh b/config/polybar/colorblocks/launch-external.sh new file mode 100755 index 0000000..f2ad840 --- /dev/null +++ b/config/polybar/colorblocks/launch-external.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/colorblocks" + +# Launch the bar +polybar -q external -c "$DIR"/config.ini & + diff --git a/config/polybar/colorblocks/launch-main.sh b/config/polybar/colorblocks/launch-main.sh new file mode 100755 index 0000000..76fee43 --- /dev/null +++ b/config/polybar/colorblocks/launch-main.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/colorblocks" + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & + diff --git a/config/polybar/colorblocks/launch.sh b/config/polybar/colorblocks/launch.sh new file mode 100755 index 0000000..501712a --- /dev/null +++ b/config/polybar/colorblocks/launch.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/colorblocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & + diff --git a/config/polybar/colorblocks/modules.ini b/config/polybar/colorblocks/modules.ini new file mode 100644 index 0000000..d14a14f --- /dev/null +++ b/config/polybar/colorblocks/modules.ini @@ -0,0 +1,1168 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade6} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-font = 2 +format-muted-background = ${color.shade6} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-font = 2 + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> +format-background = ${color.shade3} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> <label-charging> +format-charging-background = ${color.shade5} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-background = ${color.shade5} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = +format-full-prefix-font = 2 +format-full-background = ${color.shade5} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-font = 2 + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-font = 2 + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-prefix-font = 2 +format-background = ${color.shade8} +format-foreground = ${color.foreground} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-prefix-font = 2 +format-background = ${color.shade3} +format-foreground = ${color.foreground} +format-padding = 2 + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-prefix-font = 2 +format-mounted-background = ${color.shade6} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-prefix-font = 2 +format-unmounted-background = ${color.shade6} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-prefix-font = 2 +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <icon-prev><toggle><icon-next><label-song> + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-prefix-font = 2 +format-offline-prefix-background = ${color.shade7} +format-offline-prefix-foreground = ${color.foreground} +format-offline-prefix-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = "%artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true +label-song-background = ${color.background} +label-song-foreground = ${color.foreground-alt} +label-song-padding = 2 + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = "Offline" +label-offline-background = ${color.background} +label-offline-foreground = ${color.foreground-alt} +label-offline-padding = 2 + +; Only applies if <icon-X> is used +icon-play = 契 +icon-play-foreground = #0a0a0a +icon-play-background = ${color.shade7} +icon-play-padding = 1 +icon-play-font = 2 +icon-pause = +icon-pause-foreground = #0a0a0a +icon-pause-background = ${color.shade7} +icon-pause-padding = 1 +icon-pause-font = 2 +icon-stop = +icon-prev = " 玲" +icon-prev-foreground = #0a0a0a +icon-prev-background = ${color.shade7} +icon-prev-padding = 1 +icon-prev-font = 2 +icon-next = "怜 " +icon-next-foreground = #0a0a0a +icon-next-background = ${color.shade7} +icon-next-padding = 1 +icon-next-font = 2 +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = enp7s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = 直 +format-connected-prefix-font = 2 +format-connected-background = ${color.shade4} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = 睊 +format-disconnected-prefix-font = 2 +format-disconnected-background = ${color.shade4} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade4} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-font = 2 +format-muted-background = ${color.shade4} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> +format-background = ${color.shade7} +format-padding = 2 + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> +format-warn-background = ${color.shade7} +format-warn-foreground = ${color.background} +format-warn-padding = 2 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = +format-prefix-font = 2 +format-background = ${color.shade5} +format-padding = 2 + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-prefix-font = 2 +format-prefix-background = ${color.shade8} +format-prefix-foreground = #0a0a0a +format-prefix-padding = 2 + +; Available tokens: +; %title% +; Default: %title% +label = "%title%" +label-maxlen = 30 +label-background = ${color.background} +label-foreground = ${color.foreground-alt} +label-padding = 2 + +; Used instead of label when there is no window title +label-empty = "Desktop" +label-empty-background = ${color.background} +label-empty-foreground = ${color.foreground-alt} +label-empty-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1;1 +icon-1 = 2;2 +icon-2 = 3;3 +icon-3 = 4;4 +icon-4 = 5;5 +icon-5 = 6;6 +icon-6 = 7;7 +icon-7 = 8;8 +icon-8 = 9;9 +icon-9 = 10;0 + +icon-default = 0 + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-background = ${color.background} +format-foreground = ${color.foreground} + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-background = ${color.shade8} +label-active-foreground = #0a0a0a + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-background = ${color.background} +label-occupied-foreground = ${color.shade4} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-background = ${color.background} +label-urgent-foreground = #CC6666 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% +label-empty-background = ${color.background} +label-empty-foreground = ${color.foreground-alt} + +label-active-padding = 2 +label-urgent-padding = 2 +label-occupied-padding = 2 +label-empty-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/preview.ini b/config/polybar/colorblocks/preview.ini new file mode 100644 index 0000000..dc1df94 --- /dev/null +++ b/config/polybar/colorblocks/preview.ini @@ -0,0 +1,311 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/colorblocks/bars.ini +include-file = ~/.config/polybar/colorblocks/colors.ini +include-file = ~/.config/polybar/colorblocks/modules.ini +include-file = ~/.config/polybar/colorblocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 99% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0.5% +offset-y = 1% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.alpha} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;4" +font-1 = "Iosevka Nerd Font:pixelsize=13;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +modules-left = menu sep title sep google github reddit gmail twitter +modules-right = updates temperature filesystem keyboard pulseaudio backlight sep powermenu +enable-ipc = true + +[bar/mid] +offset-y = 62 +inherit = bar/main +modules-center = cpu_bar sep memory_bar sep filesystem_bar sep mpd_bar sep battery_bar sep volume sep brightness +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 114 +modules-left = launcher sep workspaces sep mpd +modules-center = +modules-right = color-switch sep cpu memory alsa battery network date sep sysmenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/colorblocks/preview.sh b/config/polybar/colorblocks/preview.sh new file mode 100755 index 0000000..bbd3eaa --- /dev/null +++ b/config/polybar/colorblocks/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/colorblocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/colorblocks/scripts/checkupdates b/config/polybar/colorblocks/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/colorblocks/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/colorblocks/scripts/color-switch.sh b/config/polybar/colorblocks/scripts/color-switch.sh new file mode 100755 index 0000000..72b4768 --- /dev/null +++ b/config/polybar/colorblocks/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/colorblocks/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ +♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ +♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ +♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ +♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ +♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/colorblocks/scripts/colors-dark.sh b/config/polybar/colorblocks/scripts/colors-dark.sh new file mode 100755 index 0000000..983ec29 --- /dev/null +++ b/config/polybar/colorblocks/scripts/colors-dark.sh @@ -0,0 +1,143 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/colorblocks/colors.ini" +RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #141C21/g' $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #FFFFFF/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #141C21FF; + bg1: ${SH8}FF; + bg2: ${SH7}FF; + bg3: ${SH6}FF; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + FG="#141C21" + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + FG="#F5F5F5" + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + FG="#F5F5F5" + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + FG="#F5F5F5" + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + FG="#141C21" + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + FG="#F5F5F5" + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + FG="#F5F5F5" + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + FG="#F5F5F5" + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + FG="#141C21" + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + FG="#F5F5F5" + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + FG="#141C21" + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + FG="#141C21" + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + FG="#141C21" + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + FG="#141C21" + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + FG="#F5F5F5" + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + FG="#F5F5F5" + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + FG="#F5F5F5" + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + FG="#F5F5F5" + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + FG="#141C21" + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/colorblocks/scripts/colors-light.sh b/config/polybar/colorblocks/scripts/colors-light.sh new file mode 100755 index 0000000..d9639ee --- /dev/null +++ b/config/polybar/colorblocks/scripts/colors-light.sh @@ -0,0 +1,143 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/colorblocks/colors.ini" +RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #141C21/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bg1: ${SH5}FF; + bg2: ${SH4}FF; + bg3: ${SH3}FF; + fg: #141C21FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + FG="#141C21" + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + FG="#F5F5F5" + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + FG="#F5F5F5" + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + FG="#F5F5F5" + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + FG="#141C21" + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + FG="#F5F5F5" + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + FG="#F5F5F5" + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + FG="#F5F5F5" + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + FG="#141C21" + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + FG="#F5F5F5" + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + FG="#141C21" + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + FG="#141C21" + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + FG="#141C21" + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + FG="#141C21" + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + FG="#F5F5F5" + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + FG="#F5F5F5" + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + FG="#F5F5F5" + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + FG="#F5F5F5" + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + FG="#141C21" + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/colorblocks/scripts/launcher.sh b/config/polybar/colorblocks/scripts/launcher.sh new file mode 100755 index 0000000..4fa093e --- /dev/null +++ b/config/polybar/colorblocks/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/colorblocks/scripts/rofi/launcher.rasi diff --git a/config/polybar/colorblocks/scripts/powermenu.sh b/config/polybar/colorblocks/scripts/powermenu.sh new file mode 100755 index 0000000..b4bb784 --- /dev/null +++ b/config/polybar/colorblocks/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/colorblocks/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/colorblocks/scripts/pywal.sh b/config/polybar/colorblocks/scripts/pywal.sh new file mode 100755 index 0000000..4419197 --- /dev/null +++ b/config/polybar/colorblocks/scripts/pywal.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/colorblocks/colors.ini" +RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bg1: ${SH8}FF; + bg2: ${SH7}FF; + bg3: ${SH6}FF; + fg: ${FGA}FF; + } + EOF + + polybar-msg cmd restart +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$color0"` + FGA=`printf "%s\n" "$color7"` + SH1=`printf "%s\n" "$color1"` + SH2=`printf "%s\n" "$color2"` + SH3=`printf "%s\n" "$color1"` + SH4=`printf "%s\n" "$color2"` + SH5=`printf "%s\n" "$color1"` + SH6=`printf "%s\n" "$color2"` + SH7=`printf "%s\n" "$color1"` + SH8=`printf "%s\n" "$color2"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/colorblocks/scripts/random.sh b/config/polybar/colorblocks/scripts/random.sh new file mode 100755 index 0000000..ff7d99b --- /dev/null +++ b/config/polybar/colorblocks/scripts/random.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/colorblocks/colors.ini" +RFILE="$HOME/.config/polybar/colorblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #141C21FF; + bg1: ${SH8}FF; + bg2: ${SH7}FF; + bg3: ${SH6}FF; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +# Main +BG='#141C21' # change to light bg +FG='#141C21' # change to dark fg +FGA='#FFFFFF' # change to gray fg +SH1=`get_random_color` +SH2=`get_random_color` +SH3=`get_random_color` +SH4=`get_random_color` +SH5=`get_random_color` +SH6=`get_random_color` +SH7=`get_random_color` +SH8=`get_random_color` + +change_color diff --git a/config/polybar/colorblocks/scripts/rofi/colors.rasi b/config/polybar/colorblocks/scripts/rofi/colors.rasi new file mode 100644 index 0000000..a0b120c --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #141C21FF; + bg1: #80DEEAFF; + bg2: #4DD0E1FF; + bg3: #26C6DAFF; + fg: #FFFFFFFF; +} diff --git a/config/polybar/colorblocks/scripts/rofi/confirm.rasi b/config/polybar/colorblocks/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..97e4a61 --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 225px; + padding: 25px; + border: 0px 0px 0px 4px; + border-radius: 0px; + border-color: @bg3; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg2; +} diff --git a/config/polybar/colorblocks/scripts/rofi/launcher.rasi b/config/polybar/colorblocks/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..1c48fcd --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/launcher.rasi @@ -0,0 +1,120 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @bg1; + border-radius: 0px; + width: 700px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 12px 15px 12px 15px; + background-color: @bg1; + text-color: @fga; + font: "Iosevka Nerd Font 12"; +} + +entry { + background-color: @bg2; + text-color: @fga; + placeholder-color: @fga; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 15px 0px 0px 15px; + margin: 0px 250px 0px 0px; + border-radius: 0px 50px 50px 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg3; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 3; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/message.rasi b/config/polybar/colorblocks/scripts/rofi/message.rasi new file mode 100644 index 0000000..8e4470d --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px 0px 0px 4px; + border-radius: 0px; + border-color: @bg3; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg2; +} diff --git a/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi b/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..2d7c04b --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/networkmenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @bg1; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 12px 15px 12px 15px; + background-color: @bg2; + text-color: @fga; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 12"; + background-color: @bg1; + text-color: @fga; + expand: false; + str: "直"; +} + +entry { + background-color: @bg2; + text-color: @fga; + placeholder-color: @fga; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 15px 0px 0px 15px; + margin: 0px 250px 0px 0px; + border-radius: 0px 50px 50px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -4px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/powermenu.rasi b/config/polybar/colorblocks/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..17e0ceb --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/powermenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @bg1; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 12px 15px 12px 15px; + background-color: @bg2; + text-color: @fga; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 12"; + background-color: @bg1; + text-color: @fga; + expand: false; + str: ""; +} + +entry { + background-color: @bg2; + text-color: @fga; + placeholder-color: @fga; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 15px 0px 0px 15px; + margin: 0px 250px 0px 0px; + border-radius: 0px 50px 50px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -25px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/rofi/styles.rasi b/config/polybar/colorblocks/scripts/rofi/styles.rasi new file mode 100644 index 0000000..75290f1 --- /dev/null +++ b/config/polybar/colorblocks/scripts/rofi/styles.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @bg1; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 12px 15px 12px 15px; + background-color: @bg2; + text-color: @fga; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 12"; + background-color: @bg1; + text-color: @fga; + expand: false; + str: ""; +} + +entry { + background-color: @bg2; + text-color: @fga; + placeholder-color: @fga; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 15px 10px 15px; + margin: 0px 250px 0px 0px; + border-radius: 0px 50px 50px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bg2; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -25px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @bg3; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/colorblocks/scripts/updates.sh b/config/polybar/colorblocks/scripts/updates.sh new file mode 100755 index 0000000..48b5bab --- /dev/null +++ b/config/polybar/colorblocks/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/colorblocks/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/colorblocks/user_modules.ini b/config/polybar/colorblocks/user_modules.ini new file mode 100644 index 0000000..7e3c3f7 --- /dev/null +++ b/config/polybar/colorblocks/user_modules.ini @@ -0,0 +1,288 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/colorblocks/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-prefix-font = 2 +format-background = ${color.shade8} +format-foreground = ${color.foreground} +format-padding = 2 + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.background} +content-foreground = ${color.shade4} +content-padding = 2 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/colorblocks/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/colorblocks/scripts/launcher-full +click-right = ~/.config/polybar/colorblocks/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/colorblocks/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/colorblocks/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.shade4} +content-padding = 2 + +click-left = ~/.config/polybar/colorblocks/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = #FFFFFF +content-foreground = #CC6666 +content-padding = 2 + +click-left = ~/.config/polybar/colorblocks/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " " + +content-background = ${color.alpha} +content-foreground = ${color.alpha} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/links] +type = custom/text +content-background = ${color.background} +content-padding = 2 +content-font = 2 + +[module/google] +inherit = module/links +content = +content-foreground = ${color.shade7} +click-left = exo-open https://www.google.com/ & + +[module/github] +inherit = module/links +content = +content-foreground = ${color.shade6} +click-left = exo-open https://www.github.com/ & + +[module/reddit] +inherit = module/links +content = +content-foreground = ${color.shade5} +click-left = exo-open https://www.reddit.com/ & + +[module/gmail] +inherit = module/links +content = +content-foreground = ${color.shade4} +click-left = exo-open https://mail.google.com/ & + +[module/twitter] +inherit = module/links +content = +content-foreground = ${color.shade3} +click-left = exo-open https://www.twitter.com/ & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = " Reboot " +menu-0-0-background = ${color.background} +menu-0-0-foreground = ${color.foreground-alt} +menu-0-0-exec = menu-open-1 +menu-0-1 = " Shutdown " +menu-0-1-background = ${color.background} +menu-0-1-foreground = ${color.foreground-alt} +menu-0-1-exec = menu-open-2 + +menu-1-0 = " Back " +menu-1-0-background = ${color.background} +menu-1-0-foreground = ${color.foreground-alt} +menu-1-0-exec = menu-open-0 +menu-1-1 = " Reboot " +menu-1-1-background = ${color.background} +menu-1-1-foreground = ${color.foreground-alt} +menu-1-1-exec = systemctl reboot + +menu-2-0 = " Shutdown " +menu-2-0-background = ${color.background} +menu-2-0-foreground = ${color.foreground-alt} +menu-2-0-exec = systemctl poweroff +menu-2-1 = " Back " +menu-2-1-background = ${color.background} +menu-2-1-foreground = ${color.foreground-alt} +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> +format-background = ${color.background} +format-foreground = ${color.foreground} + +label-open = +label-open-background = ${color.background} +label-open-foreground = ${color.shade4} +label-open-padding = 2 +label-open-font = 1 + +label-close = +label-close-background = ${color.background} +label-close-foreground = ${color.shade4} +label-close-padding = 2 +label-close-font = 2 + +; Optional item separator +; Default: none +label-separator = " | " +label-separator-background = ${color.background} +label-separator-foreground = ${color.shade4} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-background = ${color.background} +menu-0-0-foreground = ${color.foreground-alt} +menu-0-0-exec = ~/.config/polybar/colorblocks/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-background = ${color.background} +menu-0-1-foreground = ${color.foreground-alt} +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-background = ${color.background} +menu-0-2-foreground = ${color.foreground-alt} +menu-0-2-exec = termite & +menu-0-3 =" Browser " +menu-0-3-background = ${color.background} +menu-0-3-foreground = ${color.foreground-alt} +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> +format-background = ${color.background} + +label-open = +label-open-background = ${color.background} +label-open-foreground = ${color.shade4} +label-open-padding = 2 +label-open-font = 2 + +label-close = +label-close-background = ${color.background} +label-close-foreground = ${color.shade4} +label-close-padding = 2 +label-close-font = 2 + +; Optional item separator +; Default: none +label-separator = " | " +label-separator-background = ${color.background} +label-separator-foreground = ${color.shade4} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/config.ini b/config/polybar/config.ini deleted file mode 100644 index 6bfd5f2..0000000 --- a/config/polybar/config.ini +++ /dev/null @@ -1,178 +0,0 @@ -;========================================================== -; -; -; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ -; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ -; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ -; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ -; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ -; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ -; -; -; To learn more about how to configure Polybar -; go to https://github.com/polybar/polybar -; -; The README contains a lot of information -; -;========================================================== - -[colors] -background = #282A2E -background-alt = #373B41 -foreground = #C5C8C6 -primary = #F0C674 -secondary = #8ABEB7 -alert = #A54242 -disabled = #707880 - -[bar/main] -width = 100% -height = 24pt -radius = 6 - -; dpi = 96 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3pt - -border-size = 6pt -border-color = #00000000 - -padding-left = 0 -padding-right = 1 - -module-margin = 1 - -separator = | -separator-foreground = ${colors.disabled} - -font-0 = monospace;2 - -modules-left = xworkspaces xwindow -modules-right = filesystem xkeyboard memory cpu eth date - -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 - -[bar/external] -monitor = DP-5 -modules-right = filesystem memory cpu date -inherit = bar/main - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 1 - -label-occupied = %name% -label-occupied-padding = 1 - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 1 - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% - -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = <label-volume> - -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 = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -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] -inherit = network-base -interface-type = wireless -label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %local_ip% - %downspeed% / %upspeed% -interval = 1 - -[module/date] -type = internal/date -interval = 1 - -date = %H:%M:%S -date-alt = %Y-%m-%d %H:%M:%S - -label = %date% -label-foreground = ${colors.primary} - -[settings] -screenchange-reload = true -pseudo-transparency = true - -; vim:ft=dosini diff --git a/config/polybar/cuts/bars.ini b/config/polybar/cuts/bars.ini new file mode 100644 index 0000000..43edc3a --- /dev/null +++ b/config/polybar/cuts/bars.ini @@ -0,0 +1,542 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = ﭳ +empty = ﭳ +indicator = +width = 6 +format = %{T4}%fill%%indicator%%empty%%{F-}%{T-} + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> +format-volume-background = ${color.background} +format-volume-padding = 1 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background} +format-muted-padding = 1 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; Only applies if <bar-volume> is used +bar-volume-format = ${bar.format} +bar-volume-width = ${bar.width} +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.green} +bar-volume-foreground-1 = ${color.green} +bar-volume-foreground-2 = ${color.yellow} +bar-volume-foreground-3 = ${color.yellow} +bar-volume-foreground-4 = ${color.red} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground-alt} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-format = ${bar.format} +bar-width = ${bar.width} +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.green} +bar-foreground-1 = ${color.green} +bar-foreground-2 = ${color.yellow} +bar-foreground-3 = ${color.yellow} +bar-foreground-4 = ${color.red} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " +format-charging-background = ${color.background} +format-charging-padding = 1 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " +format-discharging-background = ${color.background} +format-discharging-padding = 1 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.background} +format-full-padding = 1 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <bar-capacity> is used +bar-capacity-format = ${bar.format} +bar-capacity-width = ${bar.width} +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.green} +bar-capacity-foreground-1 = ${color.green} +bar-capacity-foreground-2 = ${color.yellow} +bar-capacity-foreground-3 = ${color.yellow} +bar-capacity-foreground-4 = ${color.red} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-format = ${bar.format} +bar-load-width = ${bar.width} +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.green} +bar-load-foreground-1 = ${color.green} +bar-load-foreground-2 = ${color.yellow} +bar-load-foreground-3 = ${color.yellow} +bar-load-foreground-4 = ${color.red} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " +format-mounted-background = ${color.background} +format-mounted-padding = 1 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " +format-unmounted-background = ${color.background} +format-unmounted-padding = 1 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-format = ${bar.format} +bar-used-width = ${bar.width} +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-format = ${bar.format} +bar-used-width = ${bar.width} +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = +format-online-background = ${color.background} +format-online-padding = 1 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-background = ${color.background} +format-offline-padding = 1 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.green} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +bar-progress-format = ${bar.format} +bar-progress-width = ${bar.width} +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.green} +bar-progress-foreground-1 = ${color.green} +bar-progress-foreground-2 = ${color.yellow} +bar-progress-foreground-3 = ${color.yellow} +bar-progress-foreground-4 = ${color.red} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/cuts/colors.ini b/config/polybar/cuts/colors.ini new file mode 100644 index 0000000..49c39b4 --- /dev/null +++ b/config/polybar/cuts/colors.ini @@ -0,0 +1,24 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #0a0a0a +background-alt = #8C0a0a0a +foreground = #f5f5f5 +foreground-alt = #33f5f5f5 +primary = #fdd835 +red = #FF5250 +green = #43a047 +yellow = #fdd835 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/cuts/config.ini b/config/polybar/cuts/config.ini new file mode 100644 index 0000000..f721007 --- /dev/null +++ b/config/polybar/cuts/config.ini @@ -0,0 +1,312 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/cuts/bars.ini +include-file = ~/.config/polybar/cuts/colors.ini +include-file = ~/.config/polybar/cuts/modules.ini +include-file = ~/.config/polybar/cuts/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 28 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background-alt} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +; Text Fonts +font-0 = Iosevka Nerd Font:style=Medium:size=10;4 +; Icons Fonts +font-1 = feather:style=Medium:size=12;3 +; Powerline Glyphs +font-2 = Iosevka Nerd Font:style=Medium:size=19;3 +; Larger font size for bar fill icons +font-3 = Iosevka Nerd Font:style=Medium:size=12;4 +; Smaller font size for shorter spaces +font-4 = Iosevka Nerd Font:style=Medium:size=7;4 + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1 +modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +modules-left = mpd decor3 decor4 cpu memory filesystem decor3 +modules-right = decor2 network decor1 decor2 volume brightness +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background-alt} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/cuts/launch.sh b/config/polybar/cuts/launch.sh new file mode 100755 index 0000000..52b4f9d --- /dev/null +++ b/config/polybar/cuts/launch.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/cuts" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q top -c "$DIR"/config.ini & +polybar -q bottom -c "$DIR"/config.ini & diff --git a/config/polybar/cuts/modules.ini b/config/polybar/cuts/modules.ini new file mode 100644 index 0000000..e9a0cab --- /dev/null +++ b/config/polybar/cuts/modules.ini @@ -0,0 +1,1108 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.background} +format-volume-padding = 1 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background} +format-muted-padding = 1 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <label-charging> +format-charging-prefix = " " +format-charging-background = ${color.background} +format-charging-padding = 1 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <label-discharging> +format-discharging-prefix = " " +format-discharging-background = ${color.background} +format-discharging-padding = 1 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.background} +format-full-padding = 1 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = Full + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-background = ${color.background} +format-mounted-padding = 1 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-background = ${color.background} +format-unmounted-padding = 1 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = +format-online-background = ${color.background} +format-online-padding = 1 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-background = ${color.background} +format-offline-padding = 1 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.green} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = +format-connected-background = ${color.background} +format-connected-padding = 1 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = +format-disconnected-background = ${color.background} +format-disconnected-padding = 1 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid% %downspeed% %upspeed%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.background} +format-volume-padding = 1 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background} +format-muted-padding = 1 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> +format-background = ${color.background} +format-padding = 1 + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> +format-warn-background = ${color.background} +format-warn-padding = 1 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.red} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-background = ${color.background} +format-padding = 1 +format-prefix = + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.primary} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-background = ${color.background} +format-padding = 0 +;format-prefix = + +; Available tokens: +; %title% +; Default: %title% +label = "%title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +;;label-empty = Arch Linux + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-background = ${color.background} +format-padding = 0 + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.red} +label-active-overline = ${color.red} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.yellow} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.green} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/cuts/preview.ini b/config/polybar/cuts/preview.ini new file mode 100644 index 0000000..3377f74 --- /dev/null +++ b/config/polybar/cuts/preview.ini @@ -0,0 +1,323 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/cuts/bars.ini +include-file = ~/.config/polybar/cuts/colors.ini +include-file = ~/.config/polybar/cuts/modules.ini +include-file = ~/.config/polybar/cuts/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 28 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background-alt} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +; Text Fonts +font-0 = Iosevka Nerd Font:style=Medium:size=10;4 +; Icons Fonts +font-1 = feather:style=Medium:size=12;3 +; Powerline Glyphs +font-2 = Iosevka Nerd Font:style=Medium:size=19;3 +; Larger font size for bar fill icons +font-3 = Iosevka Nerd Font:style=Medium:size=12;4 +; Smaller font size for shorter spaces +font-4 = Iosevka Nerd Font:style=Medium:size=7;4 + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +bottom = true +offset-y = 71 +modules-left = launcher title decor1 decor2 workspaces decor1 decor2 color-switch decor1 +modules-right = decor4 updates decor3 decor4 temperature battery keyboard decor3 decor4 date sysmenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +bottom = true +offset-y = 38 +modules-left = menu decor1 decor2 mpd_bar decor1 decor2 term files browser settings decor1 decor2 cpu_bar decor1 +modules-right = decor4 memory_bar decor3 decor4 alsa backlight decor3 decor4 filesystem_bar decor3 decor4 battery_bar pulseaudio decor3 decor4 powermenu +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +offset-y = 5 +modules-left = mpd decor3 decor4 cpu memory filesystem decor3 +modules-right = decor2 network decor1 decor2 volume brightness +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background-alt} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/cuts/preview.sh b/config/polybar/cuts/preview.sh new file mode 100755 index 0000000..9bb0ae6 --- /dev/null +++ b/config/polybar/cuts/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/cuts" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/cuts/scripts/checkupdates b/config/polybar/cuts/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/cuts/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/cuts/scripts/color-switch.sh b/config/polybar/cuts/scripts/color-switch.sh new file mode 100755 index 0000000..83941b6 --- /dev/null +++ b/config/polybar/cuts/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/cuts/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\ + deep-purple| green| gray| indigo| blue-light| green-light|\ + lime| orange| pink| purple| red| teal| yellow| amber-dark|\ + blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\ + deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\ + green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/cuts/scripts/colors-dark.sh b/config/polybar/cuts/scripts/colors-dark.sh new file mode 100755 index 0000000..22f1ca8 --- /dev/null +++ b/config/polybar/cuts/scripts/colors-dark.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/cuts/colors.ini" +RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" + +BG="0a0a0a" +FG="f5f5f5" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}BF; + bga: #${BG}FF; + fg: #${FG}FF; + ac: ${AC}FF; + se: ${AC}1A; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/cuts/scripts/colors-light.sh b/config/polybar/cuts/scripts/colors-light.sh new file mode 100755 index 0000000..d7151e9 --- /dev/null +++ b/config/polybar/cuts/scripts/colors-light.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/cuts/colors.ini" +RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" + +BG="FFFFFF" +FG="0A0A0A" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}BF; + bga: #${BG}FF; + fg: #${FG}FF; + ac: ${AC}FF; + se: ${AC}1A; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/cuts/scripts/launcher.sh b/config/polybar/cuts/scripts/launcher.sh new file mode 100755 index 0000000..0386394 --- /dev/null +++ b/config/polybar/cuts/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/cuts/scripts/rofi/launcher.rasi diff --git a/config/polybar/cuts/scripts/powermenu.sh b/config/polybar/cuts/scripts/powermenu.sh new file mode 100755 index 0000000..44c6c57 --- /dev/null +++ b/config/polybar/cuts/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/cuts/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/cuts/scripts/pywal.sh b/config/polybar/cuts/scripts/pywal.sh new file mode 100755 index 0000000..f154233 --- /dev/null +++ b/config/polybar/cuts/scripts/pywal.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/cuts/colors.ini" +RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}BF; + bga: #${BG}FF; + fg: #${FG}FF; + ac: ${AC}FF; + se: ${AC}1A; + } + EOF + + polybar-msg cmd restart +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BGC=`printf "%s\n" "$background"` + BG=${BGC:1} + FGC=`printf "%s\n" "$foreground"` + FG=${FGC:1} + AC=`printf "%s\n" "$color1"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/cuts/scripts/random.sh b/config/polybar/cuts/scripts/random.sh new file mode 100755 index 0000000..6addb58 --- /dev/null +++ b/config/polybar/cuts/scripts/random.sh @@ -0,0 +1,91 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/cuts/colors.ini" +RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}BF; + bga: #${BG}FF; + fg: #${FG}FF; + ac: ${AC}FF; + se: ${AC}1A; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + FG="0a0a0a" + AC="#0a0a0a" + else + FG="F5F5F5" + AC="#F5F5F5" + fi +} + +# Main +BGC=`get_random_color` +BG=${BGC:1} +HEX=$BG + +hex_to_rgb $HEX +get_fg_color +change_color diff --git a/config/polybar/cuts/scripts/rofi/colors.rasi b/config/polybar/cuts/scripts/rofi/colors.rasi new file mode 100644 index 0000000..ed69969 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #0a0a0aBF; + bga: #0a0a0aFF; + fg: #f5f5f5FF; + ac: #fdd835FF; + se: #fdd8351A; +} diff --git a/config/polybar/cuts/scripts/rofi/confirm.rasi b/config/polybar/cuts/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..bd82b52 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bga; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 225px; + padding: 25px; + border: 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} + diff --git a/config/polybar/cuts/scripts/rofi/launcher.rasi b/config/polybar/cuts/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..dbd7e79 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 500px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @ac; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 8px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 6; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/cuts/scripts/rofi/message.rasi b/config/polybar/cuts/scripts/rofi/message.rasi new file mode 100644 index 0000000..434f16b --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bga; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/cuts/scripts/rofi/networkmenu.rasi b/config/polybar/cuts/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..4ecf0a1 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/cuts/scripts/rofi/powermenu.rasi b/config/polybar/cuts/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..ef15fd7 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/cuts/scripts/rofi/styles.rasi b/config/polybar/cuts/scripts/rofi/styles.rasi new file mode 100644 index 0000000..69bfef4 --- /dev/null +++ b/config/polybar/cuts/scripts/rofi/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/cuts/scripts/style-switch.sh b/config/polybar/cuts/scripts/style-switch.sh new file mode 100755 index 0000000..e693e53 --- /dev/null +++ b/config/polybar/cuts/scripts/style-switch.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/cuts/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " Black| Adapta| Dark| Red| Green| Teal| Gruvbox| Nord| Solarized| Cherry|")" + case "$MENU" in + *Black) "$SDIR"/styles.sh --mode1 ;; + *Adapta) "$SDIR"/styles.sh --mode2 ;; + *Dark) "$SDIR"/styles.sh --mode3 ;; + *Red) "$SDIR"/styles.sh --mode4 ;; + *Green) "$SDIR"/styles.sh --mode5 ;; + *Teal) "$SDIR"/styles.sh --mode6 ;; + *Gruvbox) "$SDIR"/styles.sh --mode7 ;; + *Nord) "$SDIR"/styles.sh --mode8 ;; + *Solarized) "$SDIR"/styles.sh --mode9 ;; + *Cherry) "$SDIR"/styles.sh --mode10 ;; + esac diff --git a/config/polybar/cuts/scripts/styles.sh b/config/polybar/cuts/scripts/styles.sh new file mode 100755 index 0000000..94b6739 --- /dev/null +++ b/config/polybar/cuts/scripts/styles.sh @@ -0,0 +1,89 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/cuts/colors.ini" +RFILE="$HOME/.config/polybar/cuts/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = #${BG}/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = #8C${BG}/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = #${FG}/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = #33${FG}/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}BF; + bga: #${BG}FF; + fg: #${FG}FF; + ac: ${AC}FF; + se: ${AC}1A; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--mode1" ]]; then + BG="0a0a0a" + FG="f5f5f5" + AC="#fdd835" + change_color +elif [[ $1 = "--mode2" ]]; then + BG="263238" + FG="DFDFDF" + AC="#00BCD4" + change_color +elif [[ $1 = "--mode3" ]]; then + BG="112526" + FG="C4AAA5" + AC="#EE7313" + change_color +elif [[ $1 = "--mode4" ]]; then + BG="461320" + FG="f5f5f5" + AC="#fdd835" + change_color +elif [[ $1 = "--mode5" ]]; then + BG="092F1C" + FG="f5f5f5" + AC="#fdd835" + change_color +elif [[ $1 = "--mode6" ]]; then + BG="003C3C" + FG="CFCFCF" + AC="#00acc1" + change_color +elif [[ $1 = "--mode7" ]]; then + BG="3C3836" + FG="EBDBB2" + AC="#FB4934" + change_color +elif [[ $1 = "--mode8" ]]; then + BG="2E3440" + FG="D8DEE9" + AC="#BF616A" + change_color +elif [[ $1 = "--mode9" ]]; then + BG="002b36" + FG="839496" + AC="#b58900" + change_color +elif [[ $1 = "--mode10" ]]; then + BG="1F1626" + FG="FFFFFF" + AC="#FFD16F" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --mode1 --mode2 --mode3 --mode4 --mode5 + --mode6 --mode7 --mode8 --mode9 --mode10 + _EOF_ +fi diff --git a/config/polybar/cuts/scripts/updates.sh b/config/polybar/cuts/scripts/updates.sh new file mode 100755 index 0000000..49eb66d --- /dev/null +++ b/config/polybar/cuts/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/cuts/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/cuts/user_modules.ini b/config/polybar/cuts/user_modules.ini new file mode 100644 index 0000000..9b44d15 --- /dev/null +++ b/config/polybar/cuts/user_modules.ini @@ -0,0 +1,267 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/cuts/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-background = ${color.background} +format-padding = 1 + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.background} +content-foreground = ${color.primary} +content-padding = 1 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/cuts/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/cuts/scripts/launcher-full +click-right = ~/.config/polybar/cuts/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/cuts/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/cuts/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.primary} +content-padding = 1 + +click-left = ~/.config/polybar/cuts/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.foreground} +content-padding = 1 + +click-left = ~/.config/polybar/cuts/scripts/style-switch.sh & +click-right = ~/.config/polybar/cuts/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text +content-background = ${color.background} +content-padding = 1 + +[module/term] +inherit = module/apps +content = +content-foreground = #fdd835 +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content-foreground = #1e88e5 +content = +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content-foreground = #fb8c00 +content = +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content-foreground = #00897b +content = +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.background} +format-padding = 1 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +label-open-foreground = ${color.primary} +label-close-foreground = ${color.primary} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/cuts/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.background} +format-padding = 1 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +label-open-foreground = ${color.primary} +label-close-foreground = ${color.primary} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/decor-glyph] +type = custom/text +content-background = ${color.background-alt} +content-foreground = ${color.background} + +[module/decor1] +inherit = module/decor-glyph +content = "%{T3}%{T-}" + +[module/decor2] +inherit = module/decor-glyph +content = "%{T3}%{T-}" + +[module/decor3] +inherit = module/decor-glyph +content = "%{T3}%{T-}" + +[module/decor4] +inherit = module/decor-glyph +content = "%{T3}%{T-}" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + diff --git a/config/polybar/docky/bars.ini b/config/polybar/docky/bars.ini new file mode 100644 index 0000000..2cd1a7a --- /dev/null +++ b/config/polybar/docky/bars.ini @@ -0,0 +1,498 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/docky/colors.ini b/config/polybar/docky/colors.ini new file mode 100644 index 0000000..5a7b4fc --- /dev/null +++ b/config/polybar/docky/colors.ini @@ -0,0 +1,23 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #1F1F1F +foreground = #FFFFFF +foreground-alt = #8F8F8F +module-fg = #FFFFFF +primary = #e53935 +secondary = #E53935 +alternate = #7cb342 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/docky/config.ini b/config/polybar/docky/config.ini new file mode 100644 index 0000000..ffdb22a --- /dev/null +++ b/config/polybar/docky/config.ini @@ -0,0 +1,293 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/docky/bars.ini +include-file = ~/.config/polybar/docky/colors.ini +include-file = ~/.config/polybar/docky/modules.ini +include-file = ~/.config/polybar/docky/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 98% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 1% +offset-y = 2%:-2 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 2 +border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;3" +font-1 = "feather:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher workspaces +modules-center = mpd +modules-right = updates color-switch alsa backlight battery network date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/docky/launch.sh b/config/polybar/docky/launch.sh new file mode 100755 index 0000000..11ebaca --- /dev/null +++ b/config/polybar/docky/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/docky" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/docky/modules.ini b/config/polybar/docky/modules.ini new file mode 100644 index 0000000..b545f19 --- /dev/null +++ b/config/polybar/docky/modules.ini @@ -0,0 +1,1065 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <label-charging> +format-charging-prefix = " " + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <label-discharging> +format-discharging-prefix = " " + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = Full + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.secondary} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.primary} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +;;label-empty = Arch Linux + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-padding = 0 + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.primary} +label-active-overline = ${color.primary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.alternate} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.secondary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% + +label-active-padding = 2 +label-urgent-padding = 2 +label-occupied-padding = 2 +label-empty-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/docky/preview.ini b/config/polybar/docky/preview.ini new file mode 100644 index 0000000..bb5136d --- /dev/null +++ b/config/polybar/docky/preview.ini @@ -0,0 +1,319 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/docky/bars.ini +include-file = ~/.config/polybar/docky/colors.ini +include-file = ~/.config/polybar/docky/modules.ini +include-file = ~/.config/polybar/docky/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 98% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 1% +offset-y = 2%:-2 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;border-bottom-size = 2 +;border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;3" +font-1 = "feather:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +bottom = true +border-top-size = 2 +border-top-color = ${color.primary} +offset-y = 139 +modules-left = menu term files browser settings filesystem temperature +modules-center = title +modules-right = color-switch keyboard pulseaudio backlight updates powermenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +bottom = true +offset-y = 80 +modules-center = volume brightness battery_bar cpu_bar filesystem_bar memory_bar mpd_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +border-bottom-size = 2 +border-bottom-color = ${color.primary} +modules-left = launcher workspaces cpu memory +modules-center = mpd +modules-right = alsa battery network date sysmenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/docky/preview.sh b/config/polybar/docky/preview.sh new file mode 100755 index 0000000..af05cb7 --- /dev/null +++ b/config/polybar/docky/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/docky" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/docky/scripts/checkupdates b/config/polybar/docky/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/docky/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/docky/scripts/color-switch.sh b/config/polybar/docky/scripts/color-switch.sh new file mode 100755 index 0000000..8e4f150 --- /dev/null +++ b/config/polybar/docky/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/docky/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\ + deep-purple| green| gray| indigo| blue-light| green-light|\ + lime| orange| pink| purple| red| teal| yellow| amber-dark|\ + blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\ + deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\ + green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/docky/scripts/colors-dark.sh b/config/polybar/docky/scripts/colors-dark.sh new file mode 100755 index 0000000..7a5a6a2 --- /dev/null +++ b/config/polybar/docky/scripts/colors-dark.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/docky/colors.ini" +RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #1F1F1F/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #8F8F8F/g' $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE + sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #1F1F1FFF; + bga: ${AC}33; + bar: ${MF}FF; + fg: #FFFFFFFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + MF="#1F1F1F" + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + MF="#FFFFFF" + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + MF="#FFFFFF" + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + MF="#FFFFFF" + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + MF="#1F1F1F" + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + MF="#FFFFFF" + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + MF="#FFFFFF" + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + MF="#FFFFFF" + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + MF="#FFFFFF" + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + MF="#FFFFFF" + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + MF="#1F1F1F" + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + MF="#1F1F1F" + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + MF="#1F1F1F" + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + MF="#1F1F1F" + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + MF="#FFFFFF" + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + MF="#FFFFFF" + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + MF="#FFFFFF" + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + MF="#FFFFFF" + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + MF="#1F1F1F" + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/docky/scripts/colors-light.sh b/config/polybar/docky/scripts/colors-light.sh new file mode 100755 index 0000000..5193e24 --- /dev/null +++ b/config/polybar/docky/scripts/colors-light.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/docky/colors.ini" +RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #2E2E2E/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #656565/g' $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE + sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bga: ${AC}33; + bar: ${MF}FF; + fg: #2E2E2EFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + MF="#2E2E2E" + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + MF="#FFFFFF" + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + MF="#FFFFFF" + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + MF="#FFFFFF" + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + MF="#2E2E2E" + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + MF="#FFFFFF" + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + MF="#FFFFFF" + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + MF="#FFFFFF" + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + MF="#FFFFFF" + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + MF="#FFFFFF" + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + MF="#2E2E2E" + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + MF="#2E2E2E" + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + MF="#2E2E2E" + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + MF="#2E2E2E" + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + MF="#FFFFFF" + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + MF="#FFFFFF" + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + MF="#FFFFFF" + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + MF="#FFFFFF" + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + MF="#2E2E2E" + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/docky/scripts/launcher.sh b/config/polybar/docky/scripts/launcher.sh new file mode 100755 index 0000000..4efe826 --- /dev/null +++ b/config/polybar/docky/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/docky/scripts/rofi/launcher.rasi diff --git a/config/polybar/docky/scripts/powermenu.sh b/config/polybar/docky/scripts/powermenu.sh new file mode 100755 index 0000000..a2231dd --- /dev/null +++ b/config/polybar/docky/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/docky/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/docky/scripts/pywal.sh b/config/polybar/docky/scripts/pywal.sh new file mode 100755 index 0000000..36b7962 --- /dev/null +++ b/config/polybar/docky/scripts/pywal.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/docky/colors.ini" +RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE + sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${AC}33; + bar: ${MF}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + MF="#202020" + else + MF="#F5F5F5" + fi +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + FGA=`printf "%s\n" "$color8"` + AC=`printf "%s\n" "$color1"` + SC=`printf "%s\n" "$color2"` + AL=`printf "%s\n" "$color3"` + + HEX=${AC:1} + + hex_to_rgb $HEX + get_fg_color + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/docky/scripts/random.sh b/config/polybar/docky/scripts/random.sh new file mode 100755 index 0000000..2f8df54 --- /dev/null +++ b/config/polybar/docky/scripts/random.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/docky/colors.ini" +RFILE="$HOME/.config/polybar/docky/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE + sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${AC}33; + bar: ${MF}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + MF="#0a0a0a" + else + MF="#F5F5F5" + fi +} + +# Main +BG='#1F1F1F' # change to light bg +FG='#FFFFFF' # change to dark fg +FGA=`get_random_color` +AC=`get_random_color` +SC=`get_random_color` +AL=`get_random_color` + +HEX=${AC:1} + +hex_to_rgb $HEX +get_fg_color +change_color diff --git a/config/polybar/docky/scripts/rofi/colors.rasi b/config/polybar/docky/scripts/rofi/colors.rasi new file mode 100644 index 0000000..8f1b78a --- /dev/null +++ b/config/polybar/docky/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #1F1F1FFF; + bga: #e5393533; + bar: #FFFFFFFF; + fg: #FFFFFFFF; + ac: #e53935FF; +} diff --git a/config/polybar/docky/scripts/rofi/confirm.rasi b/config/polybar/docky/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..0a43fbc --- /dev/null +++ b/config/polybar/docky/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 225px; + padding: 25px; + border: 0px 0px 2px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/docky/scripts/rofi/launcher.rasi b/config/polybar/docky/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..e392fbf --- /dev/null +++ b/config/polybar/docky/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 2px 0px; + border-color: @ac; + border-radius: 0px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @bar; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/docky/scripts/rofi/message.rasi b/config/polybar/docky/scripts/rofi/message.rasi new file mode 100644 index 0000000..a848ee6 --- /dev/null +++ b/config/polybar/docky/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px 0px 2px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/docky/scripts/rofi/networkmenu.rasi b/config/polybar/docky/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..aac6541 --- /dev/null +++ b/config/polybar/docky/scripts/rofi/networkmenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 2px 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + background-color: @al; + text-color: @bar; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -17px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/docky/scripts/rofi/powermenu.rasi b/config/polybar/docky/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..9ed3801 --- /dev/null +++ b/config/polybar/docky/scripts/rofi/powermenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 2px 0px; + border-color: @ac; + border-radius: 0px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + background-color: @al; + text-color: @bar; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -17px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/docky/scripts/rofi/styles.rasi b/config/polybar/docky/scripts/rofi/styles.rasi new file mode 100644 index 0000000..cd6647a --- /dev/null +++ b/config/polybar/docky/scripts/rofi/styles.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 2px 0px; + border-color: @ac; + border-radius: 0px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + background-color: @al; + text-color: @bar; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 12px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -17px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/docky/scripts/updates.sh b/config/polybar/docky/scripts/updates.sh new file mode 100755 index 0000000..c3de7c5 --- /dev/null +++ b/config/polybar/docky/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/docky/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/docky/user_modules.ini b/config/polybar/docky/user_modules.ini new file mode 100644 index 0000000..68973c7 --- /dev/null +++ b/config/polybar/docky/user_modules.ini @@ -0,0 +1,233 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/docky/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.primary} +content-foreground = ${color.module-fg} +content-padding = 2 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/docky/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/docky/scripts/launcher-full +click-right = ~/.config/polybar/docky/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/docky/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/docky/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-background = ${color.primary} +content-foreground = ${color.module-fg} +content-padding = 2 + +click-left = ~/.config/polybar/docky/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.foreground} + +click-left = ~/.config/polybar/docky/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text +content-foreground = ${color.foreground-alt} +content-padding = 1 + +[module/term] +inherit = module/apps +content = +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content = +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content = +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content = +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.primary} +format-foreground = ${color.module-fg} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/docky/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.primary} +format-foreground = ${color.module-fg} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/bars.ini b/config/polybar/forest/bars.ini new file mode 100644 index 0000000..06b6eda --- /dev/null +++ b/config/polybar/forest/bars.ini @@ -0,0 +1,551 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = ⏽ +empty = ⏽ +indicator = +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-foreground = ${color.red} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.sep} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-foreground = ${color.blue} + +; Only applies if <bar-volume> is used +bar-volume-format = "%fill%%indicator%%empty%" +bar-volume-width = 11 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} +bar-volume-indicator-font = 2 + +bar-volume-fill = ${bar.fill} +bar-volume-fill-font = 2 +bar-volume-foreground-0 = ${color.green} +bar-volume-foreground-1 = ${color.green} +bar-volume-foreground-2 = ${color.yellow} +bar-volume-foreground-3 = ${color.yellow} +bar-volume-foreground-4 = ${color.red} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${color.sep} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-foreground = ${color.lime} + +; Only applies if <bar> is used +bar-format = "%fill%%indicator%%empty%" +bar-width = 11 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} +bar-indicator-font = 2 + +bar-fill = ${bar.fill} +bar-fill-font = 2 +bar-foreground-0 = ${color.green} +bar-foreground-1 = ${color.green} +bar-foreground-2 = ${color.yellow} +bar-foreground-3 = ${color.yellow} +bar-foreground-4 = ${color.red} + +bar-empty = ${bar.empty} +bar-empty-font = 2 +bar-empty-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = "" +format-charging-prefix-foreground = ${color.green} + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = "" +format-discharging-prefix-foreground = ${color.pink} + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = "" +format-full-prefix-foreground = ${color.red} + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = Full + +; Only applies if <bar-capacity> is used +bar-capacity-format = " %fill%%indicator%%empty%" +bar-capacity-width = 11 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-font = 2 +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-fill-font = 2 +bar-capacity-foreground-0 = ${color.green} +bar-capacity-foreground-1 = ${color.green} +bar-capacity-foreground-2 = ${color.yellow} +bar-capacity-foreground-3 = ${color.yellow} +bar-capacity-foreground-4 = ${color.red} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-font = 2 +bar-capacity-empty-foreground = ${color.sep} +bar-fill-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load><label> +format-prefix = +format-prefix-foreground = ${color.teal} + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Only applies if <bar-load> is used +bar-load-format = " %fill%%indicator%%empty%" +bar-load-width = 11 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-font = 2 +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-fill-font = 2 +bar-load-foreground-0 = ${color.green} +bar-load-foreground-1 = ${color.green} +bar-load-foreground-2 = ${color.yellow} +bar-load-foreground-3 = ${color.yellow} +bar-load-foreground-4 = ${color.red} + +bar-load-empty = ${bar.empty} +bar-load-empty-font = 2 +bar-load-empty-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used><label-mounted> +format-mounted-prefix = +format-mounted-prefix-foreground = ${color.purple} + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-prefix-foreground = ${color.red} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %used%/%total%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-format = " %fill%%indicator%%empty%" +bar-used-width = 11 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-font = 2 +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-fill-font = 2 +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-font = 2 +bar-used-empty-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used><label> +format-prefix = +format-prefix-foreground = ${color.indigo} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <bar-used> is used +bar-used-format = " %fill%%indicator%%empty%" +bar-used-width = 11 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-font = 2 +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-fill-font = 2 +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-font = 2 +bar-used-empty-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song><bar-progress><label-time> +format-online-prefix = +format-online-prefix-foreground = ${color.green} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-prefix-foreground = ${color.red} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = " %elapsed% / %total%" + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +bar-progress-format = " %fill%%indicator%%empty%" +bar-progress-width = 11 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-font = 2 +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-fill-font = 2 +bar-progress-foreground-0 = ${color.green} +bar-progress-foreground-1 = ${color.green} +bar-progress-foreground-2 = ${color.yellow} +bar-progress-foreground-3 = ${color.yellow} +bar-progress-foreground-4 = ${color.red} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-font = 2 +bar-progress-empty-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/colors.ini b/config/polybar/forest/colors.ini new file mode 100644 index 0000000..e81c44d --- /dev/null +++ b/config/polybar/forest/colors.ini @@ -0,0 +1,37 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #212B30 +foreground = #C4C7C5 +sep = #3F5360 + +white = #FFFFFF +black = #000000 +red = #EC7875 +pink = #EC407A +purple = #BA68C8 +blue = #42A5F5 +cyan = #4DD0E1 +teal = #00B19F +green = #61C766 +lime = #B9C244 +yellow = #FDD835 +amber = #FBC02D +orange = #E57C46 +brown = #AC8476 +indigo = #6C77BB +gray = #9E9E9E +blue-gray = #6D8895 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/config.ini b/config/polybar/forest/config.ini new file mode 100644 index 0000000..5a2fa32 --- /dev/null +++ b/config/polybar/forest/config.ini @@ -0,0 +1,294 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/forest/bars.ini +include-file = ~/.config/polybar/forest/colors.ini +include-file = ~/.config/polybar/forest/modules.ini +include-file = ~/.config/polybar/forest/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 0 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-bottom-color = ${color.foreground} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "Iosevka Nerd Font:size=10;3" +font-2 = "feather:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher sep workspaces sep cpu memory filesystem +modules-center = mpd sep date +modules-right = battery network sep volume brightness sep sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/launch.sh b/config/polybar/forest/launch.sh new file mode 100755 index 0000000..2c31c90 --- /dev/null +++ b/config/polybar/forest/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/forest" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/forest/modules.ini b/config/polybar/forest/modules.ini new file mode 100644 index 0000000..2fbe8de --- /dev/null +++ b/config/polybar/forest/modules.ini @@ -0,0 +1,1091 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-foreground = ${color.red} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.sep} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-foreground = ${color.blue} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = +ramp-headphones-background = ${color.blue} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-foreground = ${color.lime} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <label-charging> +format-charging-prefix = "" +format-charging-prefix-foreground = ${color.green} + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <label-discharging> +format-discharging-prefix = "" +format-discharging-prefix-foreground = ${color.pink} + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = +format-full-prefix-foreground = ${color.red} + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = " %percentage%%" + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = " %percentage%%" + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-prefix-foreground = ${color.yellow} + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +date = %A, %d %B + +; Optional time format +time = at %I:%M %p + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +date-alt = It's %A, %d %B %Y +time-alt = at %k:%M:%S + +; Available tags: +; <label> (default) +format = <label> +format-prefix = " " +format-prefix-foreground = ${color.red} + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %date% %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-prefix-foreground = ${color.orange} + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-prefix-foreground = ${color.red} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: NA" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-prefix-foreground = ${color.blue} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = +format-online-prefix-foreground = ${color.green} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-prefix-foreground = ${color.red} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% +label-time-background = ${color.background-alt} +label-time-padding = 1 + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-play-foreground = ${color.cyan} +icon-pause = +icon-pause-foreground = ${color.cyan} +icon-stop = +icon-stop-foreground = ${color.red} +icon-next = +icon-next-foreground = ${color.cyan} +icon-prev = +icon-prev-foreground = ${color.cyan} +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = +format-connected-prefix-foreground = ${color.purple} + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = +format-disconnected-prefix-foreground = ${color.orange} + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid% %{F#6C77BB}%{F-} %downspeed%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-prefix-foreground = ${color.red} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.sep} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-foreground = ${color.blue} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.red} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-foreground = ${color.cyan} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = +format-prefix-foreground = ${color.blue-gray} + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = "%name%" +label-indicator-on-foreground = ${color.cyan} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-foreground = ${color.foreground} + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +label-empty = " Desktop" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.pink} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.cyan} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.red} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% +label-empty-foreground = ${color.foreground} + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/preview.ini b/config/polybar/forest/preview.ini new file mode 100644 index 0000000..bcd553f --- /dev/null +++ b/config/polybar/forest/preview.ini @@ -0,0 +1,310 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/forest/bars.ini +include-file = ~/.config/polybar/forest/colors.ini +include-file = ~/.config/polybar/forest/modules.ini +include-file = ~/.config/polybar/forest/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 5 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-bottom-color = ${color.foreground} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "Iosevka Nerd Font:size=10;3" +font-2 = "feather:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +offset-y = 10 +modules-center = title sep menu sep term files browser settings sep filesystem sep temperature sep color-switch sep keyboard sep pulseaudio sep backlight sep updates sep powermenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +offset-y = 54 +modules-center = volume sep brightness sep battery_bar sep cpu_bar sep filesystem_bar sep memory_bar sep mpd_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 98 +modules-center = launcher sep workspaces sep cpu sep memory sep mpd sep alsa sep battery sep network sep date sep sysmenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/forest/preview.sh b/config/polybar/forest/preview.sh new file mode 100755 index 0000000..695d051 --- /dev/null +++ b/config/polybar/forest/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/forest" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/forest/scripts/checkupdates b/config/polybar/forest/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/forest/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/forest/scripts/launcher.sh b/config/polybar/forest/scripts/launcher.sh new file mode 100755 index 0000000..b853625 --- /dev/null +++ b/config/polybar/forest/scripts/launcher.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +FILE="$HOME/.config/polybar/forest/scripts/rofi/colors.rasi" + +## random accent color +#COLORS=('#EC7875' '#EC6798' '#BE78D1' '#75A4CD' '#00C7DF' '#00B19F' '#61C766' \ +# '#B9C244' '#EBD369' '#EDB83F' '#E57C46' '#AC8476' '#6C77BB' '#6D8895') +#AC="${COLORS[$(( $RANDOM % 14 ))]}" +#SE="${COLORS[$(( $RANDOM % 14 ))]}" +#sed -i -e "s/ac: .*/ac: ${AC}FF;/g" $FILE +#sed -i -e "s/se: .*/se: ${SE}FF;/g" $FILE + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/forest/scripts/rofi/launcher.rasi diff --git a/config/polybar/forest/scripts/powermenu.sh b/config/polybar/forest/scripts/powermenu.sh new file mode 100755 index 0000000..17db0cf --- /dev/null +++ b/config/polybar/forest/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/forest/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/forest/scripts/rofi/colors.rasi b/config/polybar/forest/scripts/rofi/colors.rasi new file mode 100644 index 0000000..cd1f090 --- /dev/null +++ b/config/polybar/forest/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #212B30FF; + bga: #263035FF; + fg: #C4C7C5FF; + ac: #EC407AFF; + se: #4DD0E1FF; +} diff --git a/config/polybar/forest/scripts/rofi/confirm.rasi b/config/polybar/forest/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..0db4b79 --- /dev/null +++ b/config/polybar/forest/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 210px; + padding: 25px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/forest/scripts/rofi/launcher.rasi b/config/polybar/forest/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..91163e8 --- /dev/null +++ b/config/polybar/forest/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 500px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @bga; + text-color: @ac; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 6; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 5px; + padding: 5px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/forest/scripts/rofi/message.rasi b/config/polybar/forest/scripts/rofi/message.rasi new file mode 100644 index 0000000..4c7ef7f --- /dev/null +++ b/config/polybar/forest/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/forest/scripts/rofi/networkmenu.rasi b/config/polybar/forest/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..898aead --- /dev/null +++ b/config/polybar/forest/scripts/rofi/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px; + background-color: @bga; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 5px; + padding: 5px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/forest/scripts/rofi/powermenu.rasi b/config/polybar/forest/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..37900e8 --- /dev/null +++ b/config/polybar/forest/scripts/rofi/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px; + background-color: @bga; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 5px; + padding: 5px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/forest/scripts/rofi/styles.rasi b/config/polybar/forest/scripts/rofi/styles.rasi new file mode 100644 index 0000000..1c3f182 --- /dev/null +++ b/config/polybar/forest/scripts/rofi/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @ac; + border-radius: 0px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @bga; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 0px; + background-color: @bga; + text-color: @ac; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @se; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 5px; + padding: 5px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/forest/scripts/style-switch.sh b/config/polybar/forest/scripts/style-switch.sh new file mode 100755 index 0000000..e0188f3 --- /dev/null +++ b/config/polybar/forest/scripts/style-switch.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/forest/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " Default| Nord| Gruvbox| Dark| Cherry|")" + case "$MENU" in + *Default) "$SDIR"/styles.sh --default ;; + *Nord) "$SDIR"/styles.sh --nord ;; + *Gruvbox) "$SDIR"/styles.sh --gruvbox ;; + *Dark) "$SDIR"/styles.sh --dark ;; + *Cherry) "$SDIR"/styles.sh --cherry ;; + esac diff --git a/config/polybar/forest/scripts/styles.sh b/config/polybar/forest/scripts/styles.sh new file mode 100755 index 0000000..35899a9 --- /dev/null +++ b/config/polybar/forest/scripts/styles.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/forest/colors.ini" +RFILE="$HOME/.config/polybar/forest/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/sep = #.*/sep = $SEP/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${BGA}FF; + fg: ${FG}FF; + ac: ${AC}FF; + se: ${SE}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--default" ]]; then + BG="#212B30" + FG="#C4C7C5" + BGA="#263035" + SEP="#3F5360" + AC="#EC407A" + SE="#4DD0E1" + change_color +elif [[ $1 = "--nord" ]]; then + BG="#3B4252" + FG="#E5E9F0" + BGA="#454C5C" + SEP="#5B6579" + AC="#BF616A" + SE="#88C0D0" + change_color +elif [[ $1 = "--gruvbox" ]]; then + BG="#282828" + FG="#EBDBB2" + BGA="#313131" + SEP="#505050" + AC="#FB4934" + SE="#8EC07C" + change_color +elif [[ $1 = "--dark" ]]; then + BG="#141C21" + FG="#93A1A1" + BGA="#1E262B" + SEP="#3C4449" + AC="#D12F2C" + SE="#33C5BA" + change_color +elif [[ $1 = "--cherry" ]]; then + BG="#1F1626" + FG="#FFFFFF" + BGA="#292030" + SEP="#473F4E" + AC="#D94084" + SE="#4F5D95" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --default --nord --gruvbox --dark --cherry + _EOF_ +fi diff --git a/config/polybar/forest/scripts/updates.sh b/config/polybar/forest/scripts/updates.sh new file mode 100755 index 0000000..84fdad2 --- /dev/null +++ b/config/polybar/forest/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/forest/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo "$UPDATES" + elif (( UPDATES > 1 )); then + echo "$UPDATES" + else + echo "None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo "None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/forest/user_modules.ini b/config/polybar/forest/user_modules.ini new file mode 100644 index 0000000..507db1f --- /dev/null +++ b/config/polybar/forest/user_modules.ini @@ -0,0 +1,244 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/forest/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-prefix-foreground = ${color.yellow} + +; Available tokens: +; %output% +; Default: %output% +label = " %output%" + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text + +content = +content-foreground = ${color.purple} + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/forest/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/forest/scripts/launcher-full +click-right = ~/.config/polybar/forest/scripts/style-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/forest/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/forest/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = +content-foreground = ${color.cyan} + +click-left = ~/.config/polybar/forest/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text + +content = +content-foreground = ${color.red} + +click-left = ~/.config/polybar/forest/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = | + +content-foreground = ${color.sep} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text + +[module/term] +inherit = module/apps +content = +content-foreground = ${color.blue-gray} +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content = +content-foreground = ${color.blue} +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content = +content-foreground = ${color.orange} +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content = +content-foreground = ${color.teal} +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = " Reboot |" +menu-0-0-exec = menu-open-1 +menu-0-1 = " Shutdown " +menu-0-1-exec = menu-open-2 + +menu-1-0 = " Back |" +menu-1-0-exec = menu-open-0 +menu-1-1 = " Reboot " +menu-1-1-exec = systemctl reboot + +menu-2-0 = " Shutdown |" +menu-2-0-exec = systemctl poweroff +menu-2-1 = " Back " +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> + +label-open = +label-open-foreground = ${color.cyan} +label-open-padding = 1 +label-close = +label-close-foreground = ${color.red} +label-close-padding = 1 + +; Optional item separator +; Default: none +;label-separator = " | " +;label-separator-foreground = ${color.foreground} +;label-separator-background = ${color.background-alt} + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 =" Menu | " +menu-0-0-exec = ~/.config/polybar/forest/scripts/launcher.sh & + +menu-0-1 =" Files | " +menu-0-1-exec = thunar & + +menu-0-2 =" Terminal | " +menu-0-2-exec = termite & + +menu-0-3 =" Browser " +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle><menu> + +label-open = +label-open-foreground = ${color.yellow} +label-open-padding = 1 +label-close = +label-close-foreground = ${color.red} +label-close-padding = 1 + +; Optional item separator +; Default: none +;label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/bars.ini b/config/polybar/grayblocks/bars.ini new file mode 100644 index 0000000..4c30e67 --- /dev/null +++ b/config/polybar/grayblocks/bars.ini @@ -0,0 +1,556 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> +format-volume-background = ${color.background-alt} +format-volume-foreground = ${color.foreground} +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background-alt} +format-muted-foreground = ${color.foreground} +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " +format-charging-background = ${color.background-alt} +format-charging-foreground = ${color.foreground} +format-charging-overline = ${color.background} +format-charging-underline = ${color.background} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " +format-discharging-background = ${color.background-alt} +format-discharging-foreground = ${color.foreground} +format-discharging-overline = ${color.background} +format-discharging-underline = ${color.background} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.background-alt} +format-full-foreground = ${color.foreground} +format-full-overline = ${color.background} +format-full-underline = ${color.background} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " +format-mounted-background = ${color.background-alt} +format-mounted-foreground = ${color.foreground} +format-mounted-overline = ${color.background} +format-mounted-underline = ${color.background} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " +format-unmounted-background = ${color.background-alt} +format-unmounted-foreground = ${color.foreground} +format-unmounted-overline = ${color.background} +format-unmounted-underline = ${color.background} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = +format-online-background = ${color.background-alt} +format-online-foreground = ${color.foreground} +format-online-overline = ${color.background} +format-online-underline = ${color.background} +format-online-padding = 2 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-background = ${color.background-alt} +format-offline-foreground = ${color.foreground} +format-offline-overline = ${color.background} +format-offline-underline = ${color.background} +format-offline-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/colors.ini b/config/polybar/grayblocks/colors.ini new file mode 100644 index 0000000..be76252 --- /dev/null +++ b/config/polybar/grayblocks/colors.ini @@ -0,0 +1,23 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #272727 +background-alt = #383838 +foreground = #CACACA +foreground-alt = #CACACA +primary = #e53935 +red = #EF5350 +yellow = #FFEE58 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/config.ini b/config/polybar/grayblocks/config.ini new file mode 100644 index 0000000..e814640 --- /dev/null +++ b/config/polybar/grayblocks/config.ini @@ -0,0 +1,293 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/grayblocks/bars.ini +include-file = ~/.config/polybar/grayblocks/colors.ini +include-file = ~/.config/polybar/grayblocks/modules.ini +include-file = ~/.config/polybar/grayblocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 6 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-top-size = 4 +border-top-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "feather:size=10;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher workspaces sep cpu sep memory +modules-center = updates sep alsa mpd battery sep backlight +modules-right = color-switch sep network sep date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/launch.sh b/config/polybar/grayblocks/launch.sh new file mode 100755 index 0000000..7939c20 --- /dev/null +++ b/config/polybar/grayblocks/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/grayblocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/grayblocks/modules.ini b/config/polybar/grayblocks/modules.ini new file mode 100644 index 0000000..6fb455e --- /dev/null +++ b/config/polybar/grayblocks/modules.ini @@ -0,0 +1,1163 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.background-alt} +format-volume-foreground = ${color.foreground} +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background-alt} +format-muted-foreground = ${color.foreground} +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <label-charging> +format-charging-prefix = " " +format-charging-background = ${color.background-alt} +format-charging-foreground = ${color.foreground} +format-charging-overline = ${color.background} +format-charging-underline = ${color.background} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <label-discharging> +format-discharging-prefix = " " +format-discharging-background = ${color.background-alt} +format-discharging-foreground = ${color.foreground} +format-discharging-overline = ${color.background} +format-discharging-underline = ${color.background} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.background-alt} +format-full-foreground = ${color.foreground} +format-full-overline = ${color.background} +format-full-underline = ${color.background} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = Full + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-background = ${color.background-alt} +format-mounted-foreground = ${color.foreground} +format-mounted-overline = ${color.background} +format-mounted-underline = ${color.background} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-background = ${color.background-alt} +format-unmounted-foreground = ${color.foreground} +format-unmounted-overline = ${color.background} +format-unmounted-underline = ${color.background} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = +format-online-padding = 2 +format-online-foreground = ${color.foreground-alt} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-padding = 2 +format-offline-foreground = ${color.foreground-alt} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = +format-connected-background = ${color.background-alt} +format-connected-foreground = ${color.foreground} +format-connected-overline = ${color.background} +format-connected-underline = ${color.background} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = +format-disconnected-background = ${color.background-alt} +format-disconnected-foreground = ${color.foreground} +format-disconnected-overline = ${color.background} +format-disconnected-underline = ${color.background} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.background-alt} +format-volume-foreground = ${color.foreground} +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = +format-muted-background = ${color.background-alt} +format-muted-foreground = ${color.foreground} +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> +format-warn-background = ${color.background-alt} +format-warn-foreground = ${color.foreground} +format-warn-overline = ${color.background} +format-warn-underline = ${color.background} +format-warn-padding = 2 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.red} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.primary} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-padding = 2 +format-foreground = ${color.foreground-alt} + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +label-empty = Desktop + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 1 + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.primary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.yellow} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.red} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/preview.ini b/config/polybar/grayblocks/preview.ini new file mode 100644 index 0000000..94bf1be --- /dev/null +++ b/config/polybar/grayblocks/preview.ini @@ -0,0 +1,316 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/grayblocks/bars.ini +include-file = ~/.config/polybar/grayblocks/colors.ini +include-file = ~/.config/polybar/grayblocks/modules.ini +include-file = ~/.config/polybar/grayblocks/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 6 +line-color = ${color.background} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-top-size = 4 +border-top-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=10;4" +font-1 = "feather:size=10;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +bottom = true +offset-y = 118 +modules-left = launcher workspaces sep cpu sep memory +modules-center = mpd +modules-right = alsa sep battery sep network sep date sep sysmenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +bottom = true +offset-y = 64 +modules-center = volume sep brightness sep battery_bar sep cpu_bar sep filesystem_bar sep memory_bar sep mpd_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +offset-y = 10 +modules-left = sep menu sep term files browser settings sep filesystem sep temperature +modules-center = title +modules-right = color-switch sep keyboard sep pulseaudio sep backlight sep updates sep powermenu sep +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/grayblocks/preview.sh b/config/polybar/grayblocks/preview.sh new file mode 100755 index 0000000..1775333 --- /dev/null +++ b/config/polybar/grayblocks/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/grayblocks" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/grayblocks/scripts/checkupdates b/config/polybar/grayblocks/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/grayblocks/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/grayblocks/scripts/color-switch.sh b/config/polybar/grayblocks/scripts/color-switch.sh new file mode 100755 index 0000000..c6f8a20 --- /dev/null +++ b/config/polybar/grayblocks/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/grayblocks/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " amber| blue| blue-gray| brown| cyan| deep-orange|\ + deep-purple| green| gray| indigo| blue-light| green-light|\ + lime| orange| pink| purple| red| teal| yellow| amber-dark|\ + blue-dark| blue-gray-dark| brown-dark| cyan-dark| deep-orange-dark|\ + deep-purple-dark| green-dark| gray-dark| indigo-dark| blue-light-dark|\ + green-light-dark| lime-dark| orange-dark| pink-dark| purple-dark| red-dark| teal-dark| yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/grayblocks/scripts/colors-dark.sh b/config/polybar/grayblocks/scripts/colors-dark.sh new file mode 100755 index 0000000..7f3b26d --- /dev/null +++ b/config/polybar/grayblocks/scripts/colors-dark.sh @@ -0,0 +1,101 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/grayblocks/colors.ini" +RFILE="$HOME/.config/polybar/grayblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #272727/g' $PFILE + sed -i -e 's/background-alt = #.*/background-alt = #383838/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #CACACA/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #CACACA/g' $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/red = #.*/red = #EF5350/g' $PFILE + sed -i -e 's/yellow = #.*/yellow = #FFEE58/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #272727FF; + bga: #383838FF; + fga: #CACACAFF; + fg: #CACACAFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/grayblocks/scripts/colors-light.sh b/config/polybar/grayblocks/scripts/colors-light.sh new file mode 100755 index 0000000..be5fbea --- /dev/null +++ b/config/polybar/grayblocks/scripts/colors-light.sh @@ -0,0 +1,101 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/grayblocks/colors.ini" +RFILE="$HOME/.config/polybar/grayblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/background-alt = #.*/background-alt = #E7E7E7/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #0a0a0a/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #0a0a0a/g' $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/red = #.*/red = #B71C1C/g' $PFILE + sed -i -e 's/yellow = #.*/yellow = #F57F17/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bga: #E7E7E7FF; + fga: #0a0a0aFF; + fg: #0a0a0aFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/grayblocks/scripts/launcher.sh b/config/polybar/grayblocks/scripts/launcher.sh new file mode 100755 index 0000000..4f49dfa --- /dev/null +++ b/config/polybar/grayblocks/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/grayblocks/scripts/rofi/launcher.rasi diff --git a/config/polybar/grayblocks/scripts/powermenu.sh b/config/polybar/grayblocks/scripts/powermenu.sh new file mode 100755 index 0000000..b17bbca --- /dev/null +++ b/config/polybar/grayblocks/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/grayblocks/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/grayblocks/scripts/pywal.sh b/config/polybar/grayblocks/scripts/pywal.sh new file mode 100755 index 0000000..a915c67 --- /dev/null +++ b/config/polybar/grayblocks/scripts/pywal.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/grayblocks/colors.ini" +RFILE="$HOME/.config/polybar/grayblocks/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = $BGA/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/red = #.*/red = #B71C1C/g' $PFILE + sed -i -e 's/yellow = #.*/yellow = #F57F17/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${BGA}FF; + fga: ${FGA}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$background"` + BGA=`printf "%s\n" "$color7"` + FGA=`printf "%s\n" "$color7"` + AC=`printf "%s\n" "$color1"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/grayblocks/scripts/random.sh b/config/polybar/grayblocks/scripts/random.sh new file mode 100755 index 0000000..5c84871 --- /dev/null +++ b/config/polybar/grayblocks/scripts/random.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/grayblocks/colors.ini" +RFILE="$HOME/.config/polybar/grayblocks/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/background-alt = #.*/background-alt = $BGA/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FG/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/red = #.*/red = #EF5350/g' $PFILE + sed -i -e 's/yellow = #.*/yellow = #FFEE58/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${BGA}FF; + fga: ${FG}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +# Main +BG='#272727' # change to light bg +FG='#CACACA' # change to dark fg +BGA='#383838' +AC=`get_random_color` + +change_color diff --git a/config/polybar/grayblocks/scripts/rofi/colors.rasi b/config/polybar/grayblocks/scripts/rofi/colors.rasi new file mode 100644 index 0000000..4ea927c --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #272727FF; + bga: #383838FF; + fga: #CACACAFF; + fg: #CACACAFF; + ac: #e53935FF; +} diff --git a/config/polybar/grayblocks/scripts/rofi/confirm.rasi b/config/polybar/grayblocks/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..dbe4fa8 --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fga; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 210px; + padding: 25px; + border: 0px 0px 4px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/rofi/launcher.rasi b/config/polybar/grayblocks/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..aaf0f05 --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 4px 0px; + border-color: @ac; + border-radius: 0px; + width: 600px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 2px 0px 0px 4px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 2px 0px 0px 6px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 7; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/rofi/message.rasi b/config/polybar/grayblocks/scripts/rofi/message.rasi new file mode 100644 index 0000000..84ec88c --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fga; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px 0px 4px 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/rofi/networkmenu.rasi b/config/polybar/grayblocks/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..67f577e --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 4px 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 2px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 2px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 2px 0px 0px 6px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -10px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/rofi/powermenu.rasi b/config/polybar/grayblocks/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..d4bf8a5 --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 4px 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 2px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 2px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 2px 0px 0px 6px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/rofi/styles.rasi b/config/polybar/grayblocks/scripts/rofi/styles.rasi new file mode 100644 index 0000000..4ca2396 --- /dev/null +++ b/config/polybar/grayblocks/scripts/rofi/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 4px 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 2px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 2px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Find..."; + padding: 2px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: @al; + text-color: @fga; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/grayblocks/scripts/updates.sh b/config/polybar/grayblocks/scripts/updates.sh new file mode 100755 index 0000000..c5ce60c --- /dev/null +++ b/config/polybar/grayblocks/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/grayblocks/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/grayblocks/user_modules.ini b/config/polybar/grayblocks/user_modules.ini new file mode 100644 index 0000000..9210eca --- /dev/null +++ b/config/polybar/grayblocks/user_modules.ini @@ -0,0 +1,257 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/grayblocks/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.background} +content-foreground = ${color.foreground-alt} +content-padding = 4 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/grayblocks/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/grayblocks/scripts/launcher-full +click-right = ~/.config/polybar/grayblocks/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/grayblocks/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/grayblocks/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.foreground-alt} +content-padding = 4 + +click-left = ~/.config/polybar/grayblocks/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = ${color.background-alt} +content-foreground = ${color.foreground} +content-overline = ${color.background} +content-underline = ${color.background} +content-padding = 2 + +click-left = ~/.config/polybar/grayblocks/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = | + +content-background = ${color.background} +content-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text +content-background = ${color.background-alt} +content-foreground = ${color.foreground} +content-overline = ${color.background} +content-underline = ${color.background} +content-padding = 1 + +[module/term] +inherit = module/apps +content = +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content = +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content = +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content = +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/grayblocks/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.background-alt} +format-foreground = ${color.foreground} +format-overline = ${color.background} +format-underline = ${color.background} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/bars.ini b/config/polybar/hack/bars.ini new file mode 100644 index 0000000..d0dac10 --- /dev/null +++ b/config/polybar/hack/bars.ini @@ -0,0 +1,507 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.green} +bar-volume-foreground-1 = ${color.green} +bar-volume-foreground-2 = ${color.yellow} +bar-volume-foreground-3 = ${color.yellow} +bar-volume-foreground-4 = ${color.red} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <bar> +format-prefix = "盛 " +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.green} +bar-foreground-1 = ${color.green} +bar-foreground-2 = ${color.yellow} +bar-foreground-3 = ${color.yellow} +bar-foreground-4 = ${color.red} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = "Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.green} +bar-capacity-foreground-1 = ${color.green} +bar-capacity-foreground-2 = ${color.yellow} +bar-capacity-foreground-3 = ${color.yellow} +bar-capacity-foreground-4 = ${color.red} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.green} +bar-load-foreground-1 = ${color.green} +bar-load-foreground-2 = ${color.yellow} +bar-load-foreground-3 = ${color.yellow} +bar-load-foreground-4 = ${color.red} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = %mountpoint%: not mounted + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.yellow} +bar-used-foreground-3 = ${color.yellow} +bar-used-foreground-4 = ${color.red} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = ﱘ + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.yellow} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.yellow} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/colors.ini b/config/polybar/hack/colors.ini new file mode 100644 index 0000000..16307f2 --- /dev/null +++ b/config/polybar/hack/colors.ini @@ -0,0 +1,22 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #263238 +foreground = #DFDFDF +primary = #00BCD4 +red = #FF5250 +green = #43a047 +yellow = #fdd835 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/config.ini b/config/polybar/hack/config.ini new file mode 100644 index 0000000..c758ab1 --- /dev/null +++ b/config/polybar/hack/config.ini @@ -0,0 +1,314 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/hack/bars.ini +include-file = ~/.config/polybar/hack/colors.ini +include-file = ~/.config/polybar/hack/modules.ini +include-file = ~/.config/polybar/hack/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 26 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;border-bottom-size = 2 +;border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 1 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;3" +font-1 = "Iosevka Nerd Font:pixelsize=12;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;modules-left = launcher workspaces google github reddit gmail twitter +;modules-center = +;modules-right = mpd updates alsa battery network date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +border-bottom-size = 2 +border-bottom-color = ${color.primary} +modules-left = launcher sep title +modules-center = workspaces +modules-right = color-switch sep battery sep checknet sep date sep sysmenu +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +border-top-size = 2 +border-top-color = ${color.primary} +modules-left = mpd +modules-center = cpu sep memory sep filesystem sep temperature sep updates sep speed +modules-right = volume sep brightness +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/launch.sh b/config/polybar/hack/launch.sh new file mode 100755 index 0000000..05e876b --- /dev/null +++ b/config/polybar/hack/launch.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/hack" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q top -c "$DIR"/config.ini & +polybar -q bottom -c "$DIR"/config.ini & diff --git a/config/polybar/hack/modules.ini b/config/polybar/hack/modules.ini new file mode 100644 index 0000000..043d597 --- /dev/null +++ b/config/polybar/hack/modules.ini @@ -0,0 +1,1163 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> <label-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = "%percentage%% (%time%)" + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = "%percentage%% (%time%)" + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = ${github.icon} + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = ﱘ +format-online-foreground = ${color.foreground} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ +format-offline-foreground = ${color.foreground} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.red} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = 說 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = ﲁ + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/speed] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-prefix = 直 +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = 睊 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:} %essid% %downspeed% 祝 %upspeed%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Disconnected%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.red} + +; Only applies if <ramp-volume> is used +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.red} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +;format-prefix = + +; Available tokens: +; %title% +; Default: %title% +label = "%title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +label-empty = Desktop + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-padding = 1 + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.primary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.yellow} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.red} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% + +label-active-padding = 2 +label-urgent-padding = 2 +label-occupied-padding = 2 +label-empty-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/preview.ini b/config/polybar/hack/preview.ini new file mode 100644 index 0000000..af8a0e9 --- /dev/null +++ b/config/polybar/hack/preview.ini @@ -0,0 +1,321 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/hack/bars.ini +include-file = ~/.config/polybar/hack/colors.ini +include-file = ~/.config/polybar/hack/modules.ini +include-file = ~/.config/polybar/hack/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 26 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;border-bottom-size = 2 +;border-bottom-color = ${color.primary} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 1 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;3" +font-1 = "Iosevka Nerd Font:pixelsize=12;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;modules-left = launcher workspaces google github reddit gmail twitter +;modules-center = +;modules-right = mpd updates alsa battery network date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +offset-y = 10 +border-top-size = 2 +border-top-color = ${color.primary} +modules-left = launcher sep title +modules-center = workspaces +modules-right = alsa sep battery sep checknet sep date sep sysmenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +offset-y = 48 +modules-center = battery_bar sep cpu_bar sep memory_bar sep filesystem_bar sep mpd_bar sep volume sep brightness +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 84 +border-bottom-size = 2 +border-bottom-color = ${color.primary} +modules-left = menu sep mpd sep color-switch +modules-center = cpu sep memory sep filesystem sep temperature sep updates sep speed +modules-right = backlight sep pulseaudio sep network sep keyboard sep powermenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/hack/preview.sh b/config/polybar/hack/preview.sh new file mode 100755 index 0000000..e2addb1 --- /dev/null +++ b/config/polybar/hack/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/hack" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/hack/scripts/check-network b/config/polybar/hack/scripts/check-network new file mode 100755 index 0000000..53ba282 --- /dev/null +++ b/config/polybar/hack/scripts/check-network @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +count=0 +connected="說" +disconnected="ﲁ" + +ID="$(ip link | awk '/state UP/ {print $2}')" + +while true; do + if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then + if [[ $ID == e* ]]; then + echo "$connected Online" ; sleep 25 + else + echo "$connected Online" ; sleep 25 + fi + else + echo "$disconnected Offline" ; sleep 5 + fi +done diff --git a/config/polybar/hack/scripts/checkupdates b/config/polybar/hack/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/hack/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/hack/scripts/color-switch.sh b/config/polybar/hack/scripts/color-switch.sh new file mode 100755 index 0000000..f8224f6 --- /dev/null +++ b/config/polybar/hack/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/hack/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ +♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ +♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ +♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ +♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ +♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/hack/scripts/colors-dark.sh b/config/polybar/hack/scripts/colors-dark.sh new file mode 100755 index 0000000..2798200 --- /dev/null +++ b/config/polybar/hack/scripts/colors-dark.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/hack/colors.ini" +RFILE="$HOME/.config/polybar/hack/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #141C21/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #141C21FF; + ac: ${AC}FF; + se: ${AC}26; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/hack/scripts/colors-light.sh b/config/polybar/hack/scripts/colors-light.sh new file mode 100755 index 0000000..335f5c4 --- /dev/null +++ b/config/polybar/hack/scripts/colors-light.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/hack/colors.ini" +RFILE="$HOME/.config/polybar/hack/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #1F1F1F/g' $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + ac: ${AC}FF; + se: ${AC}26; + fg: #1F1F1FFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/hack/scripts/launcher.sh b/config/polybar/hack/scripts/launcher.sh new file mode 100755 index 0000000..7976227 --- /dev/null +++ b/config/polybar/hack/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/hack/scripts/rofi/launcher.rasi diff --git a/config/polybar/hack/scripts/powermenu.sh b/config/polybar/hack/scripts/powermenu.sh new file mode 100755 index 0000000..8a19f60 --- /dev/null +++ b/config/polybar/hack/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/hack/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/hack/scripts/pywal.sh b/config/polybar/hack/scripts/pywal.sh new file mode 100755 index 0000000..09cd463 --- /dev/null +++ b/config/polybar/hack/scripts/pywal.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/hack/colors.ini" +RFILE="$HOME/.config/polybar/hack/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + ac: ${AC}FF; + se: ${AC}26; + fg: ${FG}FF; + } + EOF + + polybar-msg cmd restart +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + AC=`printf "%s\n" "$color1"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/hack/scripts/random.sh b/config/polybar/hack/scripts/random.sh new file mode 100755 index 0000000..8b974a8 --- /dev/null +++ b/config/polybar/hack/scripts/random.sh @@ -0,0 +1,89 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/hack/colors.ini" +RFILE="$HOME/.config/polybar/hack/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #1F1F1FFF; + ac: ${AC}FF; + se: ${AC}26; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + FG="#0a0a0a" + else + FG="#F5F5F5" + fi +} + +# Main +BG='#1f1f1f' # change to light bg +FG='#FFFFFF' # change to dark fg +AC=`get_random_color` + +#BG=`get_random_color` +#HEX=${BG:1} +#hex_to_rgb $HEX +#get_fg_color + +change_color diff --git a/config/polybar/hack/scripts/rofi/colors.rasi b/config/polybar/hack/scripts/rofi/colors.rasi new file mode 100644 index 0000000..3a3e30d --- /dev/null +++ b/config/polybar/hack/scripts/rofi/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #263238FF; + ac: #00BCD4FF; + se: #00BCD426; + fg: #DFDFDFFF; +} diff --git a/config/polybar/hack/scripts/rofi/confirm.rasi b/config/polybar/hack/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..baaeb6a --- /dev/null +++ b/config/polybar/hack/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 225px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/hack/scripts/rofi/launcher.rasi b/config/polybar/hack/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..9b3239c --- /dev/null +++ b/config/polybar/hack/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 2px; + border-color: @ac; + border-radius: 0px; + width: 450px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px; + background-color: @al; + text-color: @ac; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/hack/scripts/rofi/message.rasi b/config/polybar/hack/scripts/rofi/message.rasi new file mode 100644 index 0000000..084b7e2 --- /dev/null +++ b/config/polybar/hack/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/hack/scripts/rofi/networkmenu.rasi b/config/polybar/hack/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..17d6dec --- /dev/null +++ b/config/polybar/hack/scripts/rofi/networkmenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 2px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 10px 10px 0px; + background-color: @al; + text-color: @ac; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: "直"; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -10px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/hack/scripts/rofi/powermenu.rasi b/config/polybar/hack/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..04f6149 --- /dev/null +++ b/config/polybar/hack/scripts/rofi/powermenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 2px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 10px 10px 0px; + background-color: @al; + text-color: @ac; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/hack/scripts/rofi/styles.rasi b/config/polybar/hack/scripts/rofi/styles.rasi new file mode 100644 index 0000000..d9926b6 --- /dev/null +++ b/config/polybar/hack/scripts/rofi/styles.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 2px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 10px 10px 0px; + background-color: @al; + text-color: @ac; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/hack/scripts/updates.sh b/config/polybar/hack/scripts/updates.sh new file mode 100755 index 0000000..43db37d --- /dev/null +++ b/config/polybar/hack/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/hack/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/hack/user_modules.ini b/config/polybar/hack/user_modules.ini new file mode 100644 index 0000000..4ae29da --- /dev/null +++ b/config/polybar/hack/user_modules.ini @@ -0,0 +1,282 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/checknet] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/hack/scripts/check-network + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +;format-prefix = + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = networkmanager_dmenu & +click-right = networkmanager_dmenu & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/hack/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-foreground = ${color.primary} + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/hack/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/hack/scripts/launcher-full +click-right = ~/.config/polybar/hack/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/hack/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/hack/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-foreground = ${color.primary} + +click-left = ~/.config/polybar/hack/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-foreground = ${color.primary} +click-left = ~/.config/polybar/hack/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/links] +type = custom/text +content-foreground = ${color.foreground-alt} +content-padding = 2 + +[module/google] +inherit = module/links +content = +click-left = exo-open https://www.google.com/ & + +[module/github] +inherit = module/links +content = +click-left = exo-open https://www.github.com/ & + +[module/reddit] +inherit = module/links +content = +click-left = exo-open https://www.reddit.com/ & + +[module/gmail] +inherit = module/links +content = +click-left = exo-open https://mail.google.com/ & + +[module/twitter] +inherit = module/links +content = +click-left = exo-open https://www.twitter.com/ & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-foreground = ${color.primary} + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/hack/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-foreground = ${color.primary} + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/launch.sh b/config/polybar/launch.sh new file mode 100755 index 0000000..c2da5b7 --- /dev/null +++ b/config/polybar/launch.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +dir="$HOME/.config/polybar" +themes=(`ls --hide="launch.sh" $dir`) + +launch_bar() { + # Terminate already running bar instances + killall -q polybar + + # Wait until the processes have been shut down + while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + + # Launch the bar + if [[ "$style" == "hack" || "$style" == "cuts" ]]; then + polybar -q top -c "$dir/$style/config.ini" & + polybar -q bottom -c "$dir/$style/config.ini" & + elif [[ "$style" == "pwidgets" ]]; then + bash "$dir"/pwidgets/launch.sh --main + else + polybar -q main -c "$dir/$style/config.ini" & + fi +} + +if [[ "$1" == "--material" ]]; then + style="material" + launch_bar + +elif [[ "$1" == "--shades" ]]; then + style="shades" + launch_bar + +elif [[ "$1" == "--hack" ]]; then + style="hack" + launch_bar + +elif [[ "$1" == "--docky" ]]; then + style="docky" + launch_bar + +elif [[ "$1" == "--cuts" ]]; then + style="cuts" + launch_bar + +elif [[ "$1" == "--shapes" ]]; then + style="shapes" + launch_bar + +elif [[ "$1" == "--grayblocks" ]]; then + style="grayblocks" + launch_bar + +elif [[ "$1" == "--blocks" ]]; then + style="blocks" + launch_bar + +elif [[ "$1" == "--colorblocks" ]]; then + style="colorblocks" + launch_bar + +elif [[ "$1" == "--forest" ]]; then + style="forest" + launch_bar + +elif [[ "$1" == "--pwidgets" ]]; then + style="pwidgets" + launch_bar + +elif [[ "$1" == "--panels" ]]; then + style="panels" + launch_bar + +else + cat <<- EOF + Usage : launch.sh --theme + + Available Themes : + --blocks --colorblocks --cuts --docky + --forest --grayblocks --hack --material + --panels --pwidgets --shades --shapes + EOF +fi diff --git a/config/polybar/material/bars.ini b/config/polybar/material/bars.ini new file mode 100644 index 0000000..281672b --- /dev/null +++ b/config/polybar/material/bars.ini @@ -0,0 +1,494 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/material/colors.ini b/config/polybar/material/colors.ini new file mode 100644 index 0000000..594adaa --- /dev/null +++ b/config/polybar/material/colors.ini @@ -0,0 +1,23 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #1F1F1F +foreground = #FFFFFF +foreground-alt = #8F8F8F +module-fg = #1F1F1F +primary = #ffb300 +secondary = #E53935 +alternate = #7cb342 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/material/config.ini b/config/polybar/material/config.ini new file mode 100644 index 0000000..1219954 --- /dev/null +++ b/config/polybar/material/config.ini @@ -0,0 +1,293 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/material/bars.ini +include-file = ~/.config/polybar/material/colors.ini +include-file = ~/.config/polybar/material/modules.ini +include-file = ~/.config/polybar/material/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 90% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 5% +offset-y = 2% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 3 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Fantasque Sans Mono:pixelsize=12;3" +font-1 = "Material\-Design\-Iconic\-Font:size=13;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher workspaces term files browser settings +modules-center = mpd +modules-right = updates alsa battery network date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/material/launch.sh b/config/polybar/material/launch.sh new file mode 100755 index 0000000..f6909bb --- /dev/null +++ b/config/polybar/material/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/material" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/material/modules.ini b/config/polybar/material/modules.ini new file mode 100644 index 0000000..8824d37 --- /dev/null +++ b/config/polybar/material/modules.ini @@ -0,0 +1,1068 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> <label-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = +icon-pause = +icon-stop = +icon-next = +icon-prev = +icon-seekf = +icon-seekb = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.primary} +toggle-off-foreground = ${color.secondary} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <ramp-signal> <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground-alt} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" +label-warn-foreground = ${color.secondary} + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = +ramp-5 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.primary} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +;;label-empty = Arch Linux + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-padding = 0 + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = %icon% +label-active-foreground = ${color.primary} +label-active-underline = ${color.primary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = %icon% +label-occupied-foreground = ${color.alternate} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = %icon% +label-urgent-foreground = ${color.secondary} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = %icon% + +label-active-padding = 2 +label-urgent-padding = 2 +label-occupied-padding = 2 +label-empty-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/material/preview.ini b/config/polybar/material/preview.ini new file mode 100644 index 0000000..945a5cd --- /dev/null +++ b/config/polybar/material/preview.ini @@ -0,0 +1,315 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/material/bars.ini +include-file = ~/.config/polybar/material/colors.ini +include-file = ~/.config/polybar/material/modules.ini +include-file = ~/.config/polybar/material/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 80% +height = 40 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 10% +offset-y = 2% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.primary} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 3 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Fantasque Sans Mono:pixelsize=12;3" +font-1 = "Material\-Design\-Iconic\-Font:size=13;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +bottom = true +offset-y = 140 +modules-left = launcher workspaces cpu memory +modules-center = mpd +modules-right = alsa battery network date sysmenu +enable-ipc = true + +[bar/mid] +inherit = bar/main +bottom = true +offset-y = 80 +modules-center = volume brightness battery_bar mpd_bar cpu_bar filesystem_bar memory_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +bottom = true +modules-left = menu term files browser settings filesystem temperature +modules-center = title +modules-right = color-switch keyboard pulseaudio backlight updates powermenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/material/preview.sh b/config/polybar/material/preview.sh new file mode 100755 index 0000000..43e45e9 --- /dev/null +++ b/config/polybar/material/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/material" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/material/scripts/checkupdates b/config/polybar/material/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/material/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/material/scripts/color-switch.sh b/config/polybar/material/scripts/color-switch.sh new file mode 100755 index 0000000..6c7311e --- /dev/null +++ b/config/polybar/material/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/material/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ +♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ +♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ +♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ +♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ +♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/material/scripts/colors-dark.sh b/config/polybar/material/scripts/colors-dark.sh new file mode 100755 index 0000000..c33c038 --- /dev/null +++ b/config/polybar/material/scripts/colors-dark.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #1F1F1F/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #8F8F8F/g' $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE + sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #1F1F1FFF; + bga: ${AC}33; + bar: ${MF}FF; + fg: #FFFFFFFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + MF="#1F1F1F" + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + MF="#FFFFFF" + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + MF="#FFFFFF" + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + MF="#FFFFFF" + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + MF="#1F1F1F" + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + MF="#FFFFFF" + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + MF="#FFFFFF" + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + MF="#FFFFFF" + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + MF="#FFFFFF" + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + MF="#FFFFFF" + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + MF="#1F1F1F" + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + MF="#1F1F1F" + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + MF="#1F1F1F" + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + MF="#1F1F1F" + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + MF="#FFFFFF" + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + MF="#FFFFFF" + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + MF="#FFFFFF" + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + MF="#FFFFFF" + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + MF="#1F1F1F" + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/material/scripts/colors-light.sh b/config/polybar/material/scripts/colors-light.sh new file mode 100755 index 0000000..0854635 --- /dev/null +++ b/config/polybar/material/scripts/colors-light.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #2E2E2E/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #656565/g' $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e 's/secondary = #.*/secondary = #E53935/g' $PFILE + sed -i -e 's/alternate = #.*/alternate = #7cb342/g' $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bga: ${AC}33; + bar: ${MF}FF; + fg: #2E2E2EFF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + MF="#2E2E2E" + AC="#ffb300" + change_color +elif [[ $1 = "--blue" ]]; then + MF="#2E2E2E" + AC="#1e88e5" + change_color +elif [[ $1 = "--blue-gray" ]]; then + MF="#FFFFFF" + AC="#546e7a" + change_color +elif [[ $1 = "--brown" ]]; then + MF="#FFFFFF" + AC="#6d4c41" + change_color +elif [[ $1 = "--cyan" ]]; then + MF="#2E2E2E" + AC="#00acc1" + change_color +elif [[ $1 = "--deep-orange" ]]; then + MF="#FFFFFF" + AC="#f4511e" + change_color +elif [[ $1 = "--deep-purple" ]]; then + MF="#FFFFFF" + AC="#5e35b1" + change_color +elif [[ $1 = "--green" ]]; then + MF="#FFFFFF" + AC="#43a047" + change_color +elif [[ $1 = "--gray" ]]; then + MF="#FFFFFF" + AC="#757575" + change_color +elif [[ $1 = "--indigo" ]]; then + MF="#FFFFFF" + AC="#3949ab" + change_color +elif [[ $1 = "--light-blue" ]]; then + MF="#2E2E2E" + AC="#039be5" + change_color +elif [[ $1 = "--light-green" ]]; then + MF="#2E2E2E" + AC="#7cb342" + change_color +elif [[ $1 = "--lime" ]]; then + MF="#2E2E2E" + AC="#c0ca33" + change_color +elif [[ $1 = "--orange" ]]; then + MF="#2E2E2E" + AC="#fb8c00" + change_color +elif [[ $1 = "--pink" ]]; then + MF="#FFFFFF" + AC="#d81b60" + change_color +elif [[ $1 = "--purple" ]]; then + MF="#FFFFFF" + AC="#8e24aa" + change_color +elif [[ $1 = "--red" ]]; then + MF="#FFFFFF" + AC="#e53935" + change_color +elif [[ $1 = "--teal" ]]; then + MF="#FFFFFF" + AC="#00897b" + change_color +elif [[ $1 = "--yellow" ]]; then + MF="#2E2E2E" + AC="#fdd835" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/material/scripts/launcher.sh b/config/polybar/material/scripts/launcher.sh new file mode 100755 index 0000000..5e544b9 --- /dev/null +++ b/config/polybar/material/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/material/scripts/rofi/launcher.rasi diff --git a/config/polybar/material/scripts/powermenu.sh b/config/polybar/material/scripts/powermenu.sh new file mode 100755 index 0000000..6e13e39 --- /dev/null +++ b/config/polybar/material/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/material/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/material/scripts/pywal.sh b/config/polybar/material/scripts/pywal.sh new file mode 100755 index 0000000..4602458 --- /dev/null +++ b/config/polybar/material/scripts/pywal.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE + sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${AC}33; + bar: ${MF}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + MF="#202020" + else + MF="#F5F5F5" + fi +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + FGA=`printf "%s\n" "$color8"` + AC=`printf "%s\n" "$color1"` + SC=`printf "%s\n" "$color2"` + AL=`printf "%s\n" "$color3"` + + HEX=${AC:1} + + hex_to_rgb $HEX + get_fg_color + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/material/scripts/random.sh b/config/polybar/material/scripts/random.sh new file mode 100755 index 0000000..5e2485b --- /dev/null +++ b/config/polybar/material/scripts/random.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/material/colors.ini" +RFILE="$HOME/.config/polybar/material/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/module-fg = #.*/module-fg = $MF/g" $PFILE + sed -i -e "s/primary = #.*/primary = $AC/g" $PFILE + sed -i -e "s/secondary = #.*/secondary = $SC/g" $PFILE + sed -i -e "s/alternate = #.*/alternate = $AL/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bga: ${AC}33; + bar: ${MF}FF; + fg: ${FG}FF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +hex_to_rgb() { + # Convert a hex value WITHOUT the hashtag (#) + R=$(printf "%d" 0x${1:0:2}) + G=$(printf "%d" 0x${1:2:2}) + B=$(printf "%d" 0x${1:4:2}) +} + +get_fg_color(){ + INTENSITY=$(calc "$R*0.299 + $G*0.587 + $B*0.114") + + if [ $(echo "$INTENSITY>186" | bc) -eq 1 ]; then + MF="#0a0a0a" + else + MF="#F5F5F5" + fi +} + +# Main +BG='#1F1F1F' # change to light bg +FG='#FFFFFF' # change to dark fg +FGA=`get_random_color` +AC=`get_random_color` +SC=`get_random_color` +AL=`get_random_color` + +HEX=${AC:1} + +hex_to_rgb $HEX +get_fg_color +change_color diff --git a/config/polybar/material/scripts/rofi/colors.rasi b/config/polybar/material/scripts/rofi/colors.rasi new file mode 100644 index 0000000..c941c28 --- /dev/null +++ b/config/polybar/material/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #1F1F1FFF; + bga: #ffb30033; + bar: #1F1F1FFF; + fg: #FFFFFFFF; + ac: #ffb300FF; +} diff --git a/config/polybar/material/scripts/rofi/confirm.rasi b/config/polybar/material/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..d5683bb --- /dev/null +++ b/config/polybar/material/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 225px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/material/scripts/rofi/launcher.rasi b/config/polybar/material/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..7a598e0 --- /dev/null +++ b/config/polybar/material/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 550px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 5px 0px -10px; + background-color: @al; + text-color: @bar; + font: "Material\-Design\-Iconic\-Font 12"; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 15px 0px 12px 25px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 2; + lines: 7; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/message.rasi b/config/polybar/material/scripts/rofi/message.rasi new file mode 100644 index 0000000..37ca719 --- /dev/null +++ b/config/polybar/material/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 320px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/material/scripts/rofi/networkmenu.rasi b/config/polybar/material/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..b946736 --- /dev/null +++ b/config/polybar/material/scripts/rofi/networkmenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: -2px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 15px 0px 8px 25px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -3px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/powermenu.rasi b/config/polybar/material/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..9e61702 --- /dev/null +++ b/config/polybar/material/scripts/rofi/powermenu.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: -2px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 1px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 15px 0px 8px 25px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/rofi/styles.rasi b/config/polybar/material/scripts/rofi/styles.rasi new file mode 100644 index 0000000..b37c6c2 --- /dev/null +++ b/config/polybar/material/scripts/rofi/styles.rasi @@ -0,0 +1,126 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 5px 5px 0px; + background-color: @al; + text-color: @bar; +} + +textbox-prompt-colon { + padding: 0.5px 5px 5px -10px; + font: "Material\-Design\-Iconic\-Font 12"; + background-color: @al; + text-color: @bar; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @bar; + placeholder-color: @bar; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 2px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @ac; + text-color: @bar; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 15px 0px 8px 25px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 0px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 0px 0px -5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/material/scripts/updates.sh b/config/polybar/material/scripts/updates.sh new file mode 100755 index 0000000..b967afd --- /dev/null +++ b/config/polybar/material/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/material/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/material/user_modules.ini b/config/polybar/material/user_modules.ini new file mode 100644 index 0000000..05847d3 --- /dev/null +++ b/config/polybar/material/user_modules.ini @@ -0,0 +1,233 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/material/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.primary} +content-foreground = ${color.module-fg} +content-padding = 2 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/material/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/material/scripts/launcher-full +click-right = ~/.config/polybar/material/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/material/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/material/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = + +content-background = ${color.primary} +content-foreground = ${color.module-fg} +content-padding = 2 + +click-left = ~/.config/polybar/material/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.primary} + +click-left = ~/.config/polybar/material/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/apps] +type = custom/text +content-foreground = ${color.foreground-alt} +content-padding = 1 + +[module/term] +inherit = module/apps +content = +click-left = termite & +click-middle = urxvt & +click-right = xfce4-terminal & + +[module/files] +inherit = module/apps +content = +click-left = thunar & +click-right = pcmanfm & + +[module/browser] +inherit = module/apps +content = +click-left = firefox & +click-right = chromium & + +[module/settings] +inherit = module/apps +content = +click-left = xfce4-settings-manager & +click-right = lxappearance & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.primary} +format-foreground = ${color.module-fg} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/material/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.primary} +format-foreground = ${color.module-fg} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/config.ini b/config/polybar/panels/config.ini new file mode 100644 index 0000000..02a4972 --- /dev/null +++ b/config/polybar/panels/config.ini @@ -0,0 +1,657 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9;3" +font-1 = "Iosevka Nerd Font:size=12;3" +font-2 = "Iosevka Nerd Font:size=16;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu sep2 term web files settings +modules-center = +modules-right = style sep alsa battery network date sep sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #232832 +bg-alt = #1C2028 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> +format-volume-background = ${color.bg-alt} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-background = ${color.bg-alt} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> +format-charging-background = ${color.bg-alt} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> +format-discharging-background = ${color.bg-alt} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-background = ${color.bg-alt} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M %p +;;time-alt = %B %d, %Y + +format = <label> +format-background = ${color.bg-alt} +format-padding = 2 + +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-background = ${color.bg-alt} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-background = ${color.bg-alt} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +;label-connected = 說 +label-connected = "%{A1:networkmanager_dmenu &:}說%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +;label-disconnected = ﲁ +label-disconnected = "%{A1:networkmanager_dmenu &:}ﲁ%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 說 +ramp-signal-1 = 說 +ramp-signal-2 = 說 +ramp-signal-3 = 說 +ramp-signal-4 = 說 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = +content-background = ${color.light-blue} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --budgie +click-right = ~/.config/polybar/panels/scripts/launcher.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +content-background = ${color.bg-alt} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --budgie +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ +content-background = ${color.bg-alt} +content-foreground = ${color.fg} +content-padding = 2 + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --budgie +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text + +content = | +content-foreground = ${color.grey} +content-background = ${color.bg-alt} +content-padding = 1 + +[module/sep2] +type = custom/text + +content = | +content-foreground = ${color.bg} +content-background = ${color.bg} +content-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.green} +content-background = ${color.bg} +content-padding = 3 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.orange} +content-background = ${color.bg} +content-padding = 3 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.blue} +content-background = ${color.bg} +content-padding = 3 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}煉%{T-}" +content-foreground = ${color.red} +content-background = ${color.bg} +content-padding = 3 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + diff --git a/config/polybar/panels/launch.sh b/config/polybar/panels/launch.sh new file mode 100755 index 0000000..2cb3adb --- /dev/null +++ b/config/polybar/panels/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/panels" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/panels/menu/budgie/colors.rasi b/config/polybar/panels/menu/budgie/colors.rasi new file mode 100644 index 0000000..d11ae7d --- /dev/null +++ b/config/polybar/panels/menu/budgie/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #232832FF; + bga: #1C2028FF; + fg: #EAEAEAFF; + ac: #039BE5FF; +} diff --git a/config/polybar/panels/menu/budgie/confirm.rasi b/config/polybar/panels/menu/budgie/confirm.rasi new file mode 100644 index 0000000..fc1dee0 --- /dev/null +++ b/config/polybar/panels/menu/budgie/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} + diff --git a/config/polybar/panels/menu/budgie/launcher.rasi b/config/polybar/panels/menu/budgie/launcher.rasi new file mode 100644 index 0000000..39fe6a2 --- /dev/null +++ b/config/polybar/panels/menu/budgie/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: northwest; + x-offset: 10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @ac; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 10; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/budgie/message.rasi b/config/polybar/panels/menu/budgie/message.rasi new file mode 100644 index 0000000..658433d --- /dev/null +++ b/config/polybar/panels/menu/budgie/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 0px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} + diff --git a/config/polybar/panels/menu/budgie/networkmenu.rasi b/config/polybar/panels/menu/budgie/networkmenu.rasi new file mode 100644 index 0000000..ebbeb55 --- /dev/null +++ b/config/polybar/panels/menu/budgie/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -11px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/budgie/powermenu.rasi b/config/polybar/panels/menu/budgie/powermenu.rasi new file mode 100644 index 0000000..5543ca9 --- /dev/null +++ b/config/polybar/panels/menu/budgie/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/budgie/styles.rasi b/config/polybar/panels/menu/budgie/styles.rasi new file mode 100644 index 0000000..82ac8be --- /dev/null +++ b/config/polybar/panels/menu/budgie/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/deepin/colors.rasi b/config/polybar/panels/menu/deepin/colors.rasi new file mode 100644 index 0000000..f4404ac --- /dev/null +++ b/config/polybar/panels/menu/deepin/colors.rasi @@ -0,0 +1,8 @@ +/* colors */ + +* { + al: #00000000; + bg: #00000026; + fg: #EAEAEAFF; + bd: #FFFFFF1A; +} diff --git a/config/polybar/panels/menu/deepin/confirm.rasi b/config/polybar/panels/menu/deepin/confirm.rasi new file mode 100644 index 0000000..a037ad7 --- /dev/null +++ b/config/polybar/panels/menu/deepin/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: #000000; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 1px; + border-radius: 15px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/deepin/launcher.rasi b/config/polybar/panels/menu/deepin/launcher.rasi new file mode 100644 index 0000000..c2888b0 --- /dev/null +++ b/config/polybar/panels/menu/deepin/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px 1px 0px 0px; + border-color: @bd; + border-radius: 0px 15px 0px 0px; + width: 500px; + location: southwest; + x-offset: 00; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @bd; + margin: 0px; + padding: 12px 12px 12px 20px; +} + +listview { + background-color: @al; + padding: 10px; + columns: 2; + lines: 10; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 6px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/deepin/message.rasi b/config/polybar/panels/menu/deepin/message.rasi new file mode 100644 index 0000000..839bfca --- /dev/null +++ b/config/polybar/panels/menu/deepin/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: #000000; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 1px; + border-radius: 15px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/deepin/networkmenu.rasi b/config/polybar/panels/menu/deepin/networkmenu.rasi new file mode 100644 index 0000000..6d20609 --- /dev/null +++ b/config/polybar/panels/menu/deepin/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px 0px 0px 1px; + border-color: @bd; + border-radius: 15px 0px 0px 0px; + width: 300px; + location: southeast; + x-offset: 00; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @bd; + margin: 0px; + padding: 12px 12px 12px 20px; +} + +listview { + background-color: @al; + padding: 10px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 6px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/deepin/powermenu.rasi b/config/polybar/panels/menu/deepin/powermenu.rasi new file mode 100644 index 0000000..db65474 --- /dev/null +++ b/config/polybar/panels/menu/deepin/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px 0px 0px 1px; + border-color: @bd; + border-radius: 15px 0px 0px 0px; + width: 300px; + location: southeast; + x-offset: 00; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @bd; + margin: 0px; + padding: 12px 12px 12px 20px; +} + +listview { + background-color: @al; + padding: 10px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 6px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/deepin/styles.rasi b/config/polybar/panels/menu/deepin/styles.rasi new file mode 100644 index 0000000..2ea46a5 --- /dev/null +++ b/config/polybar/panels/menu/deepin/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px 0px 0px 1px; + border-color: @bd; + border-radius: 15px 0px 0px 0px; + width: 300px; + location: southeast; + x-offset: 00; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @bd; + margin: 0px; + padding: 12px 12px 12px 20px; +} + +listview { + background-color: @al; + padding: 10px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 6px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/elementary/colors.rasi b/config/polybar/panels/menu/elementary/colors.rasi new file mode 100644 index 0000000..c4d19c7 --- /dev/null +++ b/config/polybar/panels/menu/elementary/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #F5F5F5FF; + bga: #8080804C; + fg: #000000A6; + ac: #80808066; +} diff --git a/config/polybar/panels/menu/elementary/confirm.rasi b/config/polybar/panels/menu/elementary/confirm.rasi new file mode 100644 index 0000000..cdcb9ea --- /dev/null +++ b/config/polybar/panels/menu/elementary/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/elementary/launcher.rasi b/config/polybar/panels/menu/elementary/launcher.rasi new file mode 100644 index 0000000..f6899e5 --- /dev/null +++ b/config/polybar/panels/menu/elementary/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 600px; + location: northwest; + x-offset: 10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 5; + lines: 3; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 20px 15px 20px 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary/message.rasi b/config/polybar/panels/menu/elementary/message.rasi new file mode 100644 index 0000000..e571507 --- /dev/null +++ b/config/polybar/panels/menu/elementary/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/elementary/networkmenu.rasi b/config/polybar/panels/menu/elementary/networkmenu.rasi new file mode 100644 index 0000000..76b20c3 --- /dev/null +++ b/config/polybar/panels/menu/elementary/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary/powermenu.rasi b/config/polybar/panels/menu/elementary/powermenu.rasi new file mode 100644 index 0000000..048a09e --- /dev/null +++ b/config/polybar/panels/menu/elementary/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary/styles.rasi b/config/polybar/panels/menu/elementary/styles.rasi new file mode 100644 index 0000000..ebd4b37 --- /dev/null +++ b/config/polybar/panels/menu/elementary/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary_dark/colors.rasi b/config/polybar/panels/menu/elementary_dark/colors.rasi new file mode 100644 index 0000000..e53a570 --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #3E4148FF; + bga: #363A3FFF; + fg: #F5F5F5FF; + ac: #00000066; +} diff --git a/config/polybar/panels/menu/elementary_dark/confirm.rasi b/config/polybar/panels/menu/elementary_dark/confirm.rasi new file mode 100644 index 0000000..cdcb9ea --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/elementary_dark/launcher.rasi b/config/polybar/panels/menu/elementary_dark/launcher.rasi new file mode 100644 index 0000000..f6899e5 --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 600px; + location: northwest; + x-offset: 10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 5; + lines: 3; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 20px 15px 20px 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary_dark/message.rasi b/config/polybar/panels/menu/elementary_dark/message.rasi new file mode 100644 index 0000000..e571507 --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/elementary_dark/networkmenu.rasi b/config/polybar/panels/menu/elementary_dark/networkmenu.rasi new file mode 100644 index 0000000..76b20c3 --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary_dark/powermenu.rasi b/config/polybar/panels/menu/elementary_dark/powermenu.rasi new file mode 100644 index 0000000..048a09e --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/elementary_dark/styles.rasi b/config/polybar/panels/menu/elementary_dark/styles.rasi new file mode 100644 index 0000000..ebd4b37 --- /dev/null +++ b/config/polybar/panels/menu/elementary_dark/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 4px 4px 4px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/gnome/colors.rasi b/config/polybar/panels/menu/gnome/colors.rasi new file mode 100644 index 0000000..27c66a2 --- /dev/null +++ b/config/polybar/panels/menu/gnome/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #393F3FFF; + bga: #282828FF; + fg: #F5F5F5FF; + ac: #262726FF; + se: #245A9AFF; +} diff --git a/config/polybar/panels/menu/gnome/confirm.rasi b/config/polybar/panels/menu/gnome/confirm.rasi new file mode 100644 index 0000000..76daf50 --- /dev/null +++ b/config/polybar/panels/menu/gnome/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 2px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/gnome/launcher.rasi b/config/polybar/panels/menu/gnome/launcher.rasi new file mode 100644 index 0000000..b909517 --- /dev/null +++ b/config/polybar/panels/menu/gnome/launcher.rasi @@ -0,0 +1,125 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +* { + al: #00000000; + bg: #0000004C; + bga: #282828FF; + fg: #F5F5F5FF; + ac: #262726FF; +} + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + fullscreen: true; + width: 600px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Type to search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 2px; + border-radius: 8px; + border-color: @ac; + margin: 5% 40% 5% 40%; + padding: 6px; +} + +listview { + background-color: @al; + padding: 0% 10% 0% 10%; + columns: 8; + lines: 4; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 30px 15px 30px 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 71px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/gnome/message.rasi b/config/polybar/panels/menu/gnome/message.rasi new file mode 100644 index 0000000..f876635 --- /dev/null +++ b/config/polybar/panels/menu/gnome/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 2px; + border-radius: 4px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/gnome/networkmenu.rasi b/config/polybar/panels/menu/gnome/networkmenu.rasi new file mode 100644 index 0000000..38553e7 --- /dev/null +++ b/config/polybar/panels/menu/gnome/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: #000000; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 8px; + padding: 8px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 7px 7px 7px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/gnome/powermenu.rasi b/config/polybar/panels/menu/gnome/powermenu.rasi new file mode 100644 index 0000000..89d04b6 --- /dev/null +++ b/config/polybar/panels/menu/gnome/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: #000000; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 8px; + padding: 8px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 7px 7px 7px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/gnome/styles.rasi b/config/polybar/panels/menu/gnome/styles.rasi new file mode 100644 index 0000000..9a97988 --- /dev/null +++ b/config/polybar/panels/menu/gnome/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 8px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 4px; + border-color: #000000; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 8px; + padding: 8px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 7px 7px 7px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 4px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde/colors.rasi b/config/polybar/panels/menu/kde/colors.rasi new file mode 100644 index 0000000..91ebdf7 --- /dev/null +++ b/config/polybar/panels/menu/kde/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #F5F5F5FF; + bga: #93CEE999; + fg: #000000A6; + ac: #3DAEE9FF; +} diff --git a/config/polybar/panels/menu/kde/confirm.rasi b/config/polybar/panels/menu/kde/confirm.rasi new file mode 100644 index 0000000..0a8bc84 --- /dev/null +++ b/config/polybar/panels/menu/kde/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 2px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} + diff --git a/config/polybar/panels/menu/kde/launcher.rasi b/config/polybar/panels/menu/kde/launcher.rasi new file mode 100644 index 0000000..ec94f98 --- /dev/null +++ b/config/polybar/panels/menu/kde/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 700px; + location: southwest; + x-offset: 10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 6; + lines: 3; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 65px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde/message.rasi b/config/polybar/panels/menu/kde/message.rasi new file mode 100644 index 0000000..d7de455 --- /dev/null +++ b/config/polybar/panels/menu/kde/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 2px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/kde/networkmenu.rasi b/config/polybar/panels/menu/kde/networkmenu.rasi new file mode 100644 index 0000000..be5ba17 --- /dev/null +++ b/config/polybar/panels/menu/kde/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -12px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde/powermenu.rasi b/config/polybar/panels/menu/kde/powermenu.rasi new file mode 100644 index 0000000..0e6d31c --- /dev/null +++ b/config/polybar/panels/menu/kde/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde/styles.rasi b/config/polybar/panels/menu/kde/styles.rasi new file mode 100644 index 0000000..8823cdd --- /dev/null +++ b/config/polybar/panels/menu/kde/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 8px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde_dark/colors.rasi b/config/polybar/panels/menu/kde_dark/colors.rasi new file mode 100644 index 0000000..4334141 --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #31363bff; + bga: #3daee94C; + fg: #f5f5f5e6; + ac: #1d99f3ff; +} diff --git a/config/polybar/panels/menu/kde_dark/confirm.rasi b/config/polybar/panels/menu/kde_dark/confirm.rasi new file mode 100644 index 0000000..0a8bc84 --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 2px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @ac; +} + diff --git a/config/polybar/panels/menu/kde_dark/launcher.rasi b/config/polybar/panels/menu/kde_dark/launcher.rasi new file mode 100644 index 0000000..847ae0c --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 700px; + location: north; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 6; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde_dark/message.rasi b/config/polybar/panels/menu/kde_dark/message.rasi new file mode 100644 index 0000000..d7de455 --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 2px; + border-color: @ac; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/kde_dark/networkmenu.rasi b/config/polybar/panels/menu/kde_dark/networkmenu.rasi new file mode 100644 index 0000000..be5ba17 --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -12px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde_dark/powermenu.rasi b/config/polybar/panels/menu/kde_dark/powermenu.rasi new file mode 100644 index 0000000..0e6d31c --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/kde_dark/styles.rasi b/config/polybar/panels/menu/kde_dark/styles.rasi new file mode 100644 index 0000000..8823cdd --- /dev/null +++ b/config/polybar/panels/menu/kde_dark/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -44; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 8px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 2px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 10px 10px 10px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 1px; + border-radius: 2px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/liri/colors.rasi b/config/polybar/panels/menu/liri/colors.rasi new file mode 100644 index 0000000..0b9516a --- /dev/null +++ b/config/polybar/panels/menu/liri/colors.rasi @@ -0,0 +1,11 @@ +/* colors */ + +* { + al: #00000000; + bg: #E5E5E5FF; + bga: #FFFFFFFF; + fg: #000000A6; + ac: #80808066; + el: #55555526; + se: #1A73E9FF; +} diff --git a/config/polybar/panels/menu/liri/confirm.rasi b/config/polybar/panels/menu/liri/confirm.rasi new file mode 100644 index 0000000..944b3f2 --- /dev/null +++ b/config/polybar/panels/menu/liri/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/liri/launcher.rasi b/config/polybar/panels/menu/liri/launcher.rasi new file mode 100644 index 0000000..291b992 --- /dev/null +++ b/config/polybar/panels/menu/liri/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 480px; + location: southwest; + x-offset: 8; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 2px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 4; + lines: 3; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 65px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @el; + text-color: @fg; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; +} diff --git a/config/polybar/panels/menu/liri/message.rasi b/config/polybar/panels/menu/liri/message.rasi new file mode 100644 index 0000000..0fc1bdc --- /dev/null +++ b/config/polybar/panels/menu/liri/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/liri/networkmenu.rasi b/config/polybar/panels/menu/liri/networkmenu.rasi new file mode 100644 index 0000000..d987a12 --- /dev/null +++ b/config/polybar/panels/menu/liri/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: southeast; + x-offset: -8; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @el; + text-color: @fg; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; +} diff --git a/config/polybar/panels/menu/liri/powermenu.rasi b/config/polybar/panels/menu/liri/powermenu.rasi new file mode 100644 index 0000000..c9c57a5 --- /dev/null +++ b/config/polybar/panels/menu/liri/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: southeast; + x-offset: -8; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search Applications"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @el; + text-color: @fg; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; +} diff --git a/config/polybar/panels/menu/liri/styles.rasi b/config/polybar/panels/menu/liri/styles.rasi new file mode 100644 index 0000000..770b2fb --- /dev/null +++ b/config/polybar/panels/menu/liri/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 4px; + width: 300px; + location: southeast; + x-offset: -8; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 8px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 5px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 8px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @el; + text-color: @fg; + border: 0px 0px 3px 0px; + border-radius: 4px; + border-color: @se; +} diff --git a/config/polybar/panels/menu/mint/colors.rasi b/config/polybar/panels/menu/mint/colors.rasi new file mode 100644 index 0000000..b60c1c2 --- /dev/null +++ b/config/polybar/panels/menu/mint/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #3D3D3DFF; + fg: #EAEAEAFF; + bd: #FFFFFF1A; + bo: #808080FF; +} diff --git a/config/polybar/panels/menu/mint/confirm.rasi b/config/polybar/panels/menu/mint/confirm.rasi new file mode 100644 index 0000000..db3beb6 --- /dev/null +++ b/config/polybar/panels/menu/mint/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 1px; + border-radius: 8px; + border-color: @bo; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/mint/launcher.rasi b/config/polybar/panels/menu/mint/launcher.rasi new file mode 100644 index 0000000..76f8ae5 --- /dev/null +++ b/config/polybar/panels/menu/mint/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 500px; + location: southwest; + x-offset: 10; + y-offset: -40; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 8px; + border-color: @bo; + margin: 0px 240px 0px 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 10; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 9px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 8px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/mint/message.rasi b/config/polybar/panels/menu/mint/message.rasi new file mode 100644 index 0000000..c2ccdb3 --- /dev/null +++ b/config/polybar/panels/menu/mint/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 1px; + border-radius: 8px; + border-color: @bo; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/mint/networkmenu.rasi b/config/polybar/panels/menu/mint/networkmenu.rasi new file mode 100644 index 0000000..5c87e28 --- /dev/null +++ b/config/polybar/panels/menu/mint/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 8px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/mint/powermenu.rasi b/config/polybar/panels/menu/mint/powermenu.rasi new file mode 100644 index 0000000..e690d40 --- /dev/null +++ b/config/polybar/panels/menu/mint/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 8px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/mint/styles.rasi b/config/polybar/panels/menu/mint/styles.rasi new file mode 100644 index 0000000..cd940e8 --- /dev/null +++ b/config/polybar/panels/menu/mint/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 8px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_gnome/colors.rasi b/config/polybar/panels/menu/ubuntu_gnome/colors.rasi new file mode 100644 index 0000000..f4404ac --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/colors.rasi @@ -0,0 +1,8 @@ +/* colors */ + +* { + al: #00000000; + bg: #00000026; + fg: #EAEAEAFF; + bd: #FFFFFF1A; +} diff --git a/config/polybar/panels/menu/ubuntu_gnome/confirm.rasi b/config/polybar/panels/menu/ubuntu_gnome/confirm.rasi new file mode 100644 index 0000000..db39c05 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: #FFFFFF; + text-color: #000000; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 10px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: #000000; +} + diff --git a/config/polybar/panels/menu/ubuntu_gnome/launcher.rasi b/config/polybar/panels/menu/ubuntu_gnome/launcher.rasi new file mode 100644 index 0000000..6040a6d --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 1px 1px 0px; + border-color: @bd; + border-radius: 0px 0px 10px 0px; + width: 500px; + location: northwest; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 10; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_gnome/message.rasi b/config/polybar/panels/menu/ubuntu_gnome/message.rasi new file mode 100644 index 0000000..31241a3 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: #FFFFFF; + text-color: #000000; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 10px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: #000000; +} + diff --git a/config/polybar/panels/menu/ubuntu_gnome/networkmenu.rasi b/config/polybar/panels/menu/ubuntu_gnome/networkmenu.rasi new file mode 100644 index 0000000..8309987 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 1px 1px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_gnome/powermenu.rasi b/config/polybar/panels/menu/ubuntu_gnome/powermenu.rasi new file mode 100644 index 0000000..0d477b8 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 1px 1px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_gnome/styles.rasi b/config/polybar/panels/menu/ubuntu_gnome/styles.rasi new file mode 100644 index 0000000..690be36 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_gnome/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 1px 1px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 1px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg; + text-color: @fg; + border: 1px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_unity/colors.rasi b/config/polybar/panels/menu/ubuntu_unity/colors.rasi new file mode 100644 index 0000000..66c32b8 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #43413DFF; + bga: #393939FF; + fg: #F5F5F5FF; + bd: #FFFFFF26; +} diff --git a/config/polybar/panels/menu/ubuntu_unity/confirm.rasi b/config/polybar/panels/menu/ubuntu_unity/confirm.rasi new file mode 100644 index 0000000..7e92b3f --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px; + border-radius: 10px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/ubuntu_unity/launcher.rasi b/config/polybar/panels/menu/ubuntu_unity/launcher.rasi new file mode 100644 index 0000000..8b48c99 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @bd; + border-radius: 0px 0px 10px 0px; + width: 800px; + location: northwest; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 2px; + border-radius: 10px; + border-color: @bd; + margin: 0px 395px 0px 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 6; + lines: 3; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: vertical; + border-radius: 0px; + padding: 20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 65px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0.5; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_unity/message.rasi b/config/polybar/panels/menu/ubuntu_unity/message.rasi new file mode 100644 index 0000000..29746d9 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px; + border-radius: 10px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/ubuntu_unity/networkmenu.rasi b/config/polybar/panels/menu/ubuntu_unity/networkmenu.rasi new file mode 100644 index 0000000..74ffe73 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 2px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_unity/powermenu.rasi b/config/polybar/panels/menu/ubuntu_unity/powermenu.rasi new file mode 100644 index 0000000..b17cd16 --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 2px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/ubuntu_unity/styles.rasi b/config/polybar/panels/menu/ubuntu_unity/styles.rasi new file mode 100644 index 0000000..64fe9bc --- /dev/null +++ b/config/polybar/panels/menu/ubuntu_unity/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px 0px 0px 0px; + border-color: @bd; + border-radius: 0px 0px 0px 10px; + width: 300px; + location: northeast; + x-offset: 0; + y-offset: 30; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 10px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 2px; + border-radius: 10px; + border-color: @bd; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px; + border-radius: 10px; + border-color: @bd; +} diff --git a/config/polybar/panels/menu/xubuntu/colors.rasi b/config/polybar/panels/menu/xubuntu/colors.rasi new file mode 100644 index 0000000..58f5b26 --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #494949FF; + bga: #444444FF; + fg: #EAEAEAFF; + ac: #536579FF; + bd: #000000FF; +} diff --git a/config/polybar/panels/menu/xubuntu/confirm.rasi b/config/polybar/panels/menu/xubuntu/confirm.rasi new file mode 100644 index 0000000..889d051 --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 1px; + border-radius: 0px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/xubuntu/launcher.rasi b/config/polybar/panels/menu/xubuntu/launcher.rasi new file mode 100644 index 0000000..4626a7a --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bd; + border-radius: 0px; + width: 500px; + location: northwest; + x-offset: 10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 12; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @fg; + border: 0px 0px 0px 2px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/xubuntu/message.rasi b/config/polybar/panels/menu/xubuntu/message.rasi new file mode 100644 index 0000000..931e631 --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 1px; + border-radius: 0px; + border-color: @bd; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/xubuntu/networkmenu.rasi b/config/polybar/panels/menu/xubuntu/networkmenu.rasi new file mode 100644 index 0000000..40bd9ba --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bd; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -22px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/xubuntu/powermenu.rasi b/config/polybar/panels/menu/xubuntu/powermenu.rasi new file mode 100644 index 0000000..8ce6857 --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bd; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/xubuntu/styles.rasi b/config/polybar/panels/menu/xubuntu/styles.rasi new file mode 100644 index 0000000..33812c4 --- /dev/null +++ b/config/polybar/panels/menu/xubuntu/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bd; + border-radius: 0px; + width: 300px; + location: northeast; + x-offset: -10; + y-offset: 40; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 5px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @ac; +} diff --git a/config/polybar/panels/menu/zorin/colors.rasi b/config/polybar/panels/menu/zorin/colors.rasi new file mode 100644 index 0000000..e81d227 --- /dev/null +++ b/config/polybar/panels/menu/zorin/colors.rasi @@ -0,0 +1,9 @@ +/* colors */ + +* { + al: #00000000; + bg: #000000FF; + fg: #AADEF6FF; + se: #1E3136FF; + bo: #8EDBF2FF; +} diff --git a/config/polybar/panels/menu/zorin/confirm.rasi b/config/polybar/panels/menu/zorin/confirm.rasi new file mode 100644 index 0000000..5580399 --- /dev/null +++ b/config/polybar/panels/menu/zorin/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 200px; + padding: 20px; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/zorin/launcher.rasi b/config/polybar/panels/menu/zorin/launcher.rasi new file mode 100644 index 0000000..aa6277a --- /dev/null +++ b/config/polybar/panels/menu/zorin/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 500px; + location: southwest; + x-offset: 10; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Type to search..."; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + margin: 0px 240px 0px 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 10; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 9px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 8px; + border-color: @bo; +} diff --git a/config/polybar/panels/menu/zorin/message.rasi b/config/polybar/panels/menu/zorin/message.rasi new file mode 100644 index 0000000..faaf79b --- /dev/null +++ b/config/polybar/panels/menu/zorin/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 310px; + padding: 20px; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @fg; +} + diff --git a/config/polybar/panels/menu/zorin/networkmenu.rasi b/config/polybar/panels/menu/zorin/networkmenu.rasi new file mode 100644 index 0000000..59f3d91 --- /dev/null +++ b/config/polybar/panels/menu/zorin/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -18px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 8px; + border-color: @bo; +} diff --git a/config/polybar/panels/menu/zorin/powermenu.rasi b/config/polybar/panels/menu/zorin/powermenu.rasi new file mode 100644 index 0000000..5e17218 --- /dev/null +++ b/config/polybar/panels/menu/zorin/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 8px; + border-color: @bo; +} diff --git a/config/polybar/panels/menu/zorin/styles.rasi b/config/polybar/panels/menu/zorin/styles.rasi new file mode 100644 index 0000000..2876c22 --- /dev/null +++ b/config/polybar/panels/menu/zorin/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px; + border-color: @bo; + border-radius: 8px; + width: 300px; + location: southeast; + x-offset: -10; + y-offset: -52; +} + +prompt { + enabled: true; + padding: 0px 0px 0px 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 1px 0px 0px 0px; + background-color: @al; + text-color: @fg; + expand: false; + str: ""; + font: "feather 10"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search"; + padding: 0px 0px 0px 5px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @bg; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 8px; + border-color: @bo; + margin: 0px; + padding: 10px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ listview, inputbar ]; + spacing: 10px; + padding: 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -21px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @se; + text-color: @fg; + border: 0px; + border-radius: 8px; + border-color: @bo; +} diff --git a/config/polybar/panels/panel/budgie.ini b/config/polybar/panels/panel/budgie.ini new file mode 100644 index 0000000..02a4972 --- /dev/null +++ b/config/polybar/panels/panel/budgie.ini @@ -0,0 +1,657 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9;3" +font-1 = "Iosevka Nerd Font:size=12;3" +font-2 = "Iosevka Nerd Font:size=16;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu sep2 term web files settings +modules-center = +modules-right = style sep alsa battery network date sep sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #232832 +bg-alt = #1C2028 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> +format-volume-background = ${color.bg-alt} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-background = ${color.bg-alt} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> +format-charging-background = ${color.bg-alt} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> +format-discharging-background = ${color.bg-alt} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-background = ${color.bg-alt} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M %p +;;time-alt = %B %d, %Y + +format = <label> +format-background = ${color.bg-alt} +format-padding = 2 + +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-background = ${color.bg-alt} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-background = ${color.bg-alt} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +;label-connected = 說 +label-connected = "%{A1:networkmanager_dmenu &:}說%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +;label-disconnected = ﲁ +label-disconnected = "%{A1:networkmanager_dmenu &:}ﲁ%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 說 +ramp-signal-1 = 說 +ramp-signal-2 = 說 +ramp-signal-3 = 說 +ramp-signal-4 = 說 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = +content-background = ${color.light-blue} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --budgie +click-right = ~/.config/polybar/panels/scripts/launcher.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +content-background = ${color.bg-alt} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --budgie +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ +content-background = ${color.bg-alt} +content-foreground = ${color.fg} +content-padding = 2 + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --budgie +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --budgie + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text + +content = | +content-foreground = ${color.grey} +content-background = ${color.bg-alt} +content-padding = 1 + +[module/sep2] +type = custom/text + +content = | +content-foreground = ${color.bg} +content-background = ${color.bg} +content-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.green} +content-background = ${color.bg} +content-padding = 3 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.orange} +content-background = ${color.bg} +content-padding = 3 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.blue} +content-background = ${color.bg} +content-padding = 3 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}煉%{T-}" +content-foreground = ${color.red} +content-background = ${color.bg} +content-padding = 3 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + diff --git a/config/polybar/panels/panel/deepin.ini b/config/polybar/panels/panel/deepin.ini new file mode 100644 index 0000000..cb61bb5 --- /dev/null +++ b/config/polybar/panels/panel/deepin.ini @@ -0,0 +1,639 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 42 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 1 +border-color = ${color.bg} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9;4" +font-1 = "icomoon\-feather:size=10;4" +font-2 = "Iosevka Nerd Font:size=20;5" +font-3 = "Noto Sans:size=8;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu term web files settings +modules-center = +modules-right = style alsa network battery sysmenu date sep2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #59000000 +bg-alt = #1A000000 +;;bg = #072919 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = +ramp-volume-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = " %percentage%%" +label-discharging-font = 4 + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M %p +;;time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --deepin +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --deepin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --deepin +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --deepin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text + +content = | +content-foreground = ${color.bg} +content-background = ${color.bg} +content-padding = 0 + +[module/sep2] +type = custom/text + +content = | +content-foreground = ${color.bg-alt} +content-background = ${color.bg-alt} +content-padding = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = "%{T3}%{T-}" +content-background = ${color.bg} +content-foreground = ${color.fg} +content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --deepin +click-right = ~/.config/polybar/panels/scripts/launcher.sh --deepin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.blue-gray} +content-background = ${color.bg} +content-padding = 3 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.deep-orange} +content-background = ${color.bg} +content-padding = 3 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.cyan} +content-background = ${color.bg} +content-padding = 3 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}漣%{T-}" +content-foreground = ${color.light-green} +content-background = ${color.bg} +content-padding = 3 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/elementary.ini b/config/polybar/panels/panel/elementary.ini new file mode 100644 index 0000000..247d9ea --- /dev/null +++ b/config/polybar/panels/panel/elementary.ini @@ -0,0 +1,564 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Droid Sans:size=9:weight=bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = applications +modules-center = date +modules-right = style alsa network battery sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #00000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = "%a %b %d %I:%M %p" +;time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/applications] +type = custom/text + +content = Applications +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --elight +click-right = ~/.config/polybar/panels/scripts/launcher.sh --elight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --elight +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --elight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --elight +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --elight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/elementary_dark.ini b/config/polybar/panels/panel/elementary_dark.ini new file mode 100644 index 0000000..61e9c9a --- /dev/null +++ b/config/polybar/panels/panel/elementary_dark.ini @@ -0,0 +1,564 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Droid Sans:size=9:weight=bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = applications +modules-center = date +modules-right = style alsa network battery sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #80000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = "%a %b %d %I:%M %p" +;time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/applications] +type = custom/text + +content = Applications +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --edark +click-right = ~/.config/polybar/panels/scripts/launcher.sh --edark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --edark +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --edark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --edark +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --edark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/gnome.ini b/config/polybar/panels/panel/gnome.ini new file mode 100644 index 0000000..e90940e --- /dev/null +++ b/config/polybar/panels/panel/gnome.ini @@ -0,0 +1,571 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9:weight:bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = activity +modules-center = date +modules-right = style battery alsa network sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %a %I:%M %p +time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/activity] +type = custom/text + +content = Activities +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --gnome +click-right = ~/.config/polybar/panels/scripts/launcher.sh --gnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --gnome +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --gnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --gnome +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --gnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/kde.ini b/config/polybar/panels/panel/kde.ini new file mode 100644 index 0000000..0baf518 --- /dev/null +++ b/config/polybar/panels/panel/kde.ini @@ -0,0 +1,580 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=10;2" +font-1 = "icomoon\-feather:size=13;5" +font-2 = "Iosevka Nerd Font:size=20;5" +font-3 = "Iosevka Nerd Font:size=12;4" +font-4 = "Noto Sans:size=16;4" +font-5 = "Noto Sans:size=8;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = kde +modules-center = +modules-right = battery alsa network sysmenu date style + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #CCFFFFFF +fg = #1d1d1d +fg-alt = #606060 + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = +ramp-volume-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = " %percentage%%" +label-discharging-font = 6 + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M +;time-alt = %B %d, %Y + +format = <label> +format-font = 5 +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/kde] +type = custom/text + +content = "%{T3}%{T-}" +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --klight +click-right = ~/.config/polybar/panels/scripts/launcher.sh --klight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = "%{T3}%{T-}" +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --klight +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --klight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text + +content = "%{T4}%{T-}" +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --klight +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --klight + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/kde_dark.ini b/config/polybar/panels/panel/kde_dark.ini new file mode 100644 index 0000000..93885cb --- /dev/null +++ b/config/polybar/panels/panel/kde_dark.ini @@ -0,0 +1,580 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 34 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=10;2" +font-1 = "icomoon\-feather:size=13;5" +font-2 = "Iosevka Nerd Font:size=20;5" +font-3 = "Iosevka Nerd Font:size=12;4" +font-4 = "Noto Sans:size=16;4" +font-5 = "Noto Sans:size=8;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = kde +modules-center = +modules-right = battery alsa network sysmenu date style + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #E631363b +fg = #f5f5f5 +fg-alt = #808080 + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = +ramp-volume-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = " %percentage%%" +label-discharging-font = 6 + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M +;time-alt = %B %d, %Y + +format = <label> +format-font = 5 +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/kde] +type = custom/text + +content = "%{T3}%{T-}" +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --kdark +click-right = ~/.config/polybar/panels/scripts/launcher.sh --kdark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = "%{T3}%{T-}" +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --kdark +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --kdark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text + +content = "%{T4}%{T-}" +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --kdark +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --kdark + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/liri.ini b/config/polybar/panels/panel/liri.ini new file mode 100644 index 0000000..d913023 --- /dev/null +++ b/config/polybar/panels/panel/liri.ini @@ -0,0 +1,630 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 36 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 8 +border-color = ${color.bg} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9;3" +font-1 = "Material:size=12;3" +font-2 = "Iosevka Nerd Font:size=20;5" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu sep term web files settings +modules-center = +modules-right = date style battery alsa network sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #00000000 +mf = #2F2F2F +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> +format-volume-background = ${color.mf} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-background = ${color.mf} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> +format-charging-background = ${color.mf} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-background = ${color.mf} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-background = ${color.mf} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = + +animation-charging-0 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M +;time-alt = %B %d, %Y + +format = <label> +format-background = ${color.mf} +format-padding = 3 + +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> +format-connected-background = ${color.mf} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-background = ${color.mf} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = +content-background = ${color.mf} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --liri +click-right = ~/.config/polybar/panels/scripts/launcher.sh --liri + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = +content-background = ${color.mf} +content-foreground = ${color.fg} +content-padding = 3 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --liri +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --liri + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text + +content = +content-background = ${color.mf} +content-foreground = ${color.fg} +content-padding = 2 + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --liri +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --liri + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text + +content = | +content-foreground = ${color.bg} +content-background = ${color.bg} +content-padding = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-background = ${color.bg} +content-padding = 4 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-background = ${color.bg} +content-padding = 4 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}ﱮ%{T-}" +content-background = ${color.bg} +content-padding = 4 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}%{T-}" +content-background = ${color.bg} +content-padding = 4 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/mint.ini b/config/polybar/panels/panel/mint.ini new file mode 100644 index 0000000..5289739 --- /dev/null +++ b/config/polybar/panels/panel/mint.ini @@ -0,0 +1,612 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +;background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +background-0 = #494949 +background-1 = #393939 + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9:weight:bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = mint term web files settings +modules-center = +modules-right = style alsa network battery sysmenu date + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %a %I:%M %p +time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mint] +type = custom/text + +; +content = Menu +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --mint +click-right = ~/.config/polybar/panels/scripts/launcher.sh --mint + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --mint +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --mint + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --mint +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --mint + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.lime} +content-padding = 0 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.orange} +content-padding = 0 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.cyan} +content-padding = 0 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}漣%{T-}" +content-foreground = ${color.yellow} +content-padding = 0 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/ubuntu_gnome.ini b/config/polybar/panels/panel/ubuntu_gnome.ini new file mode 100644 index 0000000..d852b6e --- /dev/null +++ b/config/polybar/panels/panel/ubuntu_gnome.ini @@ -0,0 +1,571 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 3 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9:weight:bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = activity +modules-center = date +modules-right = style battery alsa network sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #33000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %a %I:%M %p +time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/activity] +type = custom/text + +content = Activities +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --ugnome +click-right = ~/.config/polybar/panels/scripts/launcher.sh --ugnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --ugnome +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --ugnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --ugnome +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --ugnome + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/ubuntu_unity.ini b/config/polybar/panels/panel/ubuntu_unity.ini new file mode 100644 index 0000000..1754ff2 --- /dev/null +++ b/config/polybar/panels/panel/ubuntu_unity.ini @@ -0,0 +1,577 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +;;background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = +background-0 = #59574E +background-1 = #42403C + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 2 +;;border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9:weight:bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu title +modules-center = +modules-right = style network battery alsa date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #33000000 +fg = #EAEAEA +fg-alt = #9C9C9C + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M %p +;time-alt = %B %d, %Y + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --unity +click-right = ~/.config/polybar/panels/scripts/launcher.sh --unity + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --unity +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --unity + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --unity +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --unity + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +format = <label> + +label = %title% +label-maxlen = 20 +label-empty = Desktop + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/xubuntu.ini b/config/polybar/panels/panel/xubuntu.ini new file mode 100644 index 0000000..cefbe10 --- /dev/null +++ b/config/polybar/panels/panel/xubuntu.ini @@ -0,0 +1,616 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 30 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 1 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 2 +module-margin-right = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9:weight:bold;3" +font-1 = "Iosevka Nerd Font:size=12;3" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu +modules-center = +modules-right = style battery alsa network date workspaces name sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #494949 +bg-alt = #333333 +fg-ac = #536579 +fg = #EAEAEA +fg-alt = #9C9C9C +ac = #000000 + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = ﱝ +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %a, %d %B %I:%M %p + +format = <label> +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 +ramp-signal-3 = 直 +ramp-signal-4 = 直 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +pin-workspaces = false +enable-click = true +enable-scroll = true + +format = <label-state> +format-background = ${color.bg} + +label-active = +label-urgent = +label-occupied = +label-empty = +icon-default = + +label-empty-padding = 1 +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 + +label-empty-foreground = ${color.bg-alt} +label-active-foreground = ${color.fg-ac} +label-urgent-foreground = ${color.red} +label-occupied-foreground = ${color.bg-alt} + +label-empty-background = ${color.bg-alt} +label-active-background = ${color.fg-ac} +label-urgent-background = ${color.red} +label-occupied-background = ${color.bg-alt} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = +;;content-background = ${color.bg} +content-foreground = ${color.blue} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --xubuntu +click-right = ~/.config/polybar/panels/scripts/launcher.sh --xubuntu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = 襤 +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;;content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --xubuntu +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --xubuntu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/name] +type = custom/text +content = Aditya + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = פֿ + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --xubuntu +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --xubuntu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +format = <label> + +label = %title% +label-maxlen = 20 +label-empty = Desktop + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/panel/zorin.ini b/config/polybar/panels/panel/zorin.ini new file mode 100644 index 0000000..aea0117 --- /dev/null +++ b/config/polybar/panels/panel/zorin.ini @@ -0,0 +1,641 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 42 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +;;overline-size = 0 +;;overline-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +;;border-size = 1 +;;border-color = ${color.bg} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 3 +module-margin-right = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Noto Sans:size=9;4" +font-1 = "icomoon\-feather:size=10;4" +font-2 = "Iosevka Nerd Font:size=20;5" +font-3 = "Noto Sans:size=8;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = menu term web files settings +modules-center = +modules-right = style network alsa battery date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Active Colors +bg = #80000000 +bg-alt = #1A000000 +fg = #EAEAEA +fg-alt = #9C9C9C +ac= #8EDBF2 + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #1e88e5 +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #fdd835 +amber = #ffb300 +orange = #fb8c00 +deep-orange = #f4511e +brown = #6d4c41 +grey = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ +;; +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; You can find the different card numbers in `/proc/asound/cards` +;;master-soundcard = default +;;speaker-soundcard = default +;;headphone-soundcard = default + +; Default: Master +;;master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; Default: 5 +;;interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +;format-muted = <label-muted> + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = +label-muted-foreground = ${color.fg-alt} + +ramp-volume-0 = +ramp-volume-1 = +ramp-volume-2 = +ramp-volume-3 = +ramp-volume-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 + +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +;format-full = <ramp-capacity> <label-full> + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = " %percentage%%" +label-discharging-font = 4 + +; Available tokens: +; %percentage% (default) +;label-full = Fully Charged +label-full = +label-full-foreground = ${color.green} + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 + +time = %I:%M %p +;;time-alt = %B %d, %Y + +format = <label> +;format-padding = 3 + +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network + +interface = wlan0 +interval = 1.0 + +;ping-interval = 3 +;;udspeed-minwidth = 5 +accumulate-stats = true +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <label-connected> + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}" +label-disconnected-foreground = ${color.fg-alt} + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +ramp-signal-0 = +ramp-signal-1 = +ramp-signal-2 = +ramp-signal-3 = +ramp-signal-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text + +content = " " +;;content-background = ${color.bg} +content-foreground = ${color.fg} +;content-padding = 1 + +click-left = ~/.config/polybar/panels/scripts/powermenu.sh --zorin +click-right = ~/.config/polybar/panels/scripts/powermenu.sh --zorin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/style] +type = custom/text +content = + +click-left = ~/.config/polybar/panels/scripts/style-switch.sh --zorin +click-right = ~/.config/polybar/panels/scripts/style-switch.sh --zorin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text + +content = | +content-foreground = ${color.bg} +content-background = ${color.bg} +content-padding = 0 + +[module/sep2] +type = custom/text + +content = | +content-foreground = ${color.bg-alt} +content-background = ${color.bg-alt} +content-padding = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/text + +content = "%{T3}%{T-}" +content-background = ${color.ac} +content-foreground = ${color.black} +content-padding = 4 + +click-left = ~/.config/polybar/panels/scripts/launcher.sh --zorin +click-right = ~/.config/polybar/panels/scripts/launcher.sh --zorin + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +;; Apps +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.white} +content-background = ${color.bg} +content-padding = 3 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.deep-orange} +content-background = ${color.bg} +content-padding = 3 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.cyan} +content-background = ${color.bg} +content-padding = 3 + +click-left = thunar & + +[module/settings] +type = custom/text + +content = "%{T3}漣%{T-}" +content-foreground = ${color.lime} +content-background = ${color.bg} +content-padding = 3 + +click-left = xfce4-settings & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/panels/scripts/launcher.sh b/config/polybar/panels/scripts/launcher.sh new file mode 100755 index 0000000..2d4ac1b --- /dev/null +++ b/config/polybar/panels/scripts/launcher.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/panels/menu" + +launcher() { + rofi -no-config -no-lazy-grab -show drun -modi drun -theme "$DIR"/"$theme"/launcher.rasi +} + +if [[ "$1" = "--budgie" ]]; then + theme="budgie" + launcher + +elif [[ "$1" = "--deepin" ]]; then + theme="deepin" + launcher + +elif [[ "$1" = "--elight" ]]; then + theme="elementary" + launcher + +elif [[ "$1" = "--edark" ]]; then + theme="elementary_dark" + launcher + +elif [[ "$1" = "--gnome" ]]; then + theme="gnome" + launcher + +elif [[ "$1" = "--klight" ]]; then + theme="kde" + launcher + +elif [[ "$1" = "--kdark" ]]; then + theme="kde_dark" + launcher + +elif [[ "$1" = "--liri" ]]; then + theme="liri" + launcher + +elif [[ "$1" = "--mint" ]]; then + theme="mint" + launcher + +elif [[ "$1" = "--ugnome" ]]; then + theme="ubuntu_gnome" + launcher + +elif [[ "$1" = "--unity" ]]; then + theme="ubuntu_unity" + launcher + +elif [[ "$1" = "--xubuntu" ]]; then + theme="xubuntu" + launcher + +elif [[ "$1" = "--zorin" ]]; then + theme="zorin" + launcher + +else + rofi -e "No theme specified." + exit 1 +fi diff --git a/config/polybar/panels/scripts/powermenu.sh b/config/polybar/panels/scripts/powermenu.sh new file mode 100755 index 0000000..a8c9e73 --- /dev/null +++ b/config/polybar/panels/scripts/powermenu.sh @@ -0,0 +1,139 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +DIR="$HOME/.config/polybar/panels/menu" +uptime=$(uptime -p | sed -e 's/up //g') + +if [[ "$1" = "--budgie" ]]; then + theme="budgie" + +elif [[ "$1" = "--deepin" ]]; then + theme="deepin" + +elif [[ "$1" = "--elight" ]]; then + theme="elementary" + +elif [[ "$1" = "--edark" ]]; then + theme="elementary_dark" + +elif [[ "$1" = "--gnome" ]]; then + theme="gnome" + +elif [[ "$1" = "--klight" ]]; then + theme="kde" + +elif [[ "$1" = "--kdark" ]]; then + theme="kde_dark" + +elif [[ "$1" = "--liri" ]]; then + theme="liri" + +elif [[ "$1" = "--mint" ]]; then + theme="mint" + +elif [[ "$1" = "--ugnome" ]]; then + theme="ubuntu_gnome" + +elif [[ "$1" = "--unity" ]]; then + theme="ubuntu_unity" + +elif [[ "$1" = "--xubuntu" ]]; then + theme="xubuntu" + +elif [[ "$1" = "--zorin" ]]; then + theme="zorin" + +else + rofi -e "No theme specified." + exit 1 +fi + +rofi_command="rofi -no-config -theme $DIR/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $DIR/$theme/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$DIR/$theme/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/panels/scripts/style-switch.sh b/config/polybar/panels/scripts/style-switch.sh new file mode 100755 index 0000000..1a11840 --- /dev/null +++ b/config/polybar/panels/scripts/style-switch.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/panels/scripts" +DIR="$HOME/.config/polybar/panels/menu" + +if [[ "$1" = "--budgie" ]]; then + theme="budgie" + +elif [[ "$1" = "--deepin" ]]; then + theme="deepin" + +elif [[ "$1" = "--elight" ]]; then + theme="elementary" + +elif [[ "$1" = "--edark" ]]; then + theme="elementary_dark" + +elif [[ "$1" = "--gnome" ]]; then + theme="gnome" + +elif [[ "$1" = "--klight" ]]; then + theme="kde" + +elif [[ "$1" = "--kdark" ]]; then + theme="kde_dark" + +elif [[ "$1" = "--liri" ]]; then + theme="liri" + +elif [[ "$1" = "--mint" ]]; then + theme="mint" + +elif [[ "$1" = "--ugnome" ]]; then + theme="ubuntu_gnome" + +elif [[ "$1" = "--unity" ]]; then + theme="ubuntu_unity" + +elif [[ "$1" = "--xubuntu" ]]; then + theme="xubuntu" + +elif [[ "$1" = "--zorin" ]]; then + theme="zorin" + +else + rofi -e "No theme specified." + exit 1 +fi + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $DIR/$theme/styles.rasi \ +<<< " Budgie| Deepin| Elementary| Elementary_Dark| Gnome| KDE|\ + KDE_Dark| Liri| Mint| Ubuntu_gnome| Ubuntu_unity| Xubuntu| Zorin|")" + case "$MENU" in + *Budgie) "$SDIR"/styles.sh --budgie ;; + *Deepin) "$SDIR"/styles.sh --deepin ;; + *Elementary) "$SDIR"/styles.sh --elight ;; + *Elementary_Dark) "$SDIR"/styles.sh --edark ;; + *Gnome) "$SDIR"/styles.sh --gnome ;; + *KDE) "$SDIR"/styles.sh --klight ;; + *KDE_Dark) "$SDIR"/styles.sh --kdark ;; + *Liri) "$SDIR"/styles.sh --liri ;; + *Mint) "$SDIR"/styles.sh --mint ;; + *Ubuntu_gnome) "$SDIR"/styles.sh --ugnome ;; + *Ubuntu_unity) "$SDIR"/styles.sh --unity ;; + *Xubuntu) "$SDIR"/styles.sh --xubuntu ;; + *Zorin) "$SDIR"/styles.sh --zorin ;; + esac diff --git a/config/polybar/panels/scripts/styles.sh b/config/polybar/panels/scripts/styles.sh new file mode 100755 index 0000000..fc627c7 --- /dev/null +++ b/config/polybar/panels/scripts/styles.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/panels" + +change_panel() { + # replace config with selected panel + cat "$DIR"/panel/"${panel}.ini" > "$DIR"/config.ini + + # Change wallpaper + feh --bg-fill "$DIR"/wallpapers/"$bg" + + # Restarting polybar + polybar-msg cmd restart +} + +if [[ "$1" = "--budgie" ]]; then + panel="budgie" + bg="budgie.jpg" + change_panel + +elif [[ "$1" = "--deepin" ]]; then + panel="deepin" + bg="deepin.jpg" + change_panel + +elif [[ "$1" = "--elight" ]]; then + panel="elementary" + bg="elementary.jpg" + change_panel + +elif [[ "$1" = "--edark" ]]; then + panel="elementary_dark" + bg="elementary_2.jpg" + change_panel + +elif [[ "$1" = "--gnome" ]]; then + panel="gnome" + bg="gnome.jpg" + change_panel + +elif [[ "$1" = "--klight" ]]; then + panel="kde" + bg="kde.jpg" + change_panel + +elif [[ "$1" = "--kdark" ]]; then + panel="kde_dark" + bg="kde_2.jpg" + change_panel + +elif [[ "$1" = "--liri" ]]; then + panel="liri" + bg="liri.png" + change_panel + +elif [[ "$1" = "--mint" ]]; then + panel="mint" + bg="mint.jpg" + change_panel + +elif [[ "$1" = "--ugnome" ]]; then + panel="ubuntu_gnome" + bg="ubuntu.jpg" + change_panel + +elif [[ "$1" = "--unity" ]]; then + panel="ubuntu_unity" + bg="ubuntu.jpg" + change_panel + +elif [[ "$1" = "--xubuntu" ]]; then + panel="xubuntu" + bg="xubuntu.png" + change_panel + +elif [[ "$1" = "--zorin" ]]; then + panel="zorin" + bg="zorin.png" + change_panel + +else + cat <<- _EOF_ + No option specified, Available options: + --budgie --deepin --elight --edark --gnome --klight + --kdark --liri --mint --ugnome --unity --xubuntu + --zorin + _EOF_ +fi diff --git a/config/polybar/panels/wallpapers/budgie.jpg b/config/polybar/panels/wallpapers/budgie.jpg Binary files differnew file mode 100644 index 0000000..24b6c29 --- /dev/null +++ b/config/polybar/panels/wallpapers/budgie.jpg diff --git a/config/polybar/panels/wallpapers/deepin.jpg b/config/polybar/panels/wallpapers/deepin.jpg Binary files differnew file mode 100644 index 0000000..7c6870d --- /dev/null +++ b/config/polybar/panels/wallpapers/deepin.jpg diff --git a/config/polybar/panels/wallpapers/elementary.jpg b/config/polybar/panels/wallpapers/elementary.jpg Binary files differnew file mode 100644 index 0000000..b8696e3 --- /dev/null +++ b/config/polybar/panels/wallpapers/elementary.jpg diff --git a/config/polybar/panels/wallpapers/elementary_2.jpg b/config/polybar/panels/wallpapers/elementary_2.jpg Binary files differnew file mode 100644 index 0000000..2fd51c3 --- /dev/null +++ b/config/polybar/panels/wallpapers/elementary_2.jpg diff --git a/config/polybar/panels/wallpapers/gnome.jpg b/config/polybar/panels/wallpapers/gnome.jpg Binary files differnew file mode 100644 index 0000000..b9b8d69 --- /dev/null +++ b/config/polybar/panels/wallpapers/gnome.jpg diff --git a/config/polybar/panels/wallpapers/kde.jpg b/config/polybar/panels/wallpapers/kde.jpg Binary files differnew file mode 100644 index 0000000..13d1b47 --- /dev/null +++ b/config/polybar/panels/wallpapers/kde.jpg diff --git a/config/polybar/panels/wallpapers/kde_2.jpg b/config/polybar/panels/wallpapers/kde_2.jpg Binary files differnew file mode 100644 index 0000000..b555447 --- /dev/null +++ b/config/polybar/panels/wallpapers/kde_2.jpg diff --git a/config/polybar/panels/wallpapers/liri.png b/config/polybar/panels/wallpapers/liri.png Binary files differnew file mode 100644 index 0000000..8d657b9 --- /dev/null +++ b/config/polybar/panels/wallpapers/liri.png diff --git a/config/polybar/panels/wallpapers/mint.jpg b/config/polybar/panels/wallpapers/mint.jpg Binary files differnew file mode 100644 index 0000000..6ab13d4 --- /dev/null +++ b/config/polybar/panels/wallpapers/mint.jpg diff --git a/config/polybar/panels/wallpapers/ubuntu.jpg b/config/polybar/panels/wallpapers/ubuntu.jpg Binary files differnew file mode 100644 index 0000000..ac1f05e --- /dev/null +++ b/config/polybar/panels/wallpapers/ubuntu.jpg diff --git a/config/polybar/panels/wallpapers/xubuntu.png b/config/polybar/panels/wallpapers/xubuntu.png Binary files differnew file mode 100644 index 0000000..9fd6833 --- /dev/null +++ b/config/polybar/panels/wallpapers/xubuntu.png diff --git a/config/polybar/panels/wallpapers/zorin.png b/config/polybar/panels/wallpapers/zorin.png Binary files differnew file mode 100644 index 0000000..2c7eac3 --- /dev/null +++ b/config/polybar/panels/wallpapers/zorin.png diff --git a/config/polybar/pwidgets/apps.ini b/config/polybar/pwidgets/apps.ini new file mode 100644 index 0000000..48335e1 --- /dev/null +++ b/config/polybar/pwidgets/apps.ini @@ -0,0 +1,426 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=12;2" +font-1 = "Iosevka Nerd Font:bold:size=24;2" +font-2 = "Iosevka Nerd Font:size=22;6" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = web sep2 files sep2 edit sep2 apps +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = date sep mpd +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 +time = %k:%M + +format = <label> +format-foreground = ${color.fg} +label = %time% +label-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +interval = 2 + +format-online = <label-song> +format-online-foreground = ${color.fg} + +label-song = "%title%" +label-song-maxlen = 12 +label-song-ellipsis = true +label-offline = "Offline" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.black} +content-background = ${color.bg} +content-padding = 0 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.orange} +content-background = ${color.bg} +content-padding = 0 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.blue} +content-background = ${color.bg} +content-padding = 0 + +click-left = thunar & + +[module/edit] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.gray} +content-background = ${color.bg} +content-padding = 0 + +click-left = geany & + +[module/apps] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.fga} +content-background = ${color.bg} +content-padding = 0 + +click-left = ~/.config/polybar/pwidgets/scripts/launcher.sh & +click-right = ~/.config/polybar/pwidgets/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 1 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/colors.ini b/config/polybar/pwidgets/colors.ini new file mode 100644 index 0000000..13accb3 --- /dev/null +++ b/config/polybar/pwidgets/colors.ini @@ -0,0 +1,42 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] +bg = #FFFFFFFF +fg = #FFFFFFFF +ac = #FF1565C0 +fga = #FF454545 + +trans = #00000000 +white = #FFFFFF +black = #000000 + +;; Material Colors + +red = #e53935 +pink = #d81b60 +purple = #8e24aa +deep-purple = #5e35b1 +indigo = #3949ab +blue = #5895DC +light-blue = #039be5 +cyan = #00acc1 +teal = #00897b +green = #43a047 +light-green = #7cb342 +lime = #c0ca33 +yellow = #FEC006 +amber = #ffb300 +orange = #F57C00 +deep-orange = #f4511e +brown = #6d4c41 +gray = #757575 +blue-gray = #546e7a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/cpu.ini b/config/polybar/pwidgets/cpu.ini new file mode 100644 index 0000000..f2a3410 --- /dev/null +++ b/config/polybar/pwidgets/cpu.ini @@ -0,0 +1,394 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=24;6" +font-1 = "Iosevka Nerd Font:size=12;2" +font-2 = "Iosevka Nerd Font:bold:size=24;2" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = cpu_bar +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = name sep cpu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +interval = 0.5 +format = <label> +format-foreground = ${color.fg} +format-font = 2 +label = "%percentage-core1%% %percentage-core2%% %percentage-core3%% %percentage-core4%%" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +interval = 0.5 +format = <bar-load> + +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = +bar-load-indicator-foreground = ${color.ac} +bar-load-indicator-font = 1 + +bar-load-fill = ⏽ +bar-load-foreground-0 = ${color.green} +bar-load-foreground-1 = ${color.green} +bar-load-foreground-2 = ${color.green} +bar-load-foreground-3 = ${color.amber} +bar-load-foreground-4 = ${color.amber} +bar-load-foreground-5 = ${color.amber} +bar-load-foreground-6 = ${color.red} +bar-load-foreground-7 = ${color.red} +bar-load-foreground-8 = ${color.red} +bar-load-fill-font = 1 + +bar-load-empty = ⏽ +bar-load-empty-foreground = ${color.gray} +bar-load-empty-font = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/name] +type = custom/text + +content = cpu +content-foreground = ${color.fg} +content-font = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 2 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/fs.ini b/config/polybar/pwidgets/fs.ini new file mode 100644 index 0000000..64ca823 --- /dev/null +++ b/config/polybar/pwidgets/fs.ini @@ -0,0 +1,411 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=24;6" +font-1 = "Iosevka Nerd Font:size=12;2" +font-2 = "Iosevka Nerd Font:bold:size=24;2" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = fs_bar +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = name sep fs +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/fs] +type = internal/fs + +mount-0 = / +;;mount-1 = /home + +interval = 10 +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +format-mounted = <label-mounted> +format-mounted-foreground = ${color.fg} +format-mounted-font = 2 + +format-unmounted = <label-unmounted> +format-unmounted-foreground = ${color.fg} +format-unmounted-font = 2 + +label-mounted = "%free%" +label-unmounted = Not Mounted + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/fs_bar] +type = internal/fs + +mount-0 = / +;;mount-1 = /home + +format-mounted = <bar-used> + +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = +bar-used-indicator-foreground = ${color.ac} +bar-used-indicator-font = 1 + +bar-used-fill = ⏽ +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.green} +bar-used-foreground-3 = ${color.green} +bar-used-foreground-4 = ${color.green} +bar-used-foreground-5 = ${color.amber} +bar-used-foreground-6 = ${color.amber} +bar-used-foreground-7 = ${color.red} +bar-used-foreground-8 = ${color.red} +bar-used-fill-font = 1 + +bar-used-empty = ⏽ +bar-used-empty-foreground = ${color.gray} +bar-used-empty-font = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/name] +type = custom/text + +content = fs +content-foreground = ${color.fg} +content-font = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 2 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/launch.sh b/config/polybar/pwidgets/launch.sh new file mode 100755 index 0000000..c5659f7 --- /dev/null +++ b/config/polybar/pwidgets/launch.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env sh + +DIR="$HOME/.config/polybar/pwidgets" + +kill_bar() { + # Terminate already running bar instances + killall -q polybar + + # Wait until the processes have been shut down + while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done +} + +## Main +if [[ "$1" == "--main" ]]; then + kill_bar + polybar -q primary -c $DIR/main.ini & + polybar -q secondary -c $DIR/main.ini & + polybar -q top -c $DIR/main.ini & + +## Apps +elif [[ "$1" == "--apps" ]]; then + kill_bar + polybar -q primary -c $DIR/apps.ini & + polybar -q secondary -c $DIR/apps.ini & + +## System +elif [[ "$1" == "--system" ]]; then + kill_bar + polybar -q primary -c $DIR/system.ini & + polybar -q secondary -c $DIR/system.ini & + +## Mpd +elif [[ "$1" == "--mpd" ]]; then + kill_bar + polybar -q primary -c $DIR/mpd.ini & + polybar -q secondary -c $DIR/mpd.ini & + +## Workspaces +elif [[ "$1" == "--ws" ]]; then + kill_bar + polybar -q primary -c $DIR/workspace.ini & + polybar -q secondary -c $DIR/workspace.ini & + +## CPU +elif [[ "$1" == "--cpu" ]]; then + kill_bar + polybar -q primary -c $DIR/cpu.ini & + polybar -q secondary -c $DIR/cpu.ini & + +## Memory +elif [[ "$1" == "--memory" ]]; then + kill_bar + polybar -q primary -c $DIR/memory.ini & + polybar -q secondary -c $DIR/memory.ini & + +## Filesystem +elif [[ "$1" == "--fs" ]]; then + kill_bar + polybar -q primary -c $DIR/fs.ini & + polybar -q secondary -c $DIR/fs.ini & + +else + cat <<- _EOF_ + No widget specified, Available widgets: + --main --apps --system --mpd + --ws --cpu --memory --fs + _EOF_ +fi diff --git a/config/polybar/pwidgets/main.ini b/config/polybar/pwidgets/main.ini new file mode 100644 index 0000000..d7fe77c --- /dev/null +++ b/config/polybar/pwidgets/main.ini @@ -0,0 +1,535 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=12;2" +font-1 = "Iosevka Nerd Font:bold:size=24;2" +font-2 = "Iosevka Nerd Font:size=22;6" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = web sep2 files sep2 edit sep2 apps +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = date sep mpd +enable-ipc = true + +[bar/top] +inherit = bar/main + +width = 165 +height = 40 + +offset-x = 100%:-190 +offset-y = 25 +bottom = false +font-0 = "Iosevka Nerd Font:size=14;4" + +padding = 1 +module-margin-left = 1 +module-margin-right = 1 + +modules-center = alsa battery network sysmenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +interval = 1.0 +time = %k:%M + +format = <label> +format-foreground = ${color.fg} +label = %time% +label-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +interval = 2 + +format-online = <label-song> +format-online-foreground = ${color.fg} + +label-song = "%title%" +label-song-maxlen = 12 +label-song-ellipsis = true +label-offline = "Offline" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Apps + +[module/term] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.black} +content-background = ${color.bg} +content-padding = 0 + +click-left = termite & + +[module/web] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.orange} +content-background = ${color.bg} +content-padding = 0 + +click-left = firefox & + +[module/files] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.blue} +content-background = ${color.bg} +content-padding = 0 + +click-left = thunar & + +[module/edit] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.gray} +content-background = ${color.bg} +content-padding = 0 + +click-left = geany & + +[module/apps] +type = custom/text + +content = "%{T3}%{T-}" +content-foreground = ${color.fga} +content-background = ${color.bg} +content-padding = 0 + +click-left = ~/.config/polybar/pwidgets/scripts/launcher.sh & +click-right = ~/.config/polybar/pwidgets/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 1 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +format-volume = <ramp-volume> +format-muted = <label-muted> +label-muted = 婢 +label-muted-foreground = ${color.gray} + +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 奔 +ramp-volume-3 = 墳 +ramp-volume-4 = 墳 +ramp-volume-foreground = ${color.blue} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +format-charging = <animation-charging> +format-discharging = <ramp-capacity> + +format-full = <label-full> +format-full-foreground = ${color.red} + +label-full = + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = +ramp-capacity-foreground = ${color.orange} + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = +animation-charging-9 = +animation-charging-foreground = ${color.green} + +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network +interface = wlan0 + +interval = 1.0 +accumulate-stats = true +unknown-as-up = true + +format-connected = <label-connected> +format-connected-foreground = ${color.purple} +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${color.gray} + +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = 襤 + +content-foreground = ${color.red} +click-left = ~/.config/polybar/pwidgets/scripts/powermenu.sh & +click-right = ~/.config/polybar/pwidgets/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/memory.ini b/config/polybar/pwidgets/memory.ini new file mode 100644 index 0000000..ae63955 --- /dev/null +++ b/config/polybar/pwidgets/memory.ini @@ -0,0 +1,397 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=24;6" +font-1 = "Iosevka Nerd Font:size=12;2" +font-2 = "Iosevka Nerd Font:bold:size=24;2" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = memory_bar +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = name sep memory +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +interval = 3 + +format = <label> +format-foreground = ${color.fg} +format-font = 2 + +label = "%mb_used%" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +interval = 2 + +format = <bar-used> + +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = +bar-used-indicator-foreground = ${color.ac} +bar-used-indicator-font = 1 + +bar-used-fill = ⏽ +bar-used-foreground-0 = ${color.green} +bar-used-foreground-1 = ${color.green} +bar-used-foreground-2 = ${color.green} +bar-used-foreground-3 = ${color.amber} +bar-used-foreground-4 = ${color.amber} +bar-used-foreground-5 = ${color.amber} +bar-used-foreground-6 = ${color.red} +bar-used-foreground-7 = ${color.red} +bar-used-foreground-8 = ${color.red} +bar-used-fill-font = 1 + +bar-used-empty = ⏽ +bar-used-empty-foreground = ${color.gray} +bar-used-empty-font = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/name] +type = custom/text + +content = memory +content-foreground = ${color.fg} +content-font = 3 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 2 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/mpd.ini b/config/polybar/pwidgets/mpd.ini new file mode 100644 index 0000000..014bd1d --- /dev/null +++ b/config/polybar/pwidgets/mpd.ini @@ -0,0 +1,397 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=12;2" +font-1 = "Iosevka Nerd Font:bold:size=24;2" +font-2 = "Iosevka Nerd Font:size=28;8" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = buttons +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = player sep mpd +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +interval = 2 +format-online = <label-song> +format-online-foreground = ${color.fg} + +label-song = "%title%" +label-song-maxlen = 12 +label-song-ellipsis = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/buttons] +type = internal/mpd + +interval = 2 + +format-online = <icon-prev> <toggle> <icon-stop> <icon-next> +format-online-font = 3 + +format-offline = <label-offline> +label-offline = "Offline" + +; Only applies if <icon-X> is used +icon-play-foreground = ${color.blue} +icon-play = 喇 +icon-pause-foreground = ${color.green} +icon-pause = +icon-stop-foreground = ${color.red} +icon-stop = ﭥ +icon-prev-foreground = ${color.teal} +icon-prev = ﭢ +icon-next-foreground = ${color.teal} +icon-next = ﭠ + +icon-seekb = 寧 +icon-seekf = 嶺 +icon-random = 🔀 +icon-repeat = 🔁 +icon-repeatone = 🔂 +icon-single = 🔂 +icon-consume = ✀ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/player] +type = custom/text + +content = mpd +content-foreground = ${color.fg} +content-font = 2 +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 1 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/scripts/launcher.sh b/config/polybar/pwidgets/scripts/launcher.sh new file mode 100755 index 0000000..9fa927a --- /dev/null +++ b/config/polybar/pwidgets/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/pwidgets/scripts/rofi/launcher.rasi diff --git a/config/polybar/pwidgets/scripts/powermenu.sh b/config/polybar/pwidgets/scripts/powermenu.sh new file mode 100755 index 0000000..a23ffdb --- /dev/null +++ b/config/polybar/pwidgets/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/pwidgets/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Options : yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/pwidgets/scripts/pywal.sh b/config/polybar/pwidgets/scripts/pywal.sh new file mode 100755 index 0000000..7fba92a --- /dev/null +++ b/config/polybar/pwidgets/scripts/pywal.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/pwidgets/colors.ini" +RFILE="$HOME/.config/polybar/pwidgets/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/bg = #.*/bg = ${BG}/g" $PFILE + sed -i -e "s/fg = #.*/fg = ${FG}/g" $PFILE + sed -i -e "s/fga = #.*/fga = ${RFG}/g" $PFILE + sed -i -e "s/ac = #.*/ac = ${AC}/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + fg: ${RFG}FF; + ac: ${AC}FF; + } + EOF +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + RFG=`printf "%s\n" "$color8"` + AC=`printf "%s\n" "$color1"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/pwidgets/scripts/random.sh b/config/polybar/pwidgets/scripts/random.sh new file mode 100755 index 0000000..e6aa94a --- /dev/null +++ b/config/polybar/pwidgets/scripts/random.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/pwidgets/colors.ini" +RFILE="$HOME/.config/polybar/pwidgets/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/bg = #.*/bg = ${BG}/g" $PFILE + sed -i -e "s/fg = #.*/fg = ${BG}/g" $PFILE + sed -i -e "s/fga = #.*/fga = ${RFG}/g" $PFILE + sed -i -e "s/ac = #.*/ac = ${AC}/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + fg: ${RFG}FF; + ac: ${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +# Main +BG=`get_random_color` +RFG=`get_random_color` +AC=`get_random_color` + +change_color diff --git a/config/polybar/pwidgets/scripts/rofi/colors.rasi b/config/polybar/pwidgets/scripts/rofi/colors.rasi new file mode 100644 index 0000000..e951f6a --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/colors.rasi @@ -0,0 +1,8 @@ +/* colors */ + +* { + al: #00000000; + bg: #FFFFFFFF; + fg: #454545FF; + ac: #1565C0FF; +} diff --git a/config/polybar/pwidgets/scripts/rofi/confirm.rasi b/config/polybar/pwidgets/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..3d28bcd --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/confirm.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 230px; + padding: 20px; + border: 0px; + border-radius: 20px; + border-color: @ac; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/rofi/launcher.rasi b/config/polybar/pwidgets/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..d605adf --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 20px; + width: 460px; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +prompt { + enabled: true; + padding: 10px; + background-color: @al; + text-color: @ac; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/rofi/message.rasi b/config/polybar/pwidgets/scripts/rofi/message.rasi new file mode 100644 index 0000000..3d28bcd --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/message.rasi @@ -0,0 +1,25 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 230px; + padding: 20px; + border: 0px; + border-radius: 20px; + border-color: @ac; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +entry { + expand: true; + text-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/rofi/networkmenu.rasi b/config/polybar/pwidgets/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..910294d --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/networkmenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 20px; + width: 460px; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +prompt { + enabled: true; + padding: 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 10px 5px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: "直"; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -10px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/rofi/powermenu.rasi b/config/polybar/pwidgets/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..c5ec2c4 --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/powermenu.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 20px; + width: 460px; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +prompt { + enabled: true; + padding: 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 10px 5px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/rofi/styles.rasi b/config/polybar/pwidgets/scripts/rofi/styles.rasi new file mode 100644 index 0000000..be4b305 --- /dev/null +++ b/config/polybar/pwidgets/scripts/rofi/styles.rasi @@ -0,0 +1,127 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 20px; + width: 460px; + location: southwest; + x-offset: 25px; + y-offset: -95px; +} + +prompt { + enabled: true; + padding: 10px; + background-color: @al; + text-color: @fg; +} + +textbox-prompt-colon { + padding: 10px 10px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @al; + text-color: @ac; + expand: false; + str: ""; +} + +entry { + background-color: @al; + text-color: @ac; + placeholder-color: @ac; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px 10px 10px 0px; + border-radius: 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @al; + text-color: @fg; + expand: false; + border: 0px 0px 1px 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 10px; + padding: 2px 10px 10px 10px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 8px 8px 8px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @ac; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @ac; +} diff --git a/config/polybar/pwidgets/scripts/style-switch.sh b/config/polybar/pwidgets/scripts/style-switch.sh new file mode 100755 index 0000000..5f87642 --- /dev/null +++ b/config/polybar/pwidgets/scripts/style-switch.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/pwidgets/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< " Default| Nord| Gruvbox| Dark| Cherry| White| Black|")" + case "$MENU" in + *Default) "$SDIR"/styles.sh --default ;; + *Nord) "$SDIR"/styles.sh --nord ;; + *Gruvbox) "$SDIR"/styles.sh --gruvbox ;; + *Dark) "$SDIR"/styles.sh --dark ;; + *Cherry) "$SDIR"/styles.sh --cherry ;; + *White) "$SDIR"/styles.sh --white ;; + *Black) "$SDIR"/styles.sh --black ;; + esac diff --git a/config/polybar/pwidgets/scripts/styles.sh b/config/polybar/pwidgets/scripts/styles.sh new file mode 100755 index 0000000..3cb0d0d --- /dev/null +++ b/config/polybar/pwidgets/scripts/styles.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/pwidgets/colors.ini" +RFILE="$HOME/.config/polybar/pwidgets/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/bg = #.*/bg = #FF${BG}/g" $PFILE + sed -i -e "s/fg = #.*/fg = #FF${FG}/g" $PFILE + sed -i -e "s/fga = #.*/fga = #FF${RFG}/g" $PFILE + sed -i -e "s/ac = #.*/ac = #FF${AC}/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #${BG}FF; + fg: #${RFG}FF; + ac: #${AC}FF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--default" ]]; then + BG="212B30" + FG="C4C7C5" + RFG="C4C7C5" + AC="51B4FF" + change_color +elif [[ $1 = "--nord" ]]; then + BG="3B4252" + FG="E5E9F0" + RFG="E5E9F0" + AC="A3BE8C" + change_color +elif [[ $1 = "--gruvbox" ]]; then + BG="282828" + FG="EBDBB2" + RFG="EBDBB2" + AC="FB4934" + change_color +elif [[ $1 = "--dark" ]]; then + BG="141C21" + FG="f5f5f5" + RFG="f5f5f5" + AC="FFE744" + change_color +elif [[ $1 = "--cherry" ]]; then + BG="1F1626" + FG="FFFFFF" + RFG="FFFFFF" + AC="D94084" + change_color +elif [[ $1 = "--white" ]]; then + BG="FFFFFF" + FG="FFFFFF" + RFG="454545" + AC="1565C0" + change_color +elif [[ $1 = "--black" ]]; then + BG="0a0a0a" + FG="0a0a0a" + RFG="a0a0a0" + AC="40D8EB" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --default --nord --gruvbox --dark --cherry + --white --black + _EOF_ +fi diff --git a/config/polybar/pwidgets/system.ini b/config/polybar/pwidgets/system.ini new file mode 100644 index 0000000..2f1d98a --- /dev/null +++ b/config/polybar/pwidgets/system.ini @@ -0,0 +1,474 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=20;5" +font-1 = "Iosevka Nerd Font:bold:size=24;2" +font-2 = "Iosevka Nerd Font:size=12;2" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = alsa sep2 battery sep2 network sep2 sysmenu +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = ssid sep speed +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 3 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +format-volume = <ramp-volume> +format-muted = <label-muted> +label-muted = 婢 +label-muted-foreground = ${color.gray} + +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 奔 +ramp-volume-3 = 墳 +ramp-volume-4 = 墳 +ramp-volume-foreground = ${color.blue} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +full-at = 99 +battery = BAT1 +adapter = ACAD + +poll-interval = 2 +time-format = %H:%M + +format-charging = <animation-charging> +format-discharging = <ramp-capacity> + +format-full = <label-full> +format-full-foreground = ${color.red} + +label-full = + +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = +ramp-capacity-foreground = ${color.orange} + +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = +animation-charging-7 = +animation-charging-8 = +animation-charging-9 = +animation-charging-foreground = ${color.green} + +animation-charging-framerate = 750 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/network] +type = internal/network +interface = wlan0 + +interval = 1.0 +accumulate-stats = true +unknown-as-up = true + +format-connected = <label-connected> +format-connected-foreground = ${color.purple} +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${color.gray} + +label-connected = "%{A1:networkmanager_dmenu &:}直%{A}" +label-disconnected = "%{A1:networkmanager_dmenu &:}睊%{A}" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/speed] +type = internal/network +interface = wlan0 + +interval = 1.0 +accumulate-stats = true +unknown-as-up = true + +format-connected = <label-connected> +format-connected-foreground = ${color.fg} +format-connected-font = 3 +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${color.fg} +format-disconnected-font = 3 + +label-connected = "%downspeed%" +label-disconnected = NA + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/ssid] +type = internal/network +interface = wlan0 + +interval = 1.0 +accumulate-stats = true +unknown-as-up = true + +format-connected = <label-connected> +format-connected-font = 2 +format-connected-foreground = ${color.fg} +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${color.fg} +format-disconnected-font = 2 + +label-connected = "%essid%" +label-disconnected = NA + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = 襤 + +content-foreground = ${color.red} +click-left = ~/.config/polybar/pwidgets/scripts/powermenu.sh & +click-right = ~/.config/polybar/pwidgets/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/pwidgets/workspace.ini b/config/polybar/pwidgets/workspace.ini new file mode 100644 index 0000000..26f439c --- /dev/null +++ b/config/polybar/pwidgets/workspace.ini @@ -0,0 +1,407 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/pwidgets/colors.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = true + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 230 +height = 60 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0 +offset-y = 0 + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.bg} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.fg} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 20.0 +radius-bottom = 20.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 2 +line-color = ${color.ac} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-bottom-size = 0 +border-color = ${color.ac} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:size=18;5" +font-1 = "Iosevka Nerd Font:size=12;2" +font-2 = "Iosevka Nerd Font:bold:size=24;2" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/primary] +inherit = bar/main +offset-x = 25 +offset-y = 25 + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-center = workspaces +enable-ipc = true + +[bar/secondary] +inherit = bar/main +offset-x = 25 +offset-y = 75 +background = ${color.trans} +foreground = ${color.white} + +padding = 1 +module-margin-left = 0 +module-margin-right = 0 + +modules-left = name sep title +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +pin-workspaces = true +enable-click = true +enable-scroll = true + +;icon-0 = 1; +;icon-1 = 2; +;icon-2 = 3; +;icon-3 = 4; +;icon-4 = 5; +icon-default = " " + +format = <label-state> +format-padding = 0 + +label-active = " " +label-active-foreground = ${color.pink} +label-active-background = ${color.bg} + +label-occupied = " " +label-occupied-foreground = ${color.blue} +label-occupied-background = ${color.bg} + +label-urgent = " " +label-urgent-foreground = ${color.red} +label-urgent-background = ${color.bg} + +label-empty = " " +label-empty-foreground = ${color.gray} +label-empty-background = ${color.bg} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/name] +type = internal/xworkspaces + +format = <label-state> +format-foreground = ${color.fg} +format-font = 3 +format-padding = 0 + +label-active = "%name%" + +label-occupied = +label-urgent = +label-empty = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +format = <label> +format-foreground = ${color.fg} +format-font = 2 + +label = %title% +label-maxlen = 20 +label-empty = Desktop + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " +content-font = 2 + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +[module/sep2] +type = custom/text +content = " " + +;;content-background = #000 +content-foreground = ${color.fg} +;;content-padding = 4 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/bars.ini b/config/polybar/shades/bars.ini new file mode 100644 index 0000000..738e9da --- /dev/null +++ b/config/polybar/shades/bars.ini @@ -0,0 +1,522 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = 絛 +empty = 絛 +indicator = 雷 +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> +format-volume-background = ${color.shade6} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade6} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " +format-charging-background = ${color.shade1} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " +format-discharging-background = ${color.shade1} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.shade1} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = "Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " +format-background = ${color.shade2} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " +format-mounted-background = ${color.shade4} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " +format-unmounted-background = ${color.shade4} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " +format-background = ${color.shade3} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = ﱘ +format-online-background = ${color.shade5} +format-online-padding = 2 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ +format-offline-background = ${color.shade5} +format-offline-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = 喇 +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/colors.ini b/config/polybar/shades/colors.ini new file mode 100644 index 0000000..3e45ca9 --- /dev/null +++ b/config/polybar/shades/colors.ini @@ -0,0 +1,29 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #1F1F1F +foreground = #FFFFFF +foreground-alt = #8F8F8F + +;; shades +shade1 = #0D47A1 +shade2 = #1565C0 +shade3 = #1976D2 +shade4 = #1E88E5 +shade5 = #2196F3 +shade6 = #42A5F5 +shade7 = #64B5F6 +shade8 = #90CAF9 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/config.ini b/config/polybar/shades/config.ini new file mode 100644 index 0000000..2f5a1bf --- /dev/null +++ b/config/polybar/shades/config.ini @@ -0,0 +1,293 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/shades/bars.ini +include-file = ~/.config/polybar/shades/colors.ini +include-file = ~/.config/polybar/shades/modules.ini +include-file = ~/.config/polybar/shades/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 98% +height = 36 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 1% +offset-y = 2% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Fantasque Sans Mono:pixelsize=12;3" +font-1 = "Iosevka Nerd Font:pixelsize=14;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher workspaces google github reddit gmail twitter +modules-center = +modules-right = mpd updates alsa battery network date sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/launch.sh b/config/polybar/shades/launch.sh new file mode 100755 index 0000000..1e83ccb --- /dev/null +++ b/config/polybar/shades/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/shades" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/shades/modules.ini b/config/polybar/shades/modules.ini new file mode 100644 index 0000000..aaaa373 --- /dev/null +++ b/config/polybar/shades/modules.ini @@ -0,0 +1,1116 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade6} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade6} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> +format-background = ${color.shade2} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> <label-charging> +format-charging-background = ${color.shade5} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-background = ${color.shade5} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = +format-full-background = ${color.shade5} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = " Full" + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = +ramp-capacity-5 = +ramp-capacity-6 = +ramp-capacity-7 = +ramp-capacity-8 = +ramp-capacity-9 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = +animation-charging-5 = +animation-charging-6 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-background = ${color.shade3} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%%" + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p" + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y" + +; Available tags: +; <label> (default) +format = <label> +format-background = ${color.shade3} +format-padding = 2 + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-background = ${color.shade5} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-background = ${color.shade5} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-background = ${color.shade4} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used%" + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <toggle> <label-song> +;format-online-prefix = ﱘ +format-online-background = ${color.shade8} +format-online-foreground = #2E2E2E +format-online-padding = 2 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ +format-offline-background = ${color.shade8} +format-offline-foreground = #2E2E2E +format-offline-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = "%artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = 喇 +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <ramp-signal> <label-connected> +format-connected-background = ${color.shade4} +format-connected-padding = 2 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = 睊 +format-disconnected-background = ${color.shade4} +format-disconnected-padding = 2 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%essid%%{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline%{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = 直 +ramp-signal-1 = 直 +ramp-signal-2 = 直 + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade3} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade3} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> +format-background = ${color.shade6} +format-padding = 2 + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> +format-warn-background = ${color.shade6} +format-warn-foreground = ${color.background} +format-warn-padding = 2 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = %temperature-c% + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c%" + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = +format-background = ${color.shade4} +format-padding = 2 + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +format-prefix = +format-background = ${color.shade2} +format-padding = 2 + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +;;label-empty = Arch Linux + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> +format-padding = 1 +format-background = ${color.shade2} + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = +label-active-foreground = ${color.foreground} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = +label-occupied-foreground = ${color.foreground} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = +label-urgent-foreground = ${color.background} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/preview.ini b/config/polybar/shades/preview.ini new file mode 100644 index 0000000..4d264d2 --- /dev/null +++ b/config/polybar/shades/preview.ini @@ -0,0 +1,312 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/shades/bars.ini +include-file = ~/.config/polybar/shades/colors.ini +include-file = ~/.config/polybar/shades/modules.ini +include-file = ~/.config/polybar/shades/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 98% +height = 36 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 1% +offset-y = 2% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Fantasque Sans Mono:pixelsize=12;3" +font-1 = "Iosevka Nerd Font:pixelsize=14;4" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +modules-left = launcher workspaces google github reddit gmail twitter +modules-right = mpd updates alsa battery network date sysmenu +enable-ipc = true + +[bar/mid] +offset-y = 66 +inherit = bar/main +modules-center = battery_bar cpu_bar memory_bar filesystem_bar mpd_bar volume brightness +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 110 +modules-left = menu title cpu memory filesystem temperature +modules-right = color-switch keyboard pulseaudio backlight powermenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shades/preview.sh b/config/polybar/shades/preview.sh new file mode 100755 index 0000000..894e441 --- /dev/null +++ b/config/polybar/shades/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/shades" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/shades/scripts/checkupdates b/config/polybar/shades/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/shades/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/shades/scripts/color-switch.sh b/config/polybar/shades/scripts/color-switch.sh new file mode 100755 index 0000000..1ee69f8 --- /dev/null +++ b/config/polybar/shades/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/shades/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ +♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ +♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ +♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ +♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ +♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/shades/scripts/colors-dark.sh b/config/polybar/shades/scripts/colors-dark.sh new file mode 100755 index 0000000..1eae896 --- /dev/null +++ b/config/polybar/shades/scripts/colors-dark.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shades/colors.ini" +RFILE="$HOME/.config/polybar/shades/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #1F1F1F/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #8F8F8F/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #1F1F1FFF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + bg4: ${SH5}FF; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/shades/scripts/colors-light.sh b/config/polybar/shades/scripts/colors-light.sh new file mode 100755 index 0000000..c24eb6d --- /dev/null +++ b/config/polybar/shades/scripts/colors-light.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shades/colors.ini" +RFILE="$HOME/.config/polybar/shades/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #656565/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + bg4: ${SH5}FF; + fg: #2E2E2EFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/shades/scripts/launcher.sh b/config/polybar/shades/scripts/launcher.sh new file mode 100755 index 0000000..da98d41 --- /dev/null +++ b/config/polybar/shades/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/shades/scripts/rofi/launcher.rasi diff --git a/config/polybar/shades/scripts/powermenu.sh b/config/polybar/shades/scripts/powermenu.sh new file mode 100755 index 0000000..370115e --- /dev/null +++ b/config/polybar/shades/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/shades/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/shades/scripts/pywal.sh b/config/polybar/shades/scripts/pywal.sh new file mode 100755 index 0000000..4726fe9 --- /dev/null +++ b/config/polybar/shades/scripts/pywal.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shades/colors.ini" +RFILE="$HOME/.config/polybar/shades/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + bg4: ${SH5}FF; + fg: ${FG}FF; + } + EOF + + polybar-msg cmd restart +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + FGA=`printf "%s\n" "$color8"` + SH1=`printf "%s\n" "$color1"` + SH2=`printf "%s\n" "$color2"` + SH3=`printf "%s\n" "$color1"` + SH4=`printf "%s\n" "$color2"` + SH5=`printf "%s\n" "$color1"` + SH6=`printf "%s\n" "$color2"` + SH7=`printf "%s\n" "$color1"` + SH8=`printf "%s\n" "$color7"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/shades/scripts/random.sh b/config/polybar/shades/scripts/random.sh new file mode 100755 index 0000000..ad85004 --- /dev/null +++ b/config/polybar/shades/scripts/random.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shades/colors.ini" +RFILE="$HOME/.config/polybar/shades/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + bg4: ${SH5}FF; + fg: ${FG}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +# Main +BG='#1f1f1f' # change to light bg +FG='#FFFFFF' # change to dark fg +FGA='#656565' # change to gray fg +SH1=`get_random_color` +SH2=`get_random_color` +SH3=`get_random_color` +SH4=`get_random_color` +SH5=`get_random_color` +SH6=`get_random_color` +SH7=`get_random_color` +SH8=`get_random_color` + +change_color diff --git a/config/polybar/shades/scripts/rofi/colors.rasi b/config/polybar/shades/scripts/rofi/colors.rasi new file mode 100644 index 0000000..48250a4 --- /dev/null +++ b/config/polybar/shades/scripts/rofi/colors.rasi @@ -0,0 +1,11 @@ +/* colors */ + +* { + al: #00000000; + bg: #1F1F1FFF; + bg1: #1565C0FF; + bg2: #1976D2FF; + bg3: #1E88E5FF; + bg4: #2196F3FF; + fg: #FFFFFFFF; +} diff --git a/config/polybar/shades/scripts/rofi/confirm.rasi b/config/polybar/shades/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..a4902de --- /dev/null +++ b/config/polybar/shades/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 225px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @bg1; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg1; +} diff --git a/config/polybar/shades/scripts/rofi/launcher.rasi b/config/polybar/shades/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..a0b3ad4 --- /dev/null +++ b/config/polybar/shades/scripts/rofi/launcher.rasi @@ -0,0 +1,120 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 550px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg1; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 12px 10px 10px 10px; + margin: 0px 250px 0px 0px; + border-radius: 0px 50px 50px 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg3; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 2; + lines: 7; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg4; + text-color: @bg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/shades/scripts/rofi/message.rasi b/config/polybar/shades/scripts/rofi/message.rasi new file mode 100644 index 0000000..d27bd59 --- /dev/null +++ b/config/polybar/shades/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Fantasque Sans Mono 10"; +} + +window { + width: 320px; + padding: 25px; + border: 1px; + border-radius: 0px; + border-color: @bg1; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg2; +} diff --git a/config/polybar/shades/scripts/rofi/networkmenu.rasi b/config/polybar/shades/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..dbbd026 --- /dev/null +++ b/config/polybar/shades/scripts/rofi/networkmenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg2; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + str: "直"; +} + +entry { + background-color: @bg3; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 12px 10px 10px 10px; + margin: 0px 250px 0px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/shades/scripts/rofi/powermenu.rasi b/config/polybar/shades/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..6e61be3 --- /dev/null +++ b/config/polybar/shades/scripts/rofi/powermenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg2; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + str: ""; +} + +entry { + background-color: @bg3; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 12px 10px 10px 10px; + margin: 0px 250px 0px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/shades/scripts/rofi/styles.rasi b/config/polybar/shades/scripts/rofi/styles.rasi new file mode 100644 index 0000000..817875f --- /dev/null +++ b/config/polybar/shades/scripts/rofi/styles.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Fantasque Sans Mono 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 0px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg1; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 12px 10px 10px 10px; + margin: 0px 0px 0px 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 0px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -16px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px; + border-radius: 0px; + border-color: @bg; +} diff --git a/config/polybar/shades/scripts/updates.sh b/config/polybar/shades/scripts/updates.sh new file mode 100755 index 0000000..14984ce --- /dev/null +++ b/config/polybar/shades/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/shades/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/shades/user_modules.ini b/config/polybar/shades/user_modules.ini new file mode 100644 index 0000000..4451dc1 --- /dev/null +++ b/config/polybar/shades/user_modules.ini @@ -0,0 +1,236 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/shades/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %output% +; Default: %output% +label = %output% + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = + +; "content" has the same properties as "format-NAME" +content-background = ${color.shade1} +content-foreground = ${color.foreground} +content-padding = 2 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/shades/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/shades/scripts/launcher-full +click-right = ~/.config/polybar/shades/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/shades/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/shades/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = 襤 + +content-background = ${color.shade2} +content-foreground = ${color.foreground} +content-padding = 2 + +click-left = ~/.config/polybar/shades/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = + +content-background = ${color.background} +content-foreground = ${color.shade8} +content-padding = 2 + +click-left = ~/.config/polybar/shades/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/links] +type = custom/text +content-foreground = ${color.foreground-alt} +content-padding = 2 + +[module/google] +inherit = module/links +content = +click-left = exo-open https://www.google.com/ & + +[module/github] +inherit = module/links +content = +click-left = exo-open https://www.github.com/ & + +[module/reddit] +inherit = module/links +content = +click-left = exo-open https://www.reddit.com/ & + +[module/gmail] +inherit = module/links +content = +click-left = exo-open https://mail.google.com/ & + +[module/twitter] +inherit = module/links +content = +click-left = exo-open https://www.twitter.com/ & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.shade1} +format-foreground = ${color.foreground} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/shades/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.shade1} +format-foreground = ${color.foreground} +format-padding = 2 + +label-open = +label-close = + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/bars.ini b/config/polybar/shapes/bars.ini new file mode 100644 index 0000000..13391c0 --- /dev/null +++ b/config/polybar/shapes/bars.ini @@ -0,0 +1,522 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = +empty = +indicator = ⏽ +; Nerd font : , ⏽, 樂 籠 錄 , 雷 絛 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <bar-volume> +format-volume-background = ${color.shade1} +format-volume-padding = 2 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade1} +format-muted-padding = 2 + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% + +; Available tokens: +; %percentage% (default +label-muted = " Muted" +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +; Only applies if <bar-volume> is used +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.foreground} + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <bar> +format-background = ${color.shade2} +format-padding = 2 + +; Available tokens: +; %percentage% (default) +label = %percentage%% + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +; Only applies if <bar> is used +bar-width = 10 +bar-gradient = false + +bar-indicator = ${bar.indicator} +bar-indicator-foreground = ${color.foreground} + +bar-fill = ${bar.fill} +bar-foreground-0 = ${color.foreground} +bar-foreground-1 = ${color.foreground} +bar-foreground-2 = ${color.foreground} + +bar-empty = ${bar.empty} +bar-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery_bar] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <bar-capacity> +format-charging-prefix = " " +format-charging-background = ${color.shade3} +format-charging-padding = 2 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <bar-capacity> +format-discharging-prefix = " " +format-discharging-background = ${color.shade3} +format-discharging-padding = 2 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = " " +format-full-background = ${color.shade3} +format-full-padding = 2 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) + +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = %percentage%% + +; Available tokens: +; %percentage% (default) +label-full = "Full" + +; Only applies if <bar-capacity> is used +bar-capacity-width = 10 +bar-capacity-gradient = false + +bar-capacity-indicator = ${bar.indicator} +bar-capacity-indicator-foreground = ${color.foreground} + +bar-capacity-fill = ${bar.fill} +bar-capacity-foreground-0 = ${color.foreground} +bar-capacity-foreground-1 = ${color.foreground} +bar-capacity-foreground-2 = ${color.foreground} + +bar-capacity-empty = ${bar.empty} +bar-capacity-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu_bar] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <bar-load> <label> +format-prefix = " " +format-background = ${color.shade7} +format-padding = 2 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = "%percentage%%" + +; Only applies if <bar-load> is used +bar-load-width = 10 +bar-load-gradient = false + +bar-load-indicator = ${bar.indicator} +bar-load-indicator-foreground = ${color.foreground} + +bar-load-fill = ${bar.fill} +bar-load-foreground-0 = ${color.foreground} +bar-load-foreground-1 = ${color.foreground} +bar-load-foreground-2 = ${color.foreground} + +bar-load-empty = ${bar.empty} +bar-load-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem_bar] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <bar-used> <label-mounted> +format-mounted-prefix = " " +format-mounted-background = ${color.shade5} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = " " +format-unmounted-background = ${color.shade5} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = %used%/%total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = "%mountpoint%: not mounted" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory_bar] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <bar-used> <label> +format-prefix = " " +format-background = ${color.shade6} +format-padding = 2 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = "%mb_used%" + +; Only applies if <bar-used> is used +bar-used-width = 10 +bar-used-gradient = false + +bar-used-indicator = ${bar.indicator} +bar-used-indicator-foreground = ${color.foreground} + +bar-used-fill = ${bar.fill} +bar-used-foreground-0 = ${color.foreground} +bar-used-foreground-1 = ${color.foreground} +bar-used-foreground-2 = ${color.foreground} + +bar-used-empty = ${bar.empty} +bar-used-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd_bar] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <bar-progress> <label-time> +format-online-prefix = ﱘ +format-online-background = ${color.shade4} +format-online-padding = 2 + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = ﱘ +format-offline-background = ${color.shade4} +format-offline-padding = 2 + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = 喇 +icon-pause = +icon-stop = +icon-prev = +icon-next = +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +bar-progress-width = 10 +bar-progress-gradient = false + +bar-progress-indicator = ${bar.indicator} +bar-progress-indicator-foreground = ${color.foreground} + +bar-progress-fill = ${bar.fill} +bar-progress-foreground-0 = ${color.foreground} +bar-progress-foreground-1 = ${color.foreground} +bar-progress-foreground-2 = ${color.foreground} + +bar-progress-empty = ${bar.empty} +bar-progress-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/colors.ini b/config/polybar/shapes/colors.ini new file mode 100644 index 0000000..67db5bf --- /dev/null +++ b/config/polybar/shapes/colors.ini @@ -0,0 +1,29 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░░░█░█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[color] + +;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. + +;; main colors +background = #1F1F1F +foreground = #FFFFFF +foreground-alt = #FFFFFF + +;; shades +shade1 = #0D47A1 +shade2 = #1565C0 +shade3 = #1976D2 +shade4 = #1E88E5 +shade5 = #2196F3 +shade6 = #42A5F5 +shade7 = #64B5F6 +shade8 = #90CAF9 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/config.ini b/config/polybar/shapes/config.ini new file mode 100644 index 0000000..3bbe233 --- /dev/null +++ b/config/polybar/shapes/config.ini @@ -0,0 +1,294 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/shapes/bars.ini +include-file = ~/.config/polybar/shapes/colors.ini +include-file = ~/.config/polybar/shapes/glyphs.ini +include-file = ~/.config/polybar/shapes/modules.ini +include-file = ~/.config/polybar/shapes/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 32 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;3" +font-1 = "Iosevka Nerd Font:style=Medium:size=22;5" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +modules-left = launcher left1 title left2 +modules-center = workspaces sep mpd +modules-right = right7 color-switch right6 updates right5 alsa right4 battery right3 network right2 date right1 sysmenu + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/glyphs.ini b/config/polybar/shapes/glyphs.ini new file mode 100644 index 0000000..0f8cc07 --- /dev/null +++ b/config/polybar/shapes/glyphs.ini @@ -0,0 +1,79 @@ +;; ┌────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█░░░█░█░█▀█░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░░░░█░░█▀▀░█▀█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░░▀░░▀░░░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[glyph] +gleft = +gright = + +[module/left1] +type = custom/text +content-background = ${color.shade2} +content-foreground = ${color.shade1} +content = ${glyph.gleft} +content-font = 2 + +[module/left2] +type = custom/text +content-background = ${color.background} +content-foreground = ${color.shade2} +content = ${glyph.gleft} +content-font = 2 + +# ================================== + +[module/right1] +type = custom/text +content-background = ${color.shade2} +content-foreground = ${color.shade1} +content = ${glyph.gright} +content-font = 2 + +[module/right2] +type = custom/text +content-background = ${color.shade3} +content-foreground = ${color.shade2} +content = ${glyph.gright} +content-font = 2 + +[module/right3] +type = custom/text +content-background = ${color.shade4} +content-foreground = ${color.shade3} +content = ${glyph.gright} +content-font = 2 + +[module/right4] +type = custom/text +content-background = ${color.shade5} +content-foreground = ${color.shade4} +content = ${glyph.gright} +content-font = 2 + +[module/right5] +type = custom/text +content-background = ${color.shade6} +content-foreground = ${color.shade5} +content = ${glyph.gright} +content-font = 2 + +[module/right6] +type = custom/text +content-background = ${color.shade7} +content-foreground = ${color.shade6} +content = ${glyph.gright} +content-font = 2 + +[module/right7] +type = custom/text +content-background = ${color.background} +content-foreground = ${color.shade7} +content = ${glyph.gright} +content-font = 2 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/launch.sh b/config/polybar/shapes/launch.sh new file mode 100755 index 0000000..76e1ff2 --- /dev/null +++ b/config/polybar/shapes/launch.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Add this script to your wm startup file. + +DIR="$HOME/.config/polybar/shapes" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the bar +polybar -q main -c "$DIR"/config.ini & diff --git a/config/polybar/shapes/modules.ini b/config/polybar/shapes/modules.ini new file mode 100644 index 0000000..9fe4051 --- /dev/null +++ b/config/polybar/shapes/modules.ini @@ -0,0 +1,1105 @@ +;; ┌────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/alsa] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade5} +format-volume-padding = 1 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade5} +format-muted-padding = 1 + +; Available tokens: +; %percentage% (default) +label-volume = "%percentage%% " + +; Available tokens: +; %percentage% (default +label-muted = " Muted " +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +; If defined, it will replace <ramp-volume> when +; headphones are plugged in to `headphone_control_numid` +; If undefined, <ramp-volume> will be used for both +; Only applies if <ramp-volume> is used +ramp-headphones-0 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/backlight] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +; <label> (default) +; <ramp> +; <bar> +format = <ramp> <label> +format-background = ${color.shade2} +format-padding = 1 + +; Available tokens: +; %percentage% (default) +label = "%percentage%% " + +; Only applies if <ramp> is used +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ACAD + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 2 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; <label-charging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-charging> +format-charging = <animation-charging> <label-charging> +format-charging-background = ${color.shade4} +format-charging-padding = 1 + +; Available tags: +; <label-discharging> (default) +; <bar-capacity> +; <ramp-capacity> +; <animation-discharging> +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-background = ${color.shade4} +format-discharging-padding = 1 + +; Available tags: +; <label-full> (default) +; <bar-capacity> +; <ramp-capacity> +format-full = <label-full> +format-full-prefix = +format-full-background = ${color.shade4} +format-full-padding = 1 + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = "%percentage%% " + +; Available tokens: +; %percentage% (default) +; %time% +; %consumption% (shows current discharge rate in watts) +label-discharging = "%percentage%% " + +; Available tokens: +; %percentage% (default) +label-full = " Full " + +; Only applies if <ramp-capacity> is used +ramp-capacity-0 = +ramp-capacity-1 = +ramp-capacity-2 = +ramp-capacity-3 = +ramp-capacity-4 = + +; Only applies if <bar-capacity> is used +;bar-capacity-width = 10 + +; Only applies if <animation-charging> is used +animation-charging-0 = +animation-charging-1 = +animation-charging-2 = +animation-charging-3 = +animation-charging-4 = + +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if <animation-discharging> is used +;;animation-discharging-0 = ${battery.anim0} +;;animation-discharging-1 = ${battery.anim1} + +; Framerate in milliseconds +;animation-discharging-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/bspwm] +;;type = internal/bspwm + +; Only show workspaces defined on the same output as the bar +; NOTE: The bspwm and XRandR monitor names must match, which they do by default. +; Default: true +;;pin-workspaces = true + +; Output mode flags after focused state label +; Default: false +;;inline-mode = false + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; Note that the label needs to correspond with the bspwm workspace name +;;ws-icon-0 = code;♚ +;;ws-icon-1 = office;♛ +;;ws-icon-2 = graphics;♜ +;;ws-icon-3 = mail;♝ +;;ws-icon-4 = web;♞ +;;ws-icon-default = ♟ + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)> +; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)> +; Default: <label-state> +;;format = <label-state> <label-mode> + +; Available tokens: +; %name% +; Default: %name% +;;label-monitor = %name% + +; If any values for label-dimmed-N are defined, the workspace/mode +; colors will get overridden with those values if the monitor is out of focus +; To only override workspaces in a specific state, use: +; label-dimmed-focused +; label-dimmed-occupied +; label-dimmed-urgent +; label-dimmed-empty +;;label-dimmed-foreground = #555 +;;label-dimmed-underline = ${bar/top.background} +;;label-dimmed-focused-background = #f00 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-focused = %icon% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-occupied = %icon% +;;label-occupied-underline = #555555 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-urgent = %icon% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-underline = #9b0a20 + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +;;label-empty = %icon% +;;label-empty-foreground = #55 + +; The following labels will be used to indicate the layout/mode +; for the focused workspace. Requires <label-mode> +; +; Available tokens: +; None +;label-monocle = +;label-tiled = +;label-fullscreen = +;label-floating = +;label-pseudotiled = P +;label-locked = +;label-locked-foreground = #bd2c40 +;label-sticky = +;label-sticky-foreground = #fba922 +;label-private = +;label-private-foreground = #bd2c40 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/cpu] +type = internal/cpu + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-load> +; <ramp-load> +; <ramp-coreload> +;;format = <label> <ramp-coreload> +format = <label> +format-prefix = +format-background = ${color.shade6} +format-padding = 1 + +; Available tokens: +; %percentage% (default) - total cpu load averaged over all cores +; %percentage-sum% - Cumulative load on all cores +; %percentage-cores% - load percentage for each core +; %percentage-core[1-9]% - load percentage for specific core +label = " %percentage%% " + +; Spacing between individual per-core ramps +;;ramp-coreload-spacing = 1 +;;ramp-coreload-0 = ${cpu.load0} +;;ramp-coreload-1 = ${cpu.load1} + +;;ramp-load-0 = ${cpu.load0} +;;ramp-load-1 = ${cpu.load1} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/date] +type = internal/date + +; Seconds to sleep between updates +interval = 1.0 + +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +;;date = %Y-%m-%d% + +; Optional time format +time = " %I:%M %p " + +; if `date-alt` or `time-alt` is defined, clicking +; the module will toggle between formats +;;date-alt = %A, %d %B %Y +time-alt = " %a, %d %b %Y " + +; Available tags: +; <label> (default) +format = <label> +format-background = ${color.shade2} +format-padding = 1 + +; Available tokens: +; %date% +; %time% +; Default: %date% +label = %time% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/filesystem] +type = internal/fs + +; Mountpoints to display +mount-0 = / +;;mount-1 = /home +;;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = true + +; Spacing between entries +; Default: 2 +;;spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-prefix = +format-mounted-background = ${color.shade2} +format-mounted-padding = 2 + +; Available tags: +; <label-unmounted> (default) +format-unmounted = <label-unmounted> +format-unmounted-prefix = +format-unmounted-background = ${color.shade2} +format-unmounted-padding = 2 + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted = " %free%" + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted = " %mountpoint%: not mounted" + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/github] +;;type = internal/github + +; Accessing an access token stored in file +;;token = ${file:/path/to/file/containing/github/access.token} + +; Accessing an access token stored in an environment variable +;;token = ${env:GITHUB_ACCESS_TOKEN} + +; Whether empty notifications should be displayed or not +;;empty-notifications = false + +; Number of seconds in between requests +;;interval = 10 + +; Available tags: +; <label> (default) +;;format = <label> +;;format-prefix = + +; Available tokens: +; %notifications% (default) +; Default: Notifications: %notifications% +;;label = %notifications% + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;;[module/i3] +;;type = internal/i3 + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +;;pin-workspaces = true + +; This will split the workspace name on ':' +; Default: false +;;strip-wsnumbers = true + +; Sort the workspaces by index instead of the default +; sorting that groups the workspaces by output +; Default: false +;;index-sort = true + +; Create click handler used to focus workspace +; Default: true +;;enable-click = false + +; Create scroll handlers used to cycle workspaces +; Default: true +;;enable-scroll = false + +; Wrap around when reaching the first/last workspace +; Default: true +;;wrapping-scroll = false + +; Set the scroll cycle direction +; Default: true +;;reverse-scroll = false + +; Use fuzzy (partial) matching on labels when assigning +; icons to workspaces +; Example: code;♚ will apply the icon to all workspaces +; containing 'code' in the label +; Default: false +;;fuzzy-match = true + +; ws-icon-[0-9]+ = label;icon +; NOTE: The label needs to match the name of the i3 workspace +;;ws-icon-0 = 1;♚ +;;ws-icon-1 = 2;♛ +;;ws-icon-2 = 3;♜ +;;ws-icon-3 = 4;♝ +;;ws-icon-4 = 5;♞ +;;ws-icon-default = ♟ +; NOTE: You cannot skip icons, e.g. to get a ws-icon-6 +; you must also define a ws-icon-5. + +; Available tags: +; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)> +; <label-mode> (default) +;;format = <label-state> <label-mode> + +; Available tokens: +; %mode% +; Default: %mode% +;;label-mode = %mode% +;;label-mode-padding = 2 +;;label-mode-background = #e60053 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-focused = %index% +;;label-focused-foreground = #ffffff +;;label-focused-background = #3f3f3f +;;label-focused-underline = #fba922 +;;label-focused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-unfocused = %index% +;;label-unfocused-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-visible = %index% +;;label-visible-underline = #555555 +;;label-visible-padding = 4 + +; Available tokens: +; %name% +; %icon% +; %index% +; %output% +; Default: %icon% %name% +;;label-urgent = %index% +;;label-urgent-foreground = #000000 +;;label-urgent-background = #bd2c40 +;;label-urgent-padding = 4 + +; Separator in between workspaces +;;label-separator = | +;;label-separator-padding = 2 +;;label-separator-foreground = #ffb52a + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/memory] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 1 + +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +format = <label> +format-prefix = +format-background = ${color.shade5} +format-padding = 1 + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %mb_used% " + +; Only applies if <ramp-used> is used +;;ramp-used-0 = ${memory.used0} +;;ramp-used-1 = ${memory.used1} +;;ramp-used-2 = ${memory.used2} + +; Only applies if <ramp-free> is used +;;ramp-free-0 = ${memory.free0} +;;ramp-free-1 = ${memory.free1} +;;ramp-free-2 = ${memory.free2} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/mpd] +type = internal/mpd + +; Host where mpd is running (either ip or domain name) +; Can also be the full path to a unix socket where mpd is running. +;;host = 127.0.0.1 +;;port = 6600 +;;password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +; Available tags: +; <label-song> (default) +; <label-time> +; <bar-progress> +; <toggle> - gets replaced with <icon-(pause|play)> +; <toggle-stop> - gets replaced with <icon-(stop|play)> +; <icon-random> +; <icon-repeat> +; <icon-repeatone> (deprecated) +; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone> +; <icon-consume> +; <icon-prev> +; <icon-stop> +; <icon-play> +; <icon-pause> +; <icon-next> +; <icon-seekb> +; <icon-seekf> +format-online = <label-song> <icon-prev> <toggle> <icon-next> +format-online-prefix = +format-online-foreground = ${color.foreground-alt} + +;format-playing = ${self.format-online} +;format-paused = ${self.format-online} +;format-stopped = ${self.format-online} + +; Available tags: +; <label-offline> +format-offline = <label-offline> +format-offline-prefix = +format-offline-foreground = ${color.foreground-alt} + +; Available tokens: +; %artist% +; %album-artist% +; %album% +; %date% +; %title% +; Default: %artist% - %title% +label-song = " %artist% - %title%" +label-song-maxlen = 25 +label-song-ellipsis = true + +; Available tokens: +; %elapsed% +; %total% +; Default: %elapsed% / %total% +label-time = %elapsed% / %total% + +; Available tokens: +; None +label-offline = " Offline" + +; Only applies if <icon-X> is used +icon-play = 契 +icon-pause = +icon-stop = 栗 +icon-prev = 玲 +icon-next = 怜 +icon-seekb = +icon-seekf = +icon-random = +icon-repeat = +icon-repeatone = +icon-single = +icon-consume = + +; Used to display the state of random/repeat/repeatone/single +; Only applies if <icon-[random|repeat|repeatone|single]> is used +toggle-on-foreground = ${color.foreground} +toggle-off-foreground = ${color.background} + +; Only applies if <bar-progress> is used +;;bar-progress-width = 45 +;;bar-progress-indicator = | +;;bar-progress-fill = ─ +;;bar-progress-empty = ─ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; If you use both a wired and a wireless network, just add 2 module definitions. For example +[module/wired-network] +type = internal/network +interface = eth0 + +[module/wireless-network] +type = internal/network +interface = wlp3s0 + +; Normal Module +[module/network] +type = internal/network +interface = wlan0 + +; Seconds to sleep between updates +; Default: 1 +interval = 1.0 + +; Test connectivity every Nth update +; A value of 0 disables the feature +; NOTE: Experimental (needs more testing) +; Default: 0 +;ping-interval = 3 + +; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) +; Minimum output width of upload/download rate +; Default: 3 +;;udspeed-minwidth = 5 + +; Accumulate values from all interfaces +; when querying for up/downspeed rate +; Default: false +accumulate-stats = true + +; Consider an `UNKNOWN` interface state as up. +; Some devices have an unknown state, even when they're running +; Default: false +unknown-as-up = true + +; Available tags: +; <label-connected> (default) +; <ramp-signal> +format-connected = <ramp-signal> <label-connected> +format-connected-background = ${color.shade3} +format-connected-padding = 1 + +; Available tags: +; <label-disconnected> (default) +format-disconnected = <label-disconnected> +format-disconnected-prefix = ﲁ +format-disconnected-background = ${color.shade3} +format-disconnected-padding = 1 + +; Available tags: +; <label-connected> (default) +; <label-packetloss> +; <animation-packetloss> +;;format-packetloss = <animation-packetloss> <label-connected> + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: %ifname% %local_ip% +label-connected = "%{A1:networkmanager_dmenu &:}%essid% %{A}" + +; Available tokens: +; %ifname% [wireless+wired] +; Default: (none) +label-disconnected = "%{A1:networkmanager_dmenu &:} Offline %{A}" +;;label-disconnected-foreground = #66ffffff + +; Available tokens: +; %ifname% [wireless+wired] +; %local_ip% [wireless+wired] +; %local_ip6% [wireless+wired] +; %essid% [wireless] +; %signal% [wireless] +; %upspeed% [wireless+wired] +; %downspeed% [wireless+wired] +; %linkspeed% [wired] +; Default: (none) +;label-packetloss = %essid% +;label-packetloss-foreground = #eefafafa + +; Only applies if <ramp-signal> is used +ramp-signal-0 = 說 +ramp-signal-1 = 說 +ramp-signal-2 = 說 + +; Only applies if <animation-packetloss> is used +;;animation-packetloss-0 = ⚠ +;;animation-packetloss-0-foreground = #ffa64c +;;animation-packetloss-1 = ⚠ +;;animation-packetloss-1-foreground = #000000 +; Framerate in milliseconds +;;animation-packetloss-framerate = 500 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/pulseaudio] +type = internal/pulseaudio + +; Sink to be used, if it exists (find using `pacmd list-sinks`, name field) +; If not, uses default sink +sink = alsa_output.pci-0000_03_00.6.analog-stereo + +; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false +; Default: true +use-ui-max = false + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; <label-volume> (default) +; <ramp-volume> +; <bar-volume> +format-volume = <ramp-volume> <label-volume> +format-volume-background = ${color.shade3} +format-volume-padding = 1 + +; Available tags: +; <label-muted> (default) +; <ramp-volume> +; <bar-volume> +format-muted = <label-muted> +format-muted-prefix = 婢 +format-muted-background = ${color.shade3} +format-muted-padding = 1 + +; Available tokens: +; %percentage% (default) +label-volume = "%percentage%% " + +; Available tokens: +; %percentage% (default +label-muted = " Muted " +label-muted-foreground = ${color.foreground} + +; Only applies if <ramp-volume> is used +ramp-volume-0 = 奄 +ramp-volume-1 = 奔 +ramp-volume-2 = 墳 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/temperature] +type = internal/temperature + +; Seconds to sleep between updates +; Default: 1 +interval = 0.5 + +; Thermal zone to use +; To list all the zone types, run +; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done +; Default: 0 +thermal-zone = 0 + +; Full path of temperature sysfs path +; Use `sensors` to find preferred temperature source, then run +; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done +; to find path to desired file +; Default reverts to thermal zone setting +;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input +hwmon-path = /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/hwmon/hwmon0/temp1_input + +; Threshold temperature to display warning label (in degrees celsius) +; Default: 80 +warn-temperature = 65 + +; Whether or not to show units next to the temperature tokens (°C, °F) +; Default: true +units = true + +; Available tags: +; <label> (default) +; <ramp> +format = <ramp> <label> +format-background = ${color.shade4} +format-padding = 1 + +; Available tags: +; <label-warn> (default) +; <ramp> +format-warn = <ramp> <label-warn> +format-warn-background = ${color.shade4} +format-warn-foreground = ${color.background} +format-warn-padding = 1 + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label = "%temperature-c% " + +; Available tokens: +; %temperature% (deprecated) +; %temperature-c% (default, temperature in °C) +; %temperature-f% (temperature in °F) +label-warn = "%temperature-c% " + +; Requires the <ramp> tag +; The icon selection will range from 0 to `warn-temperature` +; with the current temperature as index. +ramp-0 = +ramp-1 = +ramp-2 = +ramp-3 = +ramp-4 = + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/keyboard] +type = internal/xkeyboard + +; List of indicators to ignore +blacklist-0 = num lock +blacklist-1 = scroll lock + +; Available tags: +; <label-layout> (default) +; <label-indicator> (default) +format = <label-layout> <label-indicator> +format-prefix = +format-background = ${color.shade7} +format-padding = 1 + +; Available tokens: +; %layout% +; %name% +; %number% +; Default: %layout% +label-layout = " %layout%" + +; Available tokens: +; %name% +; Default: %name% +label-indicator-on = %name% +label-indicator-on-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/title] +type = internal/xwindow + +; Available tags: +; <label> (default) +format = <label> +;format-prefix = +format-background = ${color.shade2} +format-padding = 1 + +; Available tokens: +; %title% +; Default: %title% +label = " %title%" +label-maxlen = 30 + +; Used instead of label when there is no window title +label-empty = " Desktop" +label-empty-foreground = ${color.foreground} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/workspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = true + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = true + +; icon-[0-9]+ = <desktop-name>;<icon> +; NOTE: The desktop name needs to match the name configured by the WM +; You can get a list of the defined desktops using: +; $ xprop -root _NET_DESKTOP_NAMES +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-default = + + +; Available tags: +; <label-monitor> +; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)> +; Default: <label-state> +format = <label-state> + +; Available tokens: +; %name% +; Default: %name% +label-monitor = %name% + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-active = +label-active-foreground = ${color.foreground-alt} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-occupied = +label-occupied-foreground = ${color.foreground-alt} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-urgent = +label-urgent-foreground = ${color.shade2} + +; Available tokens: +; %name% +; %icon% +; %index% +; Default: %icon% %name% +label-empty = +label-empty-foreground = ${color.foreground-alt} + +label-active-padding = 1 +label-urgent-padding = 1 +label-occupied-padding = 1 +label-empty-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/preview.ini b/config/polybar/shapes/preview.ini new file mode 100644 index 0000000..6155ef7 --- /dev/null +++ b/config/polybar/shapes/preview.ini @@ -0,0 +1,315 @@ +;; ┌────────────────────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀█░█▀▄░█▀▀░█░█░▀█▀░█▀▀░█░█░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▀░█▀▄░█▀▀░▀▄▀░░█░░█▀▀░█▄█░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Global WM Settings + +[global/wm] +; Adjust the _NET_WM_STRUT_PARTIAL top value +; Used for top aligned bars +margin-bottom = 0 + +; Adjust the _NET_WM_STRUT_PARTIAL bottom value +; Used for bottom aligned bars +margin-top = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; File Inclusion +; include an external file, like module file, etc. + +include-file = ~/.config/polybar/shapes/bars.ini +include-file = ~/.config/polybar/shapes/colors.ini +include-file = ~/.config/polybar/shapes/glyphs.ini +include-file = ~/.config/polybar/shapes/modules.ini +include-file = ~/.config/polybar/shapes/user_modules.ini + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Bar Settings + +[bar/main] +; Use either of the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ polybar -m | cut -d ':' -f 1 +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = + +; Require the monitor to be in connected state +; XRandR sometimes reports my monitor as being disconnected (when in use) +monitor-strict = false + +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +; Put the bar at the bottom of the screen +bottom = false + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks. +fixed-center = true + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in a width or height of 50% minus 10 pixels +width = 100% +height = 32 + +; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +; the percentage can optionally be extended with a pixel offset like so: +; 50%:-10, this will result in an offset in the x or y direction +; of 50% minus 10 pixels +offset-x = 0% +offset-y = 0% + +; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) +background = ${color.background} + +; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${color.foreground} + +; Background gradient (vertical steps) +; background-[0-9]+ = #aarrggbb +;;background-0 = + +; Value used for drawing rounded corners +; Note: This shouldn't be used together with border-size because the border +; doesn't get rounded +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius-top = 0.0 +radius-bottom = 0.0 + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +underline-size = 2 +underline-color = ${color.foreground} + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +; The top and bottom borders are added to the bar height, so the effective +; window height is: +; height + border-top-size + border-bottom-size +; Meanwhile the effective window width is defined entirely by the width key and +; the border is placed withing this area. So you effectively only have the +; following horizontal space on the bar: +; width - border-right-size - border-left-size +border-size = 0 +border-color = ${color.background} + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding = 0 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 0 +module-margin-right = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details + +font-0 = "Iosevka Nerd Font:pixelsize=10;3" +font-1 = "Iosevka Nerd Font:style=Medium:size=22;5" + +; Modules are added to one of the available blocks +; modules-left = cpu ram +; modules-center = xwindow xbacklight +; modules-right = ipc clock + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar/top] +inherit = bar/main +offset-y = 10 +modules-left = launcher left1 title left2 +modules-center = workspaces sep mpd +modules-right = right7 color-switch right6 updates right5 alsa right4 battery right3 network right2 date right1 sysmenu +enable-ipc = true + +[bar/mid] +offset-y = 52 +inherit = bar/main +modules-left = volume left1 brightness left2 +modules-right = right7 cpu_bar right6 memory_bar right5 filesystem_bar right4 mpd_bar right3 battery_bar +enable-ipc = true + +[bar/bottom] +inherit = bar/main +offset-y = 94 +modules-left = menu left1 filesystem left2 +modules-center = google github reddit gmail twitter +modules-right = right7 keyboard right6 cpu right5 memory right4 temperature right3 pulseaudio right2 backlight right1 powermenu +enable-ipc = true + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +; The separator will be inserted between the output of each module +separator = + +; Opacity value between 0.0 and 1.0 used on fade in/out +dim-value = 1.0 + +; Value to be used to set the WM_NAME atom +; If the value is empty or undefined, the atom value +; will be created from the following template: polybar-[BAR]_[MONITOR] +; NOTE: The placeholders are not available for custom values +wm-name = + +; Locale used to localize various module data (e.g. date) +; Expects a valid libc locale, for example: sv_SE.UTF-8 +locale = + +; Position of the system tray window +; If empty or undefined, tray support will be disabled +; NOTE: A center aligned tray will cover center aligned modules +; +; Available positions: +; left +; center +; right +; none +tray-position = none + +; If true, the bar will not shift its +; contents when the tray changes +tray-detached = false + +; Tray icon max size +tray-maxsize = 16 + +; Background color for the tray container +; ARGB color (e.g. #f00, #ff992a, #ddff1023) +; By default the tray container will use the bar +; background color. +tray-background = ${color.background} + +; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) +tray-offset-x = 0 +tray-offset-y = 0 + +; Pad the sides of each tray icon +tray-padding = 0 + +; Scale factor for tray clients +tray-scale = 1.0 + +; Restack the bar window and put it above the +; selected window manager's root +; +; Fixes the issue where the bar is being drawn +; on top of fullscreen window's +; +; Currently supported WM's: +; bspwm +; i3 (requires: `override-redirect = true`) +;;wm-restack = + +; Set a DPI values used when rendering text +; This only affects scalable fonts +; dpi = + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +;enable-ipc = true + +; Fallback click handlers that will be called if +; there's no matching module handler found. +click-left = +click-middle = +click-right = +scroll-up = +scroll-down = +double-click-left = +double-click-middle = +double-click-right = + +; Requires polybar to be built with xcursor support (xcb-util-cursor) +; Possible values are: +; - default : The default pointer as before, can also be an empty string (default) +; - pointer : Typically in the form of a hand +; - ns-resize : Up and down arrows, can be used to indicate scrolling +cursor-click = +cursor-scroll = + +;; WM Workspace Specific + +; bspwm +;;scroll-up = bspwm-desknext +;;scroll-down = bspwm-deskprev +;;scroll-up = bspc desktop -f prev.local +;;scroll-down = bspc desktop -f next.local + +;i3 +;;scroll-up = i3wm-wsnext +;;scroll-down = i3wm-wsprev +;;scroll-up = i3-msg workspace next_on_output +;;scroll-down = i3-msg workspace prev_on_output + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +;; Application Settings + +[settings] +; The throttle settings lets the eventloop swallow up til X events +; if they happen within Y millisecond after first event was received. +; This is done to prevent flood of update event. +; +; For example if 5 modules emit an update event at the same time, we really +; just care about the last one. But if we wait too long for events to swallow +; the bar would appear sluggish so we continue if timeout +; expires or limit is reached. +throttle-output = 5 +throttle-output-for = 10 + +; Time in milliseconds that the input handler will wait between processing events +;throttle-input-for = 30 + +; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events +screenchange-reload = false + +; Compositing operators +; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t +compositing-background = source +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +;format-foreground = +;format-background = +;format-underline = +;format-overline = +;format-spacing = +;format-padding = +;format-margin = +;format-offset = + +; Enables pseudo-transparency for the bar +; If set to true the bar can be transparent without a compositor. +pseudo-transparency = false + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/config/polybar/shapes/preview.sh b/config/polybar/shapes/preview.sh new file mode 100755 index 0000000..99bf7ee --- /dev/null +++ b/config/polybar/shapes/preview.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +DIR="$HOME/.config/polybar/shapes" + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch the preview bar +polybar -q top -c "$DIR"/preview.ini & +polybar -q mid -c "$DIR"/preview.ini & +polybar -q bottom -c "$DIR"/preview.ini & diff --git a/config/polybar/shapes/scripts/checkupdates b/config/polybar/shapes/scripts/checkupdates new file mode 100755 index 0000000..4d8a5e8 --- /dev/null +++ b/config/polybar/shapes/scripts/checkupdates @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# +# checkupdates: Safely print a list of pending updates. +# +# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +declare -r myname='checkupdates' +declare -r myver='1.0.0' + +plain() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg() { + (( QUIET )) && return + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1 +} + +ask() { + local mesg=$1; shift + printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 && ! $USE_COLOR = "n" ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + + +if (( $# > 0 )); then + echo "${myname} v${myver}" + echo + echo "Safely print a list of pending updates" + echo + echo "Usage: ${myname}" + echo + echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.' + exit 0 +fi + +if ! type -P fakeroot >/dev/null; then + error 'Cannot find the fakeroot binary.' + exit 1 +fi + +if [[ -z $CHECKUPDATES_DB ]]; then + CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/" +fi + +trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT + +DBPath="$(pacman-conf DBPath)" +if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then + DBPath="/var/lib/pacman/" +fi + +mkdir -p "$CHECKUPDATES_DB" +ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null +if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then + error 'Cannot fetch updates' + exit 1 +fi +pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]' + +exit 0 + +# vim: set noet: diff --git a/config/polybar/shapes/scripts/color-switch.sh b/config/polybar/shapes/scripts/color-switch.sh new file mode 100755 index 0000000..9da41ae --- /dev/null +++ b/config/polybar/shapes/scripts/color-switch.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +SDIR="$HOME/.config/polybar/shapes/scripts" + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $SDIR/rofi/styles.rasi \ +<<< "♥ amber|♥ blue|♥ blue-gray|♥ brown|♥ cyan|♥ deep-orange|\ +♥ deep-purple|♥ green|♥ gray|♥ indigo|♥ blue-light|♥ green-light|\ +♥ lime|♥ orange|♥ pink|♥ purple|♥ red|♥ teal|♥ yellow|♥ amber-dark|\ +♥ blue-dark|♥ blue-gray-dark|♥ brown-dark|♥ cyan-dark|♥ deep-orange-dark|\ +♥ deep-purple-dark|♥ green-dark|♥ gray-dark|♥ indigo-dark|♥ blue-light-dark|\ +♥ green-light-dark|♥ lime-dark|♥ orange-dark|♥ pink-dark|♥ purple-dark|♥ red-dark|♥ teal-dark|♥ yellow-dark|")" + case "$MENU" in + ## Light Colors + *amber) "$SDIR"/colors-light.sh --amber ;; + *blue) "$SDIR"/colors-light.sh --blue ;; + *blue-gray) "$SDIR"/colors-light.sh --blue-gray ;; + *brown) "$SDIR"/colors-light.sh --brown ;; + *cyan) "$SDIR"/colors-light.sh --cyan ;; + *deep-orange) "$SDIR"/colors-light.sh --deep-orange ;; + *deep-purple) "$SDIR"/colors-light.sh --deep-purple ;; + *green) "$SDIR"/colors-light.sh --green ;; + *gray) "$SDIR"/colors-light.sh --gray ;; + *indigo) "$SDIR"/colors-light.sh --indigo ;; + *blue-light) "$SDIR"/colors-light.sh --light-blue ;; + *green-light) "$SDIR"/colors-light.sh --light-green ;; + *lime) "$SDIR"/colors-light.sh --lime ;; + *orange) "$SDIR"/colors-light.sh --orange ;; + *pink) "$SDIR"/colors-light.sh --pink ;; + *purple) "$SDIR"/colors-light.sh --purple ;; + *red) "$SDIR"/colors-light.sh --red ;; + *teal) "$SDIR"/colors-light.sh --teal ;; + *yellow) "$SDIR"/colors-light.sh --yellow ;; + ## Dark Colors + *amber-dark) "$SDIR"/colors-dark.sh --amber ;; + *blue-dark) "$SDIR"/colors-dark.sh --blue ;; + *blue-gray-dark) "$SDIR"/colors-dark.sh --blue-gray ;; + *brown-dark) "$SDIR"/colors-dark.sh --brown ;; + *cyan-dark) "$SDIR"/colors-dark.sh --cyan ;; + *deep-orange-dark) "$SDIR"/colors-dark.sh --deep-orange ;; + *deep-purple-dark) "$SDIR"/colors-dark.sh --deep-purple ;; + *green-dark) "$SDIR"/colors-dark.sh --green ;; + *gray-dark) "$SDIR"/colors-dark.sh --gray ;; + *indigo-dark) "$SDIR"/colors-dark.sh --indigo ;; + *blue-light-dark) "$SDIR"/colors-dark.sh --light-blue ;; + *green-light-dark) "$SDIR"/colors-dark.sh --light-green ;; + *lime-dark) "$SDIR"/colors-dark.sh --lime ;; + *orange-dark) "$SDIR"/colors-dark.sh --orange ;; + *pink-dark) "$SDIR"/colors-dark.sh --pink ;; + *purple-dark) "$SDIR"/colors-dark.sh --purple ;; + *red-dark) "$SDIR"/colors-dark.sh --red ;; + *teal-dark) "$SDIR"/colors-dark.sh --teal ;; + *yellow-dark) "$SDIR"/colors-dark.sh --yellow + esac diff --git a/config/polybar/shapes/scripts/colors-dark.sh b/config/polybar/shapes/scripts/colors-dark.sh new file mode 100755 index 0000000..ac4c75c --- /dev/null +++ b/config/polybar/shapes/scripts/colors-dark.sh @@ -0,0 +1,124 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shapes/colors.ini" +RFILE="$HOME/.config/polybar/shapes/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #1F1F1F/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #FFFFFF/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #1F1F1FFF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + fg: #FFFFFFFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/shapes/scripts/colors-light.sh b/config/polybar/shapes/scripts/colors-light.sh new file mode 100755 index 0000000..eddb7a8 --- /dev/null +++ b/config/polybar/shapes/scripts/colors-light.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shapes/colors.ini" +RFILE="$HOME/.config/polybar/shapes/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e 's/background = #.*/background = #FFFFFF/g' $PFILE + sed -i -e 's/foreground = #.*/foreground = #FFFFFF/g' $PFILE + sed -i -e 's/foreground-alt = #.*/foreground-alt = #1F1F1F/g' $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: #FFFFFFFF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + bg4: ${SH5}FF; + fg: #2E2E2EFF; + } + EOF + + polybar-msg cmd restart +} + +if [[ $1 = "--amber" ]]; then + SH1="#FF6F00" SH2="#FF8F00" SH3="#FFA000" SH4="#FFB300" + SH5="#FFC107" SH6="#FFCA28" SH7="#FFD54F" SH8="#FFE082" + change_color +elif [[ $1 = "--blue" ]]; then + SH1="#0D47A1" SH2="#1565C0" SH3="#1976D2" SH4="#1E88E5" + SH5="#2196F3" SH6="#42A5F5" SH7="#64B5F6" SH8="#90CAF9" + change_color +elif [[ $1 = "--blue-gray" ]]; then + SH1="#263238" SH2="#37474F" SH3="#455A64" SH4="#546E7A" + SH5="#607D8B" SH6="#78909C" SH7="#90A4AE" SH8="#B0BEC5" + change_color +elif [[ $1 = "--brown" ]]; then + SH1="#3E2723" SH2="#4E342E" SH3="#5D4037" SH4="#6D4C41" + SH5="#795548" SH6="#8D6E63" SH7="#A1887F" SH8="#BCAAA4" + change_color +elif [[ $1 = "--cyan" ]]; then + SH1="#006064" SH2="#00838F" SH3="#0097A7" SH4="#00ACC1" + SH5="#00BCD4" SH6="#26C6DA" SH7="#4DD0E1" SH8="#80DEEA" + change_color +elif [[ $1 = "--deep-orange" ]]; then + SH1="#BF360C" SH2="#D84315" SH3="#E64A19" SH4="#F4511E" + SH5="#FF5722" SH6="#FF7043" SH7="#FF8A65" SH8="#FFAB91" + change_color +elif [[ $1 = "--deep-purple" ]]; then + SH1="#311B92" SH2="#4527A0" SH3="#512DA8" SH4="#5E35B1" + SH5="#673AB7" SH6="#7E57C2" SH7="#9575CD" SH8="#B39DDB" + change_color +elif [[ $1 = "--green" ]]; then + SH1="#1B5E20" SH2="#2E7D32" SH3="#388E3C" SH4="#43A047" + SH5="#4CAF50" SH6="#66BB6A" SH7="#81C784" SH8="#A5D6A7" + change_color +elif [[ $1 = "--gray" ]]; then + SH1="#212121" SH2="#424242" SH3="#616161" SH4="#757575" + SH5="#9E9E9E" SH6="#BDBDBD" SH7="#D4D4D4" SH8="#EEEEEE" + change_color +elif [[ $1 = "--indigo" ]]; then + SH1="#1A237E" SH2="#283593" SH3="#303F9F" SH4="#3949AB" + SH5="#3F51B5" SH6="#5C6BC0" SH7="#7986CB" SH8="#9FA8DA" + change_color +elif [[ $1 = "--light-blue" ]]; then + SH1="#01579B" SH2="#0277BD" SH3="#0288D1" SH4="#039BE5" + SH5="#03A9F4" SH6="#29B6F6" SH7="#4FC3F7" SH8="#81D4FA" + change_color +elif [[ $1 = "--light-green" ]]; then + SH1="#33691E" SH2="#558B2F" SH3="#689F38" SH4="#7CB342" + SH5="#8BC34A" SH6="#9CCC65" SH7="#AED581" SH8="#C5E1A5" + change_color +elif [[ $1 = "--lime" ]]; then + SH1="#827717" SH2="#9E9D24" SH3="#AFB42B" SH4="#C0CA33" + SH5="#CDDC39" SH6="#D4E157" SH7="#DCE775" SH8="#E6EE9C" + change_color +elif [[ $1 = "--orange" ]]; then + SH1="#E65100" SH2="#EF6C00" SH3="#F57C00" SH4="#FB8C00" + SH5="#FF9800" SH6="#FFA726" SH7="#FFB74D" SH8="#FFCC80" + change_color +elif [[ $1 = "--pink" ]]; then + SH1="#880E4F" SH2="#AD1457" SH3="#C2185B" SH4="#D81B60" + SH5="#E91E63" SH6="#EC407A" SH7="#F06292" SH8="#F48FB1" + change_color +elif [[ $1 = "--purple" ]]; then + SH1="#4A148C" SH2="#6A1B9A" SH3="#7B1FA2" SH4="#8E24AA" + SH5="#9C27B0" SH6="#AB47BC" SH7="#BA68C8" SH8="#CE93D8" + change_color +elif [[ $1 = "--red" ]]; then + SH1="#B71C1C" SH2="#C62828" SH3="#D32F2F" SH4="#E53935" + SH5="#EE413D" SH6="#EF5350" SH7="#E57373" SH8="#EF9A9A" + change_color +elif [[ $1 = "--teal" ]]; then + SH1="#004D40" SH2="#00695C" SH3="#00796B" SH4="#00897B" + SH5="#009688" SH6="#26A69A" SH7="#4DB6AC" SH8="#80CBC4" + change_color +elif [[ $1 = "--yellow" ]]; then + SH1="#F57F17" SH2="#F9A825" SH3="#FBC02D" SH4="#FDD835" + SH5="#FFEB3B" SH6="#FFEE58" SH7="#FFF176" SH8="#FFF59D" + change_color +else + cat <<- _EOF_ + No option specified, Available options: + --amber --blue --blue-gray --brown + --cyan --deep-orange --deep-purple --green + --gray --indigo --light-blue --light-green + --lime --orange --pink --purple + --red --teal --yellow + _EOF_ +fi diff --git a/config/polybar/shapes/scripts/launcher.sh b/config/polybar/shapes/scripts/launcher.sh new file mode 100755 index 0000000..207f045 --- /dev/null +++ b/config/polybar/shapes/scripts/launcher.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/shapes/scripts/rofi/launcher.rasi diff --git a/config/polybar/shapes/scripts/powermenu.sh b/config/polybar/shapes/scripts/powermenu.sh new file mode 100755 index 0000000..6a9bc53 --- /dev/null +++ b/config/polybar/shapes/scripts/powermenu.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya +## Mail : adi1090x@gmail.com +## Github : @adi1090x +## Twitter : @adi1090x + +dir="~/.config/polybar/shapes/scripts/rofi" +uptime=$(uptime -p | sed -e 's/up //g') + +rofi_command="rofi -no-config -theme $dir/powermenu.rasi" + +# Options +shutdown=" Shutdown" +reboot=" Restart" +lock=" Lock" +suspend=" Sleep" +logout=" Logout" + +# Confirmation +confirm_exit() { + rofi -dmenu\ + -no-config\ + -i\ + -no-fixed-num-lines\ + -p "Are You Sure? : "\ + -theme $dir/confirm.rasi +} + +# Message +msg() { + rofi -no-config -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n" +} + +# Variable passed to rofi +options="$lock\n$suspend\n$logout\n$reboot\n$shutdown" + +chosen="$(echo -e "$options" | $rofi_command -p "Uptime: $uptime" -dmenu -selected-row 0)" +case $chosen in + $shutdown) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl poweroff + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $reboot) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + systemctl reboot + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $lock) + if [[ -f /usr/bin/i3lock ]]; then + i3lock + elif [[ -f /usr/bin/betterlockscreen ]]; then + betterlockscreen -l + fi + ;; + $suspend) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; + $logout) + ans=$(confirm_exit &) + if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then + if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == "i3" ]]; then + i3-msg exit + fi + elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then + exit 0 + else + msg + fi + ;; +esac diff --git a/config/polybar/shapes/scripts/pywal.sh b/config/polybar/shapes/scripts/pywal.sh new file mode 100755 index 0000000..db0a15a --- /dev/null +++ b/config/polybar/shapes/scripts/pywal.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shapes/colors.ini" +RFILE="$HOME/.config/polybar/shapes/scripts/rofi/colors.rasi" +WFILE="$HOME/.cache/wal/colors.sh" + +# Get colors +pywal_get() { + wal -i "$1" -q -t +} + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + fg: ${FG}FF; + } + EOF + + polybar-msg cmd restart +} + +# Main +if [[ -x "`which wal`" ]]; then + if [[ "$1" ]]; then + pywal_get "$1" + + # Source the pywal color file + if [[ -e "$WFILE" ]]; then + . "$WFILE" + else + echo 'Color file does not exist, exiting...' + exit 1 + fi + + BG=`printf "%s\n" "$background"` + FG=`printf "%s\n" "$foreground"` + FGA=`printf "%s\n" "$foreground"` + SH1=`printf "%s\n" "$color1"` + SH2=`printf "%s\n" "$color2"` + SH3=`printf "%s\n" "$color1"` + SH4=`printf "%s\n" "$color2"` + SH5=`printf "%s\n" "$color1"` + SH6=`printf "%s\n" "$color2"` + SH7=`printf "%s\n" "$color1"` + SH8=`printf "%s\n" "$color7"` + + change_color + else + echo -e "[!] Please enter the path to wallpaper. \n" + echo "Usage : ./pywal.sh path/to/image" + fi +else + echo "[!] 'pywal' is not installed." +fi diff --git a/config/polybar/shapes/scripts/random.sh b/config/polybar/shapes/scripts/random.sh new file mode 100755 index 0000000..e331207 --- /dev/null +++ b/config/polybar/shapes/scripts/random.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash + +# Color files +PFILE="$HOME/.config/polybar/shapes/colors.ini" +RFILE="$HOME/.config/polybar/shapes/scripts/rofi/colors.rasi" + +# Change colors +change_color() { + # polybar + sed -i -e "s/background = #.*/background = $BG/g" $PFILE + sed -i -e "s/foreground = #.*/foreground = $FG/g" $PFILE + sed -i -e "s/foreground-alt = #.*/foreground-alt = $FGA/g" $PFILE + sed -i -e "s/shade1 = #.*/shade1 = $SH1/g" $PFILE + sed -i -e "s/shade2 = #.*/shade2 = $SH2/g" $PFILE + sed -i -e "s/shade3 = #.*/shade3 = $SH3/g" $PFILE + sed -i -e "s/shade4 = #.*/shade4 = $SH4/g" $PFILE + sed -i -e "s/shade5 = #.*/shade5 = $SH5/g" $PFILE + sed -i -e "s/shade6 = #.*/shade6 = $SH6/g" $PFILE + sed -i -e "s/shade7 = #.*/shade7 = $SH7/g" $PFILE + sed -i -e "s/shade8 = #.*/shade8 = $SH8/g" $PFILE + + # rofi + cat > $RFILE <<- EOF + /* colors */ + + * { + al: #00000000; + bg: ${BG}FF; + bg1: ${SH2}FF; + bg2: ${SH3}FF; + bg3: ${SH4}FF; + fg: ${FG}FF; + } + EOF + + polybar-msg cmd restart +} + +get_random_number() { + RNUM=$(( ($RANDOM % $1) + 1 )) +} + +get_random_color() { + RCOLOR="#" + for i in 1 2 3 4 5 6 + do + get_random_number "16" + case $RNUM in + "1") NEXTDIGIT="1";; + "2") NEXTDIGIT="2";; + "3") NEXTDIGIT="3";; + "4") NEXTDIGIT="4";; + "5") NEXTDIGIT="5";; + "6") NEXTDIGIT="6";; + "7") NEXTDIGIT="7";; + "8") NEXTDIGIT="8";; + "9") NEXTDIGIT="9";; + "10") NEXTDIGIT="A";; + "11") NEXTDIGIT="B";; + "12") NEXTDIGIT="C";; + "13") NEXTDIGIT="D";; + "14") NEXTDIGIT="E";; + "15") NEXTDIGIT="F";; + "16") NEXTDIGIT="0";; + esac + RCOLOR="$RCOLOR$NEXTDIGIT" + done + echo $RCOLOR +} + +# Main +BG='#1f1f1f' # change to light bg +FG='#FFFFFF' # change to dark fg +FGA='#FFFFFF' # change to gray fg +SH1=`get_random_color` +SH2=`get_random_color` +SH3=`get_random_color` +SH4=`get_random_color` +SH5=`get_random_color` +SH6=`get_random_color` +SH7=`get_random_color` +SH8=`get_random_color` + +change_color diff --git a/config/polybar/shapes/scripts/rofi/colors.rasi b/config/polybar/shapes/scripts/rofi/colors.rasi new file mode 100644 index 0000000..7de2e5a --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #1F1F1FFF; + bg1: #1565C0FF; + bg2: #1976D2FF; + bg3: #1E88E5FF; + fg: #FFFFFFFF; +} diff --git a/config/polybar/shapes/scripts/rofi/confirm.rasi b/config/polybar/shapes/scripts/rofi/confirm.rasi new file mode 100644 index 0000000..bdbac6b --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/confirm.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 225px; + padding: 25px; + border: 0px; + border-radius: 12px; + border-color: @bg1; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg2; +} diff --git a/config/polybar/shapes/scripts/rofi/launcher.rasi b/config/polybar/shapes/scripts/rofi/launcher.rasi new file mode 100644 index 0000000..c61d583 --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/launcher.rasi @@ -0,0 +1,119 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 12px; + width: 350px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg1; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px; + border-radius: 0px 12px 12px 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 10; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @bg1; +} diff --git a/config/polybar/shapes/scripts/rofi/message.rasi b/config/polybar/shapes/scripts/rofi/message.rasi new file mode 100644 index 0000000..ecb84c3 --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/message.rasi @@ -0,0 +1,24 @@ +/* Confirm Dialog */ + +@import "colors.rasi" + +* { + background-color: @bg; + text-color: @fg; + font: "Iosevka Nerd Font 10"; +} + +window { + width: 320px; + padding: 25px; + border: 0px; + border-radius: 12px; + border-color: @bg1; + location: center; + y-offset: -2em; +} + +entry { + expand: true; + text-color: @bg2; +} diff --git a/config/polybar/shapes/scripts/rofi/networkmenu.rasi b/config/polybar/shapes/scripts/rofi/networkmenu.rasi new file mode 100644 index 0000000..1428061 --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/networkmenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 12px; + width: 400px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg2; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + str: "直"; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px; + border-radius: 0px 12px 12px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 8; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -5px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @bg1; +} diff --git a/config/polybar/shapes/scripts/rofi/powermenu.rasi b/config/polybar/shapes/scripts/rofi/powermenu.rasi new file mode 100644 index 0000000..779cf25 --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/powermenu.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 12px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg2; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + str: ""; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 10px; + border-radius: 0px 12px 12px 0px; + blink: true; +} + +inputbar { + children: [ textbox-prompt-colon, prompt ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 5; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @bg1; +} diff --git a/config/polybar/shapes/scripts/rofi/styles.rasi b/config/polybar/shapes/scripts/rofi/styles.rasi new file mode 100644 index 0000000..d32a1fb --- /dev/null +++ b/config/polybar/shapes/scripts/rofi/styles.rasi @@ -0,0 +1,128 @@ +/* + * + * Author : Aditya Shakya + * Mail : adi1090x@gmail.com + * Github : @adi1090x + * Twitter : @adi1090x + * + */ + +configuration { + font: "Iosevka Nerd Font 10"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 0px; + border-color: @ac; + border-radius: 12px; + width: 300px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 10px 15px 10px 15px; + background-color: @bg1; + text-color: #FFFFFF; + font: "Iosevka Nerd Font 10"; +} + +textbox-prompt-colon { + padding: 10px 15px 10px 15px; + font: "Iosevka Nerd Font 10"; + background-color: @bg1; + text-color: #FFFFFF; + expand: false; + str: ""; +} + +entry { + background-color: @bg2; + text-color: #FFFFFF; + placeholder-color: #FFFFFF; + expand: true; + horizontal-align: 0; + placeholder: "find..."; + padding: 10px; + border-radius: 0px 12px 12px 0px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bg2; + text-color: #FFFFFF; + expand: false; + border: 0px; + border-radius: 12px; + border-color: @ac; + spacing: 0px; +} + +listview { + background-color: @al; + padding: 10px 10px 10px 10px; + columns: 1; + lines: 6; + spacing: 5px; + cycle: true; + dynamic: true; + layout: vertical; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @bg4; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +element { + background-color: @al; + text-color: @fg; + orientation: horizontal; + border-radius: 0px; + padding: 6px 6px 6px -20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + border: 0px; +} + +element-text { + background-color: transparent; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bg3; + text-color: @bg; + border: 0px 0px 0px 0px; + border-radius: 12px; + border-color: @bg1; +} diff --git a/config/polybar/shapes/scripts/style-switch.sh b/config/polybar/shapes/scripts/style-switch.sh new file mode 100755 index 0000000..9444131 --- /dev/null +++ b/config/polybar/shapes/scripts/style-switch.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +FILE="$HOME/.config/polybar/shapes/glyphs.ini" + +# Replace Glyphs +change_style() { + sed -i -e "s/gleft = .*/gleft = $1/g" $FILE + sed -i -e "s/gright = .*/gright = $2/g" $FILE + + polybar-msg cmd restart +} + + +# Launch Rofi +MENU="$(rofi -no-config -no-lazy-grab -sep "|" -dmenu -i -p '' \ +-theme $HOME/.config/polybar/shapes/scripts/rofi/styles.rasi \ +<<< "♥ Style-1|♥ Style-2|♥ Style-3|♥ Style-4|♥ Style-5|♥ Style-6|♥ Style-7|♥ Style-8|♥ Style-9|♥ Style-10|♥ Style-11|♥ Style-12|")" + case "$MENU" in + ## Light Colors + *Style-1) change_style ;; + *Style-2) change_style ;; + *Style-3) change_style ;; + *Style-4) change_style ;; + *Style-5) change_style ;; + *Style-6) change_style ;; + *Style-7) change_style ;; + *Style-8) change_style ;; + *Style-9) change_style ;; + *Style-10) change_style ;; + *Style-11) change_style ;; + *Style-12) change_style ;; + esac diff --git a/config/polybar/shapes/scripts/updates.sh b/config/polybar/shapes/scripts/updates.sh new file mode 100755 index 0000000..b3e3d7a --- /dev/null +++ b/config/polybar/shapes/scripts/updates.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg + +get_total_updates() { UPDATES=$(~/.config/polybar/shapes/scripts/checkupdates 2>/dev/null | wc -l); } + +while true; do + get_total_updates + + # notify user of updates + if hash notify-send &>/dev/null; then + if (( UPDATES > 50 )); then + notify-send -u critical -i $NOTIFY_ICON \ + "You really need to update!!" "$UPDATES New packages" + elif (( UPDATES > 25 )); then + notify-send -u normal -i $NOTIFY_ICON \ + "You should update soon" "$UPDATES New packages" + elif (( UPDATES > 2 )); then + notify-send -u low -i $NOTIFY_ICON \ + "$UPDATES New packages" + fi + fi + + # when there are updates available + # every 10 seconds another check for updates is done + while (( UPDATES > 0 )); do + if (( UPDATES == 1 )); then + echo " $UPDATES" + elif (( UPDATES > 1 )); then + echo " $UPDATES" + else + echo " None" + fi + sleep 10 + get_total_updates + done + + # when no updates are available, use a longer loop, this saves on CPU + # and network uptime, only checking once every 30 min for new updates + while (( UPDATES == 0 )); do + echo " None" + sleep 1800 + get_total_updates + done +done diff --git a/config/polybar/shapes/user_modules.ini b/config/polybar/shapes/user_modules.ini new file mode 100644 index 0000000..66933ba --- /dev/null +++ b/config/polybar/shapes/user_modules.ini @@ -0,0 +1,247 @@ +;; ┌──────────────────────────────────────────────────────────────────────────────-----┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█░█░█▀▀░█▀▀░█▀▄░░░█▄█░█▀█░█▀▄░█░█░█░░░█▀▀░█▀▀ │ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░█░▀▀█░█▀▀░█▀▄░░░█░█░█░█░█░█░█░█░█░░░█▀▀░▀▀█ │ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀ │ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│ +;; └──────────────────────────────────────────────────────────────────────────────-----┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/updates] +type = custom/script + +; Available tokens: +; %counter% +; Command to be executed (using "/usr/bin/env sh -c [command]") +exec = ~/.config/polybar/shapes/scripts/updates.sh + +; Conditional command that, if defined, needs to exit successfully +; before the main exec command is invoked. +; Default: "" +;;exec-if = "" + +; Will the script output continous content? +; Default: false +tail = true + +; Seconds to sleep between updates +; Default: 2 (0 if `tail = true`) +interval = 5 + +; Available tags: +; <output> - deprecated +; <label> (default) +format = <label> +format-prefix = +format-background = ${color.shade6} +format-padding = 1 + +; Available tokens: +; %output% +; Default: %output% +label = "%output% " + +; Available tokens: +; %counter% +; %pid% +; +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]" +click-left = exo-open --launch TerminalEmulator & +click-right = exo-open --launch TerminalEmulator & +;;double-click-left = echo double left %counter% +;;double-click-middle = echo double middle %counter% +;;double-click-right = echo double right %counter% + +; Available tokens: +; %counter% +; %pid% +; +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]" +;;scroll-up = echo scroll up %counter% +;;scroll-down = echo scroll down %counter% + + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/launcher] +type = custom/text +content = " " + +; "content" has the same properties as "format-NAME" +content-background = ${color.shade1} +content-foreground = ${color.foreground} +content-padding = 1 + +; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" +click-left = ~/.config/polybar/shapes/scripts/launcher.sh & +;;click-middle = ~/.config/polybar/shapes/scripts/launcher-full +click-right = ~/.config/polybar/shapes/scripts/color-switch.sh & + +; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" +;;scroll-up = ~/.config/polybar/shapes/scripts/launcher.sh & +;;scroll-down = ~/.config/polybar/shapes/scripts/color-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sysmenu] +type = custom/text +content = "襤 " + +content-background = ${color.shade1} +content-foreground = ${color.foreground} +content-padding = 1 + +click-left = ~/.config/polybar/shapes/scripts/powermenu.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/color-switch] +type = custom/text +content = " " + +content-background = ${color.shade7} +content-foreground = ${color.foreground} +content-padding = 1 + +click-left = ~/.config/polybar/shapes/scripts/color-switch.sh & +click-right = ~/.config/polybar/shapes/scripts/style-switch.sh & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/sep] +type = custom/text +content = " | " + +content-background = ${color.background} +content-foreground = ${color.shade1} +content-padding = 0 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/links] +type = custom/text +content-foreground = ${color.foreground-alt} +content-padding = 2 + +[module/google] +inherit = module/links +content = +click-left = exo-open https://www.google.com/ & + +[module/github] +inherit = module/links +content = +click-left = exo-open https://www.github.com/ & + +[module/reddit] +inherit = module/links +content = +click-left = exo-open https://www.reddit.com/ & + +[module/gmail] +inherit = module/links +content = +click-left = exo-open https://mail.google.com/ & + +[module/twitter] +inherit = module/links +content = +click-left = exo-open https://www.twitter.com/ & + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/powermenu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = shutdown +menu-0-1-exec = menu-open-2 + +menu-1-0 = back +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = shutdown +menu-2-0-exec = systemctl poweroff +menu-2-1 = back +menu-2-1-exec = menu-open-0 + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.shade1} +format-foreground = ${color.foreground} +format-padding = 1 + +label-open = "襤 " +label-close = "" + +; Optional item separator +; Default: none +label-separator = " | " + +;;label-open-foreground = ${color.foreground} +;;label-close-foreground = ${color.background} +;;label-separator-foreground = ${color.background} + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/menu] +type = custom/menu + +; If true, <label-toggle> will be to the left of the menu items (default). +; If false, it will be on the right of all the items. +expand-right = true + +; "menu-LEVEL-N" has the same properties as "label-NAME" with +; the additional "exec" property +; +; Available exec commands: +; menu-open-LEVEL +; menu-close +; Other commands will be executed using "/usr/bin/env sh -c $COMMAND" +menu-0-0 = Menu +menu-0-0-exec = ~/.config/polybar/shapes/scripts/launcher.sh & +menu-0-1 = Files +menu-0-1-exec = thunar & +menu-0-2 = Terminal +menu-0-2-exec = termite & +menu-0-3 = Browser +menu-0-3-exec = firefox & + +; Available tags: +; <label-toggle> (default) - gets replaced with <label-(open|close)> +; <menu> (default) +; Note that if you use <label-toggle> you must also include +; the definition for <label-open> + +format = <label-toggle> <menu> +format-background = ${color.shade1} +format-foreground = ${color.foreground} +format-padding = 1 + +label-open = " " +label-close = " " + +; Optional item separator +; Default: none +label-separator = " | " + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ |
