pushing the uwu colorscheme stuff

This commit is contained in:
mangeshrex 2021-09-04 21:29:31 +05:30
parent 838d8dcc9b
commit 5c428cb6bf
13 changed files with 851 additions and 25 deletions

View file

@ -18,6 +18,9 @@
# Nord Bspwm Screenshot
![Nord](https://user-images.githubusercontent.com/82205152/119094670-f6fd7600-ba2e-11eb-934d-b494e6714c6e.png)
# uWu >.<
![uWuu](https://github.com/Mangeshrex/bspdots/blob/main/uwu-nvchad.png)
# Bspwm-Dots
This is a repo of my dotfiles contain's all the cli-tools or apps I use.
@ -35,6 +38,7 @@ This is a repo of my dotfiles contain's all the cli-tools or apps I use.
# Dependencies
- Material Design Icons
- Nerd Fonts JetbrainsMono
- packages : ```xprop, xrdb, wmctrl``` and all the other apps needed should be installed .
# Installation
- The user needs to git clone the repository anywhere in his `/home` directory.

BIN
assets/uwu-nvchad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

29
uWu/.Xresources Normal file
View file

@ -0,0 +1,29 @@
*background: #0f1315
*foreground: #C5C8C9
! Black + DarkGrey
*color0: #2F3131
*color8: #343636
! DarkRed + Red
*color1: #e74c4c
*color9: #c26f6f
! DarkGreen + Green
*color2: #6bb05d
*color10: #8dc776
! DarkYellow + Yellow
*color3: #e59e67
*color11: #e7ac7e
! DarkBlue + Blue
*color4: #5b98a9
*color12: #7ab3c3
! DarkMagenta + Magenta
*color5: #ef7cbb
*color13: #d3869b
! DarkCyan + Cyan
*color6: #51a39f
*color14: #6db0ad
! LightGrey + White
*color7: #c4c4c4
*color15: #bfbfbf

93
uWu/.bash-powerline.sh Normal file
View file

@ -0,0 +1,93 @@
#!/usr/bin/env bash
## Uncomment to disable git info
#POWERLINE_GIT=0
__powerline() {
# Colors
COLOR_RESET='\[\033[m\]'
COLOR_CWD=${COLOR_CWD:-'\[\033[0;34m\]'} # blue
COLOR_GIT=${COLOR_GIT:-'\[\033[0;36m\]'} # cyan
COLOR_SUCCESS=${COLOR_SUCCESS:-'\[\033[0;32m\]'} # green
COLOR_FAILURE=${COLOR_FAILURE:-'\[\033[0;31m\]'} # red
# Symbols
SYMBOL_GIT_BRANCH=${SYMBOL_GIT_BRANCH:-}
SYMBOL_GIT_MODIFIED=${SYMBOL_GIT_MODIFIED:-*}
SYMBOL_GIT_PUSH=${SYMBOL_GIT_PUSH:-}
SYMBOL_GIT_PULL=${SYMBOL_GIT_PULL:-}
if [[ -z "$PS_SYMBOL" ]]; then
case "$(uname)" in
Darwin) PS_SYMBOL='';;
Linux) PS_SYMBOL='$';;
*) PS_SYMBOL='%';;
esac
fi
__git_info() {
[[ $POWERLINE_GIT = 0 ]] && return # disabled
hash git 2>/dev/null || return # git not found
local git_eng="env LANG=C git" # force git output in English to make our work easier
# get current branch name
local ref=$($git_eng symbolic-ref --short HEAD 2>/dev/null)
if [[ -n "$ref" ]]; then
# prepend branch symbol
ref=$SYMBOL_GIT_BRANCH$ref
else
# get tag name or short unique hash
ref=$($git_eng describe --tags --always 2>/dev/null)
fi
[[ -n "$ref" ]] || return # not a git repo
local marks
# scan first two lines of output from `git status`
while IFS= read -r line; do
if [[ $line =~ ^## ]]; then # header line
[[ $line =~ ahead\ ([0-9]+) ]] && marks+=" $SYMBOL_GIT_PUSH${BASH_REMATCH[1]}"
[[ $line =~ behind\ ([0-9]+) ]] && marks+=" $SYMBOL_GIT_PULL${BASH_REMATCH[1]}"
else # branch is modified if output contains more lines after the header line
marks="$SYMBOL_GIT_MODIFIED$marks"
break
fi
done < <($git_eng status --porcelain --branch 2>/dev/null) # note the space between the two <
# print the git branch segment without a trailing newline
printf " $ref$marks"
}
ps1() {
# Check the exit code of the previous command and display different
# colors in the prompt accordingly.
if [ $? -eq 0 ]; then
local symbol="$COLOR_SUCCESS $PS_SYMBOL $COLOR_RESET"
else
local symbol="$COLOR_FAILURE $PS_SYMBOL $COLOR_RESET"
fi
local cwd="$COLOR_CWD\w$COLOR_RESET"
# Bash by default expands the content of PS1 unless promptvars is disabled.
# We must use another layer of reference to prevent expanding any user
# provided strings, which would cause security issues.
# POC: https://github.com/njhartwell/pw3nage
# Related fix in git-bash: https://github.com/git/git/blob/9d77b0405ce6b471cb5ce3a904368fc25e55643d/contrib/completion/git-prompt.sh#L324
if shopt -q promptvars; then
__powerline_git_info="$(__git_info)"
local git="$COLOR_GIT\${__powerline_git_info}$COLOR_RESET"
else
# promptvars is disabled. Avoid creating unnecessary env var.
local git="$COLOR_GIT$(__git_info)$COLOR_RESET"
fi
PS1="\e[1;31m󰮯 \e[0m $cwd$git$symbol"
}
PROMPT_COMMAND="ps1${PROMPT_COMMAND:+; $PROMPT_COMMAND}"
}
__powerline
unset __powerline

26
uWu/.bashrc Normal file
View file

@ -0,0 +1,26 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='logo-ls'
alias la='logo-ls -A'
alias ll='logo-ls -al'
# equivalents with Git Status on by Default
alias lsg='logo-ls -D'
alias lag='logo-ls -AD'
alias llg='logo-ls -alD'
alias xw='xwallpaper --zoom'
alias orphan='pacman -Qtdq | pacman -Rns -'
source ~/.bash-powerline.sh
#PS1='\033\e[0;31m󰅂\033\e[0m\e[0;32m󰅂\e[0;34m󰅂\e[0m \e[1;36m󰉋 \e[0m \W '
rxfetch
if [ -f /etc/bash.command-not-found ]; then
. /etc/bash.command-not-found
fi

View file

@ -34,7 +34,7 @@ window:
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 10
x: 20
y: 10
# Spread additional padding evenly around the terminal content.
@ -109,7 +109,7 @@ font:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: JetBrains Mono NF
family: Iosevka Nerd Font
# family: CodeNewRoman Nerd Font
# family: RobotoMono Nerd Font
# family: Hack
@ -128,7 +128,7 @@ font:
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
family: JetBrains Mono NF
family: Iosevka Nerd Font
# family: CodeNewRoman Nerd Font
# family: RobotoMono Nerd Font
# family: Hack
@ -147,7 +147,7 @@ font:
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
family: JetBrains Mono NF
family: Iosevka Nerd Font
# family: CodeNewRoman Nerd Font
# family: RobotoMono Nerd Font
# family: Hack
@ -166,7 +166,7 @@ font:
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
family: JetBrains Mono NF
family: Iosevka Nerd Font
# family: CodeNewRoman Nerd Font
# family: RobotoMono Nerd Font
# family: Hack
@ -216,35 +216,35 @@ draw_bold_text_with_bright_colors: true
colors:
# Default colors
primary:
background: '0x1e222a'
foreground: '0x979eab'
background: '0x0f1315'
foreground: '0xC5C8C9'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x979eab'
cursor: '0x1a1b26'
text: '0xd6d6d6'
cursor: '0x303435'
# Normal colors
normal:
black: '0x353b45'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xe5c07b'
blue: '0x61afef'
magenta: '0x9a7ecc'
cyan: '0x56b6c2'
white: '0xabb2bf'
black: '0x303435'
red: '0xe74c4c'
green: '0x6bb05d'
yellow: '0xe59e67'
blue: '0x5b98a9'
magenta: '0xef7cbb'
cyan: '0x51a39f'
white: '0xc4c4c4'
# Bright colors
bright:
black: '0x393e48'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xe5c07b'
blue: '0x61afef'
magenta: '0x9a7ecc'
cyan: '0x56b6c2'
white: '0xabb2bf'
black: '0x3a3c3d'
red: '0xc26f6f'
green: '0x8dc776'
yellow: '0xe7ac7e'
blue: '0x7ab3c3'
magenta: '0xd3869b'
cyan: '0x6db0ad'
white: '0xbfbfbf'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based

390
uWu/polybar/config.ini Normal file
View file

@ -0,0 +1,390 @@
[colors]
background = ${xrdb:background}
foreground = ${xrdb:foreground}
color0 = ${xrdb:color0}
color1 = ${xrdb:color1}
color2 = ${xrdb:color2}
color3 = ${xrdb:color3}
color4 = ${xrdb:color4}
color5 = ${xrdb:color5}
color6 = ${xrdb:color6}
color7 = ${xrdb:color7}
color8 = ${xrdb:color8}
color9 = ${xrdb:color9}
color10 = ${xrdb:color10}
color11 = ${xrdb:color11}
color12 = ${xrdb:color12}
color13 = ${xrdb:color13}
color14 = ${xrdb:color14}
color15 = ${xrdb:color15}
dark-light = #272A2B
active-light = #313435
[bar/example]
;monitor = LVDS1
width = 100%
height = 20
padding-left = 1
padding-right = 1
background = ${colors.background}
foreground = ${colors.foreground}
bottom = false
border-top-size = 7
border-bottom-size = 7
border-top-color = ${colors.background}
border-bottom-color = ${colors.background}
line-size = 1
wm-restack = bspwm
modules-left = bspwm
modules-center = polywins
modules-right = alsa battery spaces mem wlan time
font-0 = Iosevka Nerd Font:style=Bold:pixelsize=11;3
font-1 = JetBrainsMono Nerd Font:size=15;3
font-2 = Material Design Icons:style=Bold:size=13;3
font-3 = Dejavu Serif:fontformat=truetype:size=10:antialias=true;3
[module/mpd]
type = internal/mpd
interval = 2
format-online = <icon-prev><toggle><icon-next>
icon-play-foreground = ${colors.color1}
icon-play = 󰐊
icon-pause-foreground = ${colors.color1}
icon-pause = 󰏥
icon-stop-foreground = ${colors.color1}
icon-stop = 󰓛
icon-prev-foreground = ${colors.color4}
icon-prev = 󰒮
icon-next-foreground = ${colors.color4}
icon-next = 󰒭
icon-play-underline = ${colors.color3}
icon-next-underline = ${colors.color3}
icon-pause-underline = ${colors.color3}
icon-prev-underline = ${colors.color3}
[module/alsa]
type = internal/alsa
format-volume = <label-volume>
label-volume = 墳 %percentage%
label-volume-foreground = ${colors.color1}
format-muted-foreground = ${colors.foreground}
label-muted = 󰚙
format-muted-padding = 1
format-muted-background = #2b2f37
bar-volume-width = 9
bar-volume-foreground-0 = #61afef
bar-volume-foreground-1 = #61afef
bar-volume-foreground-2 = #61afef
bar-volume-foreground-3 = #61afef
bar-volume-foreground-4 = #61afef
bar-volume-foreground-5 = #61afef
bar-volume-foreground-6 = #61afef
bar-volume-gradient = true
bar-volume-indicator =
bar-volume-indicator-foreground = #61afef
bar-volume-indicator-font = 1
bar-volume-fill =
bar-volume-fill-foreground = #61afef
bar-volume-fill-font = 1
bar-volume-empty =
bar-volume-empty-font = 1
bar-volume-empty-foreground = ${colors.foreground}
format-volume-padding = 1
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 65
label-foreground = ${colors.color7}
format = <ramp> <label>
;format-underline = #b48ead
format-warn = <ramp> <label-warn>
format-warn-underline = #b48ead
;format-background = ${colors.color8}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-backgroud = #b48ead
format-padding = 0
ramp-0 = 󰸁
ramp-foreground = ${colors.color11}
[module/polywins]
type = custom/script
exec = ~/.config/polybar/scripts/polywins.sh 2>/dev/null
format = <label>
label = %output%
label-padding = 1
tail = true
;label-background = ${colors.color6}
[module/spaces]
type = custom/text
content = %{T3} %{T-}
[module/bspwm]
type = internal/bspwm
pin-workspaces = true
inline-mode = true
enable-click = true
enable-scroll = true
reverse-scroll = false
format = <label-state>
label-focused-underline = ${colors.color4}
label-focused = 󰮯
label-focused-foreground = ${colors.color3}
label-focused-padding = 1
label-focused-background = ${colors.background}
label-occupied = 󰊠
label-occupied-foreground = ${colors.color2}
label-occupied-padding = 1
label-occupied-background = ${colors.background}
label-empty =
label-empty-foreground = ${colors.color0}
label-empty-padding = 1
label-empty-background = ${colors.background}
label-urgent =
label-urgent-foreground = ${colors.color8{
label-urgent-padding = 1
label-urgent-background = ${colors.background}
;label-separator = "ﭳ
;label-separator-background = #1e222a
;label-separator-foreground = #
;2b2f37
[module/sl]
type = custom/text
content = %{T2} %{T-}
content-foreground = #3b4252
[module/sr]
type = custom/text
content = %{T2} %{T-}
content-foreground = #3b4252
[module/sl-l]
type = custom/text
content = %{T2} %{T-}
content-foreground =
[module/sr-r]
type = custom/text
content = %{T2} %{T-}
content-foreground = #3b4252
[module/pulseaudio]
type = internal/pulseaudio
;format-volume = <ramp-volume> <bar-volume>
format-volume = <label-volume> <bar-volume>
;label-volume = VOL %percentage%%
label-volume = 󰎆
label-volume-foreground =${colors.color12}
;extra added
;format-volume-background = ${colors.yellow}
format-volume-background = ${colors.background}
format-volume-padding = 1
label-muted-padding = 1
;ramp-volume-0 = 󰕿
;ramp-volume-1 = 󰖀
;ramp-volume-2 = 󰕾
;ramp-volume-foreground = ${colors.background}
;will remove
label-muted = 󰎆 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 =
bar-volume-foreground-1 = #61afef
bar-volume-foreground-2 = #61afef
bar-volume-foreground-3 = #61afef
bar-volume-foreground-4 = #61afef
bar-volume-foreground-5 = #61afef
bar-volume-foreground-6 = #61afef
bar-volume-gradient = false
bar-volume-indicator =
bar-volume-indicator-font = 4
bar-volume-fill =
bar-volume-fill-font = 4
bar-volume-empty =
bar-volume-empty-font = 4
bar-volume-empty-foreground = ${colors.foreground}
[module/time]
type = internal/date
interval = 60
format = <label>
date = %{F#0f1315}󰥔 %{F-}%{F#0f1315}%H:%M%{F-}
time-alt = %{F#0f1315}󰃭 %{F-}%{F#0f1315}%a, %b %d%{F-}
format-background = #8dc776
label = %date%%time%
label-padding = 1
# For users having Void Linux
[module/updates]
type = custom/script
exec = ~/.config/polybar/scripts/xbps-updates
format = <label>
label = 󰬬 %output%
label-padding =1
;label-background = ${colors.color8}
label-foreground = ${colors.color1}
# For users using arch linux
[module/pacup]
type = custom/script
exec = ~/.config/polybar/scripts/pacup.sh
format = <label>
label = 󰬬 %output%
label-padding =1
label-background = ${colors.color8}
label-foreground = ${colors.color1}
[module/mem]
type = custom/script
exec = free -m | sed -n 's/^Mem:\s\+[0-9]\+\s\+\([0-9]\+\)\s.\+/\1/p'
format = <label>
format-prefix = 󰍛
;format-background = ${colors.color6}
format-padding = 0
label = %output%M used
label-padding = 1
format-prefix-foreground = ${colors.color3}
format-margin = 0
label-foreground = ${colors.color3}
[module/menu]
type = custom/text
content = 󱓞
;content-background = #81A1C1
content-foreground = #61afef
click-left = rofi -show drun
;content-underline = #4C566A
content-padding= 1
[module/powermenu]
type = custom/text
content = 󰐥
click-left = ~/.config/polybar/scripts/dmenu.sh
;content-background = #81A1C1
content-foreground = ${colors.foreground}
content-padding = 1
content-margin = 0
[module/sysmenu]
type = custom/text
content =
content-foreground = ${colors.color13}
content-padding = 1
click-left = ~/.config/polybar/scripts/powermenu.sh
[module/xbacklight]
type = internal/xbacklight
format = <label>
format-prefix = " "
label = %percentage%
format-prefix-foreground = #e5c07b
label-foreground = #abb2bf
format-padding = 1
[module/wlan]
type = internal/network
interface = enp0s3
interval = 3.0
format-connected = <label-connected>
label-connected-padding = 1
label-disconnected-padding = 1
label-connected = 󰤧
label-connected-foreground = ${colors.color4}
label-disconnected = "󰤭 "
label-disconnedted-foreground = ${colors.color4}
label-connected-background = ${colors.background}
label-disconnected-bacoground = ${colors.background}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC0
full-at = 98
format-charging = <animation-charging> <label-charging>
label-charging = %percentage%%
format-charging-foreground = ${colors.color4}
format-charging-background = ${colors.background}
format-discharging = <ramp-capacity> <label-discharging>
label-discharging = %percentage%%
format-discharging-foreground = ${colors.foreground}
format-discharging-background = ${colors.background}
format-full-prefix = " "
format-full-prefix-foreground = #A0E8A2
format-foreground = ${colors.color4}
format-background = ${colors.background}
label-discharging-foreground = ${colors.foreground}
ramp-capacity-foreground = #A0E8A2
label-charging-foreground = ${colors.foreground}
label-padding = 1
format-full-padding = 1
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 = " "
animation-charging-foreground = ${colors.color13}
animation-charging-framerate = 750
format-charging-padding = 1
format-discharging-padding = 1
[module/cpu]
type = internal/cpu
interval = 2.5
format = <label>
format-padding = 1
format-margin = 0
label = %{F#98c379}󰻟 %{F-}%percentage%%
;format-backgoound = ${colors.color12}
format-foreground =${colors.color7}
[module/xwindow]
type = internal/xwindow
label = %title%
label-maxlen = 20
label-foreground = ${colors.foreground}
label-padding = 1
; Used instead of label when there is no window title
label-empty = ""
;label-empty-foreground = ${color.blue-light}
label-empty-padding = 2

21
uWu/polybar/scripts/dmenu.sh Executable file
View file

@ -0,0 +1,21 @@
#!/bin/sh
# A dmenu wrapper script for system functions.
# For non-systemd init systems.
case "$(readlink -f /sbin/init)" in
*runit*) hib="sudo -A zzz" ;;
*openrc*) reb="sudo -A openrc-shutdown -r"; shut="sudo -A openrc-shutdown -p 0" ;;
esac
cmds="\
󱎜 lock slimlock
󰁬 leave bsp kill -TERM $(pkill bspwm sxhkd)
󱋑 hibernate slock ${hib:-systemctl suspend-then-hibernate -i}
󰻹 reboot ${reb:-sudo -A reboot}
󰧵 shutdown ${shut:- sudo shutdown now}
󰔱 display off xset dpms force off"
choice="$(echo "$cmds" | cut -d' ' -f 1 | dmenu -p BYE -l 7 )" || exit 1
`echo "$cmds" | grep "^$choice " | cut -d ' ' -f2-`

9
uWu/polybar/scripts/pacup.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
updates=$(pacman -Qu | wc -l)
if [ -z "$updates" ]; then
echo "Fully Updated"
else
echo "$updates"
fi

254
uWu/polybar/scripts/polywins.sh Executable file
View file

@ -0,0 +1,254 @@
#!/bin/sh
# POLYWINS
# SETTINGS {{{ ---
active_text_color="#e74c5c"
active_bg=
active_underline=
inactive_text_color="#6bb05d"
inactive_bg= "#e74c4c"
inactive_underline=
separator="•"
separator_text_color="#303435"
show="icon" # options: window_title, window_class, window_classname, icon
forbidden_classes="Polybar Conky Gmrun"
empty_desktop_message=
char_limit=20
max_windows=15
char_case="normal" # normal, upper, lower
add_spaces="true"
resize_increment=16
wm_border_width=1 # setting this might be required for accurate resize position
# --- }}}
main() {
# If no argument passed...
if [ -z "$2" ]; then
# ...print new window list every time
# the active window changes or
# a window is opened or closed
xprop -root -spy _NET_CLIENT_LIST _NET_ACTIVE_WINDOW |
while IFS= read -r _; do
generate_window_list
done
# If arguments are passed, run requested on-click function
else
"$@"
fi
}
# ON-CLICK FUNCTIONS {{{ ---
raise_or_minimize() {
if [ "$(get_active_wid)" = "$1" ]; then
bspc node $1 -g hidden=on
#wmctrl -ir "$1" -b toggle,hidden
else
bspc node $1 -g hidden=off -f
#wmctrl -ia "$1"
fi
}
close() {
wmctrl -ic "$1"
}
slop_resize() {
wmctrl -ia "$1"
wmctrl -ir "$1" -e "$(slop -f 0,%x,%y,%w,%h)"
}
increment_size() {
while IFS="[ .]" read -r wid ws wx wy ww wh _; do
test "$wid" != "$1" && continue
x=$((wx - wm_border_width * 2 - resize_increment / 2))
y=$((wy - wm_border_width * 2 - resize_increment / 2))
w=$((ww + resize_increment))
h=$((wh + resize_increment))
done <<-EOF
$(wmctrl -lG)
EOF
wmctrl -ir "$1" -e "0,$x,$y,$w,$h"
}
decrement_size() {
while IFS="[ .]" read -r wid ws wx wy ww wh _; do
test "$wid" != "$1" && continue
x=$((wx - wm_border_width * 2 + resize_increment / 2))
y=$((wy - wm_border_width * 2 + resize_increment / 2))
w=$((ww - resize_increment))
h=$((wh - resize_increment))
done <<-EOF
$(wmctrl -lG)
EOF
wmctrl -ir "$1" -e "0,$x,$y,$w,$h"
}
# --- }}}
# WINDOW LIST SETUP {{{ ---
active_left="%{F$active_text_color}"
active_right="%{F-}"
inactive_left="%{F$inactive_text_color}"
inactive_right="%{F-}"
separator="%{F$inactive_text_color}$separator%{F-}"
if [ -n "$active_underline" ]; then
active_left="${active_left}%{+u}%{u$active_underline}"
active_right="%{-u}${active_right}"
fi
if [ -n "$active_bg" ]; then
active_left="${active_left}%{B$active_bg}"
active_right="%{B-}${active_right}"
fi
if [ -n "$inactive_underline" ]; then
inactive_left="${inactive_left}%{+u}%{u$inactive_underline}"
inactive_right="%{-u}${inactive_right}"
fi
if [ -n "$inactive_bg" ]; then
inactive_left="${inactive_left}%{B$inactive_bg}"
inactive_right="%{B-}${inactive_right}"
fi
get_active_wid() {
active_wid=$(xprop -root _NET_ACTIVE_WINDOW)
active_wid="${active_wid#*\# }"
active_wid="${active_wid%,*}" # Necessary for XFCE
while [ ${#active_wid} -lt 10 ]; do
active_wid="0x0${active_wid#*x}"
done
echo "$active_wid"
}
get_active_workspace() {
wmctrl -d |
while IFS="[ .]" read -r number active_status _; do
test "$active_status" = "*" && echo "$number" && break
done
}
generate_window_list() {
active_workspace=$(get_active_workspace)
active_wid=$(get_active_wid)
window_count=0
on_click="$0"
# Format each window name one by one
# Space and . are both used as IFS,
# because classname and class are separated by '.'
while IFS="[ .\.]" read -r wid ws cname cls host title; do
# Don't show the window if on another workspace (-1 = sticky)
if [ "$ws" != "$active_workspace" ] && [ "$ws" != "-1" ]; then
continue
fi
# Don't show the window if its class is forbidden
case "$forbidden_classes" in
*$cls*) continue ;;
esac
# If max number of windows reached, just increment
# the windows counter
if [ "$window_count" -ge "$max_windows" ]; then
window_count=$((window_count + 1))
continue
fi
# Show the user-selected window property
case "$show" in
"window_class") w_name="$cls" ;;
"window_classname") w_name="$cname" ;;
"window_title") w_name="$title" ;;
"icon")
case "$cls" in
Alacritty) w_name='>.<' ;;
Chromium) w_name='' ;;
Firefox) w_name='' ;;
TelegramDesktop) w_name=' ' ;;
Pcmanfm) w_name='' ;;
obs-studio) w_name='' ;;
Spotify) w_name='󰓇 ';;
*) w_name="$cls" ;;
esac
;;
esac
if [ "$show" != "icon" ]; then
# Use user-selected character case
case "$char_case" in
"lower") w_name=$(
echo "$w_name" | tr '[:upper:]' '[:lower:]'
) ;;
"upper") w_name=$(
echo "$w_name" | tr '[:lower:]' '[:upper:]'
) ;;
esac
# Truncate displayed name to user-selected limit
if [ "${#w_name}" -gt "$char_limit" ]; then
w_name="$(echo "$w_name" | cut -c1-$((char_limit - 1)))"
fi
fi
# Apply add-spaces setting
if [ "$add_spaces" = "true" ]; then
w_name=" $w_name "
fi
# Add left and right formatting to displayed name
if [ "$wid" = "$active_wid" ]; then
w_name="${active_left}${w_name}${active_right}"
else
w_name="${inactive_left}${w_name}${inactive_right}"
fi
# Add separator unless the window is first in list
if [ "$window_count" != 0 ]; then
printf "%s" "$separator"
fi
# Add on-click action Polybar formatting
printf "%s" "%{A1:$on_click raise_or_minimize $wid:}"
printf "%s" "%{A2:$on_click close $wid:}"
printf "%s" "%{A3:$on_click slop_resize $wid:}"
printf "%s" "%{A4:$on_click increment_size $wid:}"
printf "%s" "%{A5:$on_click decrement_size $wid:}"
# Print the final window name
printf "%s" "$w_name"
printf "%s" "%{A}%{A}%{A}%{A}%{A}"
window_count=$((window_count + 1))
done <<-EOF
$(wmctrl -lx)
EOF
# After printing all the windows,
# print number of hidden windows
if [ "$window_count" -gt "$max_windows" ]; then
printf "%s" "+$((window_count - max_windows))"
fi
# Print empty desktop message if no windows are open
if [ "$window_count" = 0 ]; then
printf "%s" "$empty_desktop_message"
fi
# Print newline
echo ""
}
# --- }}}
main "$@"

BIN
uWu/wallpapers/dockdark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

BIN
uWu/wallpapers/unixmine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

BIN
uWu/wallpapers/uwu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB