Keep things up-to-date

This commit is contained in:
Astatin3
2023-10-30 09:02:00 -06:00
parent 6b3a04232e
commit 84a3e8d008
43 changed files with 2425 additions and 0 deletions
Executable
+34
View File
@@ -0,0 +1,34 @@
if test -f "/tmp/wallpaper-blur.png"; then
exit
fi
#cmd[0]="cmatrix"
#cmd[1]="hollywood"
#cmd[2]="termsaver sysmon"
#cmd[3]="termsaver wttr"
#cmd=${cmd[$[$RANDOM % ${#cmd[@]}]]}
cmd="btop"
term="foot"
grim "/tmp/swaylock.png"
convert "/tmp/swaylock.png" -filter Gaussian -blur 0x8 "/tmp/swaylock-blur.png"
rm "/tmp/swaylock.png"
workspace="$(swaymsg -t get_workspaces -p | grep -oP '(?<=Workspace\s).*?(?=\s\(focused\))')"
swaymsg workspace "screensaver"
swaymsg exec $term $cmd
sleep 0.5
swaymsg fullscreen
swayidle -w timeout 1 "" resume "pkill -n 'swayidle'"
swaylock -f -i "/tmp/swaylock-blur.png"
pkill -n -f "$term $cmd" &
#pkill -n -f "byobu" &
swaymsg workspace $workspace &
rm "/tmp/swaylock-blur.png" &
+181
View File
@@ -0,0 +1,181 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot
# title=foot
# locked-title=no
#font=Terminus:style=Bold:size=8
# font=monospace:size=8
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
# dpi-aware=yes
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
pad=5x5 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no
# bell=none
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
[bell]
# urgent=no
# notify=no
# command=
# command-focused=no
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'
[cursor]
# style=block
# color=111111 dcdccc
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
alpha=0.85
#foreground=dcdccc
#background=222222
## Normal/regular colors (color palette 0-7)
regular0=555555 # black
regular1=cc9393 # red
regular2=7f9f7f # green
regular3=d0bf8f # yellow
regular4=6ca0a3 # blue
regular5=dc8cc3 # magenta
regular6=93e0e3 # cyan
regular7=dcdccc # white
## Bright colors (color palette 8-15)
bright0=666666 # bright black
bright1=dca3a3 # bright red
bright2=bfebbf # bright green
bright3=f0dfaf # bright yellow
bright4=8cd0d3 # bright blue
bright5=fcace3 # bright magenta
bright6=b3ffff # bright cyan
bright7=ffffff # bright white
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3>
# urls=<regular3>
# scrollback-indicator=<regular0> <bright4>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c
# clipboard-paste=Control+Shift+v
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+u
# show-urls-copy=none
# noop=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+y
# primary-paste=Shift+Insert
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[mouse-bindings]
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3
+181
View File
@@ -0,0 +1,181 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot
# title=foot
# locked-title=no
font=UbuntuMonoNerdFont:size=8
# font=monospace:size=8
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
# dpi-aware=yes
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
pad=5x5 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no
# bell=none
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
[bell]
# urgent=no
# notify=no
# command=
# command-focused=no
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'
[cursor]
# style=block
# color=111111 dcdccc
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
alpha=0.85
#foreground=dcdccc
#background=222222
## Normal/regular colors (color palette 0-7)
regular0=555555 # black
regular1=cc9393 # red
regular2=7f9f7f # green
regular3=d0bf8f # yellow
regular4=6ca0a3 # blue
regular5=dc8cc3 # magenta
regular6=93e0e3 # cyan
regular7=dcdccc # white
## Bright colors (color palette 8-15)
bright0=666666 # bright black
bright1=dca3a3 # bright red
bright2=bfebbf # bright green
bright3=f0dfaf # bright yellow
bright4=8cd0d3 # bright blue
bright5=fcace3 # bright magenta
bright6=b3ffff # bright cyan
bright7=ffffff # bright white
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3>
# urls=<regular3>
# scrollback-indicator=<regular0> <bright4>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c
# clipboard-paste=Control+Shift+v
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+u
# show-urls-copy=none
# noop=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+y
# primary-paste=Shift+Insert
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[mouse-bindings]
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3
+1
View File
@@ -0,0 +1 @@
foot terminal configuration
+1
View File
@@ -0,0 +1 @@
foot terminal configuration
Binary file not shown.
+231
View File
@@ -0,0 +1,231 @@
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term foot
set $fb thunar
set $wb firefox
#xwayland enable
#set $menu dmenu_path | dmenu | xargs swaymsg exec --
include /etc/sway/config-vars.d/*
#exec_always python3 ~/.config/sway/neofetch.py
#exec waybar
set $configdir /home/astatin3/.config/sway/
exec_always pkill -f swaybg
exec_always python3 ~/.config/sway/neofetch.py
exec_always dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK &
exec_always pkill -f waybar
exec_always waybar
exec swayidle -w \
timeout 300 "/bin/bash $configdir/lock.sh ss" \
before-sleep "/bin/bash $configdir/lock.sh lock"
for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel none
set $menu exec $term -a launcher -e env ~/.config/sway/sway-launcher-desktop.sh
for_window [title="Picture-in-Picture"] floating enable, sticky enable
for_window [title="Application Finder"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel none
set $menug exec xfce4-appfinder
bindsym Print exec 'date="$(date '+%T')" && grim /tmp/$date.png && swaynag -m "Took screenshot, saved at $date"'
for_window [title="xfce4-notifyd"] floating enable, sticky enable, move position 0 0
#default_floating_border csd
default_border normal pixel 2
#gaps outer 5
focus_follows_mouse always
client.focused #373e48aa #1C1F24FF #D0D0D0FF #373e48aa #373e48aa
client.unfocused #1C1F2400 #1C1F24FF #D0D0D0FF #1C1F2400 #1C1F2400
client.focused_inactive #373e48aa #1C1F24FF #D0D0D0FF #373e48aa #373e48aa
floating_maximum_size 1920 x 1080
#exec_always ~/.config/sway/startapps.sh
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Keybind to launch file browser
bindsym $mod+Shift+s exec $fb ~
# Keybind to launch web browser
bindsym $mod+Shift+a exec $wb ~
# Start your launcher
bindsym $mod+d exec $menu
bindsym $mod+Shift+d exec $menug
bindsym $mod+l exec "/bin/bash $configdir/lock.sh lock"
bindsym $mod+Shift+l exec "/bin/bash $configdir/lock.sh ss"
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
#bindsym $mod+$right focus right
## Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
#bindsym $mod+Shift+$left move left
#bindsym $mod+Shift+$down move down
#bindsym $mod+Shift+$up move up
#bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Switch to workspace(with numpad)
bindsym $mod+KP_End workspace number 1
bindsym $mod+KP_Down workspace number 2
bindsym $mod+KP_Next workspace number 3
bindsym $mod+KP_Left workspace number 4
bindsym $mod+KP_Begin workspace number 5
bindsym $mod+KP_Right workspace number 6
bindsym $mod+KP_Home workspace number 7
bindsym $mod+KP_Up workspace number 8
bindsym $mod+KP_Prior workspace number 9
bindsym $mod+KP_Insert workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# move focused container to workspace (with numpad)
bindsym $mod+Shift+KP_End move container to workspace 1
bindsym $mod+Shift+KP_Down move container to workspace 2
bindsym $mod+Shift+KP_Next move container to workspace 3
bindsym $mod+Shift+KP_Left move container to workspace 4
bindsym $mod+Shift+KP_Begin move container to workspace 5
bindsym $mod+Shift+KP_Right move container to workspace 6
bindsym $mod+Shift+KP_Home move container to workspace 7
bindsym $mod+Shift+KP_Up move container to workspace 8
bindsym $mod+Shift+KP_Prior move container to workspace 9
bindsym $mod+Shift+KP_Insert move container to workspace 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
include /etc/sway/config.d/*
bindsym XF86MonBrightnessUp exec brightnessctl s +5%
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
@@ -0,0 +1,9 @@
# import variables into system-user enviroment
# based on the instructions in the sway wiki
# see also https://github.com/swaywm/sway/issues/5732
# and https://github.com/systemd/systemd/blob/dfc637d0ff756889e8e5b7cb4ec991eb06069aa1/xorg/50-systemd-user.sh
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+17
View File
@@ -0,0 +1,17 @@
_,met$$$$$gg.
,g$$$$$$$$$$$$$$$P.
,g$$P" """Y$$.".
,$$P' `$$$.
',$$P ,ggs. `$$b:
`d$$' ,$P"' . $$$
$$P d$' , $$P
$$: $$. - ,d$$'
$$; Y$b._ _,d$P'
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`"""
+55
View File
@@ -0,0 +1,55 @@
screenshotloc=/tmp/screensaver.png
sscommand="btop"
terminal="foot"
lockscreensaverdelay=30
termopendelay=0.2
curworkspace=$(swaymsg -pt get_workspaces | grep -o -P '(?<=Workspace\s).*(?=\s\(focused\))')
brightness=$(brightnessctl g)
function start {
#Create screenshot and blur
grim $screenshotloc
convert $screenshotloc -filter Gaussian -blur 0x8 $screenshotloc
#Open screensaver program for quick-change
swaymsg workspace "screensaver"
sleep 0.1
swaymsg exec $terminal $sscommand &
sleep "$termopendelay"
swaymsg fullscreen toggle
}
function stop {
swaymsg workspace $curworkspace
pkill -fn $sscommand
rm $screenshotloc
}
function doscreensaver {
swayidle timeout 1 "" resume "pkill -n swayidle"
dolock
}
function dolock {
pkill swaylock
swaymsg exec "swaylock -i $screenshotloc && pkill -n swayidle" &
swayidle timeout "$lockscreensaverdelay" "pkill -n swayidle"
if [[ "$(pidof 'swaylock')" != "" ]]; then
pkill swaylock
doscreensaver
fi
}
if [[ $1 == "lock" ]]; then
start
dolock
stop
elif [[ $1 == "ss" ]]; then
start
doscreensaver
stop
else
echo "invalid command, try 'ss' or 'lock'"
fi
+62
View File
@@ -0,0 +1,62 @@
import subprocess
import datetime
import os
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
try:
os.ulink("/tmp/wallpaper.png")
except:
x = None # Do nothing
#file = open("/home/astatin3/.config/sway/icon.txt","r")
#lines = file.readlines()
#file.close()
output = (subprocess.run(['neofetch', '--stdout'], capture_output=True, text=True).stdout).split("\n")
screenX = 0
screenY = 0
for i in range(0, len(output)-2, 1):
#lines[i] = lines[i][:-1] + output[i]
#print(lines[i])
if i == 0:
output[0] += f"at ({datetime.datetime.now().strftime('%m-%d %H:%M:%S')})"
if i == 8:
res = output[i].split(" ")[1].split("x")
screenX = int(res[0])
screenY = int(res[1])
#neofetch = "\n".join(lines)
icon = Image.open("/home/astatin3/.config/sway/icon.png")
iconsizeX, iconsizeY = icon.size
neofetch = "\n".join(output)
textSize = 0.01
iconscale = 0.0005
textoffsetX = 0.0 #Percentages
textoffsetY = -0.16
iconoffsetX = -0.145
iconoffsetY = -0.16
img = Image.new('RGB', (screenX, screenY), (31, 26, 32))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("/home/astatin3/.config/sway/UbuntuMonoNerdFontMono-Regular.ttf", textSize*screenX)
draw.text((textoffsetX*screenX+screenX/2, textoffsetY*screenY+screenY/2),neofetch,(199,0,57),font=font)
icon = icon.resize((round(iconscale*iconsizeX*screenY), round(iconscale*iconsizeY*screenY)), Image.Resampling.LANCZOS)
img.paste(icon, (round(iconoffsetX*screenX+screenX/2), round(iconoffsetY*screenY+screenY/2)))
img.save("/tmp/wallpaper.png")
#img.show()
subprocess.run(["swaybg", "-m", "fill", "-i", "/tmp/wallpaper.png"])
+34
View File
@@ -0,0 +1,34 @@
if [[ "$(pgrep -f 'lock')" != '' ]]
then
exit
fi
#cmd[0]="cmatrix"
#cmd[1]="hollywood"
#cmd[2]="termsaver sysmon"
#cmd[3]="termsaver wttr"
#cmd=${cmd[$[$RANDOM % ${#cmd[@]}]]}
cmd="hollywood"
term="foot"
grim "/tmp/swaylock.png"
convert "/tmp/swaylock.png" -filter Gaussian -blur 0x8 "/tmp/swaylock-blur.png"
rm "/tmp/swaylock.png"
workspace="$(swaymsg -t get_workspaces -p | grep -oP '(?<=Workspace\s).*?(?=\s\(focused\))')"
swaymsg workspace "screensaver"
swaymsg exec $term $cmd
sleep 0.5
swaymsg fullscreen
swayidle -w timeout 1 "" resume "pkill -n 'swayidle'"
swaylock -f -i "/tmp/swaylock-blur.png"
pkill -n -f "$term $cmd" &
swaymsg workspace $workspace &
rm "/tmp/swaylock-blur.png" &
+5
View File
@@ -0,0 +1,5 @@
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK &
pkill -f waybar &
pkill -f swaybg &
python3 ~/.config/sway/neofetch.py &
waybar &
+368
View File
@@ -0,0 +1,368 @@
#!/usr/bin/env bash
# terminal application launcher for sway, using fzf
# Based on: https://gitlab.com/FlyingWombat/my-scripts/blob/master/sway-launcher
# https://gist.github.com/Biont/40ef59652acf3673520c7a03c9f22d2a
shopt -s nullglob globstar
set -o pipefail
if ! { exec 0>&3; } 1>/dev/null 2>&1; then
exec 3>/dev/null # If file descriptor 3 is unused in parent shell, output to /dev/null
fi
# shellcheck disable=SC2154
trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
IFS=$'\n\t'
DEL=$'\34'
TERMINAL_COMMAND="${TERMINAL_COMMAND:="$TERMINAL"}"
GLYPH_COMMAND="${GLYPH_COMMAND- }"
GLYPH_DESKTOP="${GLYPH_DESKTOP- }"
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/sway-launcher-desktop"
PROVIDERS_FILE="${PROVIDERS_FILE:=providers.conf}"
if [[ "${PROVIDERS_FILE#/}" == "${PROVIDERS_FILE}" ]]; then
# $PROVIDERS_FILE is a relative path, prepend $CONFIG_DIR
PROVIDERS_FILE="${CONFIG_DIR}/${PROVIDERS_FILE}"
fi
# Provider config entries are separated by the field separator \034 and have the following structure:
# list_cmd,preview_cmd,launch_cmd,purge_cmd
declare -A PROVIDERS
if [ -f "${PROVIDERS_FILE}" ]; then
eval "$(awk -F= '
BEGINFILE{ provider=""; }
/^\[.*\]/{sub("^\\[", "");sub("\\]$", "");provider=$0}
/^(launch|list|preview|purge)_cmd/{st = index($0,"=");providers[provider][$1] = substr($0,st+1)}
ENDFILE{
for (key in providers){
if(!("list_cmd" in providers[key])){continue;}
if(!("launch_cmd" in providers[key])){continue;}
if(!("preview_cmd" in providers[key])){continue;}
if(!("purge_cmd" in providers[key])){providers[key]["purge_cmd"] = "exit 0";}
for (entry in providers[key]){
gsub(/[\x27,\047]/,"\x27\"\x27\"\x27", providers[key][entry])
}
print "PROVIDERS[\x27" key "\x27]=\x27" providers[key]["list_cmd"] "\034" providers[key]["preview_cmd"] "\034" providers[key]["launch_cmd"] "\034" providers[key]["purge_cmd"] "\x27\n"
}
}' "${PROVIDERS_FILE}")"
if [[ ! -v HIST_FILE ]]; then
HIST_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/${0##*/}-${PROVIDERS_FILE##*/}-history.txt"
fi
else
PROVIDERS['desktop']="${0} list-entries${DEL}${0} describe-desktop \"{1}\"${DEL}${0} run-desktop '{1}' {2}${DEL}test -f '{1}' || exit 43"
PROVIDERS['command']="${0} list-commands${DEL}${0} describe-command \"{1}\"${DEL}${TERMINAL_COMMAND} {1}${DEL}command -v '{1}' || exit 43"
if [[ ! -v HIST_FILE ]]; then
HIST_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/${0##*/}-history.txt"
fi
fi
PROVIDERS['user']="exit${DEL}exit${DEL}{1}" # Fallback provider that simply executes the exact command if there were no matches
if [[ -n "${HIST_FILE}" ]]; then
mkdir -p "${HIST_FILE%/*}" && touch "$HIST_FILE"
readarray HIST_LINES <"$HIST_FILE"
fi
function describe() {
# shellcheck disable=SC2086
readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[${1}]}
# shellcheck disable=SC2086
[ -n "${PROVIDER_ARGS[1]}" ] && eval "${PROVIDER_ARGS[1]//\{1\}/${2}}"
}
function describe-desktop() {
description=$(sed -ne '/^Comment=/{s/^Comment=//;p;q}' "$1")
echo -e "\033[33m$(sed -ne '/^Name=/{s/^Name=//;p;q}' "$1")\033[0m"
echo "${description:-No description}"
}
function describe-command() {
readarray arr < <(whatis -l "$1" 2>/dev/null)
description="${arr[0]}"
description="${description#* - }"
echo -e "\033[33m${1}\033[0m"
echo "${description:-No description}"
}
function provide() {
# shellcheck disable=SC2086
readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[$1]}
eval "${PROVIDER_ARGS[0]}"
}
function list-commands() {
IFS=: read -ra path <<<"$PATH"
for dir in "${path[@]}"; do
printf '%s\n' "$dir/"* |
awk -F / -v pre="$GLYPH_COMMAND" '{print $NF "\034command\034\033[31m" pre "\033[0m" $NF;}'
done | sort -u
}
function list-entries() {
# Get locations of desktop application folders according to spec
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
IFS=':' read -ra DIRS <<<"${XDG_DATA_HOME-${HOME}/.local/share}:${XDG_DATA_DIRS-/usr/local/share:/usr/share}"
for i in "${!DIRS[@]}"; do
if [[ ! -d "${DIRS[i]}" ]]; then
unset -v 'DIRS[$i]'
else
DIRS[$i]="${DIRS[i]}/applications/**/*.desktop"
fi
done
# shellcheck disable=SC2068
entries ${DIRS[@]}
}
function entries() {
# shellcheck disable=SC2068
awk -v pre="$GLYPH_DESKTOP" -F= '
function desktopFileID(filename){
sub("^.*applications/", "", filename);
sub("/", "-", filename);
return filename
}
BEGINFILE{
application=0;
hidden=0;
block="";
a=0
id=desktopFileID(FILENAME)
if(id in fileIds){
nextfile;
}else{
fileIds[id]=0
}
}
/^\[Desktop Entry\]/{block="entry"}
/^Type=Application/{application=1}
/^\[Desktop Action/{
sub("^\\[Desktop Action ", "");
sub("\\]$", "");
block="action";
a++;
actions[a,"key"]=$0
}
/^\[X-/{
sub("^\\[X-", "");
sub("\\]$", "");
block="action";
a++;
actions[a,"key"]=$0
}
/^Name=/{ (block=="action")? actions[a,"name"]=$2 : name=$2 }
/^NoDisplay=true/{ (block=="action")? actions[a,"hidden"]=1 : hidden=1 }
ENDFILE{
if (application){
if (!hidden)
print FILENAME "\034desktop\034\033[33m" pre name "\033[0m";
if (a>0)
for (i=1; i<=a; i++)
if (!actions[i, "hidden"])
print FILENAME "\034desktop\034\033[33m" pre name "\033[0m (" actions[i, "name"] ")\034" actions[i, "key"]
}
}' \
$@ </dev/null
# the empty stdin is needed in case no *.desktop files
}
function run-desktop() {
CMD="$("${0}" generate-command "$@" 2>&3)"
echo "Generated Launch command from .desktop file: ${CMD}" >&3
eval "${CMD}"
}
function generate-command() {
# Define the search pattern that specifies the block to search for within the .desktop file
PATTERN="^\\\\[Desktop Entry\\\\]"
if [[ -n $2 ]]; then
PATTERN="^\\\\[Desktop Action ${2}\\\\]"
fi
echo "Searching for pattern: ${PATTERN}" >&3
# 1. We see a line starting [Desktop, but we're already searching: deactivate search again
# 2. We see the specified pattern: start search
# 3. We see an Exec= line during search: remove field codes and set variable
# 3. We see a Path= line during search: set variable
# 4. Finally, build command line
awk -v pattern="${PATTERN}" -v terminal_cmd="${TERMINAL_COMMAND}" -F= '
BEGIN{a=0;exec=0;path=0}
/^\[Desktop/{
if(a){ a=0 }
}
$0 ~ pattern{ a=1 }
/^Terminal=/{
sub("^Terminal=", "");
if ($0 == "true") { terminal=1 }
}
/^Exec=/{
if(a && !exec){
sub("^Exec=", "");
gsub(" ?%[cDdFfikmNnUuv]", "");
exec=$0;
}
}
/^Path=/{
if(a && !path){ path=$2 }
}
END{
if(path){ printf "cd " path " && " }
printf "exec "
if (terminal){ printf terminal_cmd " " }
print exec
}' "$1"
}
function shouldAutostart() {
local condition="$(cat $1 | grep "AutostartCondition" | cut -d'=' -f2)"
local filename="${XDG_CONFIG_HOME-${HOME}/.config}/${condition#* }"
case $condition in
if-exists*)
[[ -e $filename ]]
;;
unless-exists*)
[[ ! -e $filename ]]
;;
*)
return 0
;;
esac
}
function autostart() {
for application in $(list-autostart); do
if shouldAutostart "$application" ; then
(exec setsid /bin/sh -c "$(run-desktop "${application}")" &>/dev/null &)
fi
done
}
function list-autostart() {
# Get locations of desktop application folders according to spec
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
IFS=':' read -ra DIRS <<<"${XDG_CONFIG_HOME-${HOME}/.config}:${XDG_CONFIG_DIRS-/etc/xdg}"
for i in "${!DIRS[@]}"; do
if [[ ! -d "${DIRS[i]}" ]]; then
unset -v 'DIRS[$i]'
else
DIRS[$i]="${DIRS[i]}/autostart/*.desktop"
fi
done
# shellcheck disable=SC2068
awk -v pre="$GLYPH_DESKTOP" -F= '
function desktopFileID(filename){
sub("^.*autostart/", "", filename);
sub("/", "-", filename);
return filename
}
BEGINFILE{
application=0;
block="";
disabled=0;
a=0
id=desktopFileID(FILENAME)
if(id in fileIds){
nextfile;
}else{
fileIds[id]=0
}
}
/^\[Desktop Entry\]/{block="entry"}
/^Type=Application/{application=1}
/^Name=/{ iname=$2 }
/^Hidden=true/{disabled=1}
ENDFILE{
if (application && !disabled){
print FILENAME;
}
}' \
${DIRS[@]} </dev/null
}
purge() {
# shellcheck disable=SC2188
> "${HIST_FILE}"
declare -A PURGE_CMDS
for PROVIDER_NAME in "${!PROVIDERS[@]}"; do
readarray -td ${DEL} PROVIDER_ARGS <<<${PROVIDERS[${PROVIDER_NAME}]}
PURGE_CMD=${PROVIDER_ARGS[3]}
[ -z "${PURGE_CMD}" ] && PURGE_CMD='test -f "{1}" || exit 43'
PURGE_CMDS[$PROVIDER_NAME]="${PURGE_CMD%$'\n'}"
done
for HIST_LINE in "${HIST_LINES[@]#*' '}"; do
readarray -td $'\034' HIST_ENTRY <<<${HIST_LINE}
ENTRY=${HIST_ENTRY[1]}
readarray -td ' ' FILTER <<<${PURGE_CMDS[$ENTRY]//\{1\}/${HIST_ENTRY[0]}}
(eval "${FILTER[@]}" 1>/dev/null) # Run filter command discarding output. We only want the exit status
if [[ $? -ne 43 ]]; then
echo "1 ${HIST_LINE[@]%$'\n'}" >> "${HIST_FILE}"
fi
done
}
case "$1" in
describe | describe-desktop | describe-command | entries | list-entries | list-commands | list-autostart | generate-command | autostart | run-desktop | provide | purge)
"$@"
exit
;;
esac
echo "Starting launcher instance with the following providers:" "${!PROVIDERS[@]}" >&3
FZFPIPE=$(mktemp -u)
mkfifo "$FZFPIPE"
trap 'rm "$FZFPIPE"' EXIT INT
# Append Launcher History, removing usage count
(printf '%s' "${HIST_LINES[@]#* }" >>"$FZFPIPE") &
# Iterate over providers and run their list-command
for PROVIDER_NAME in "${!PROVIDERS[@]}"; do
(bash -c "${0} provide ${PROVIDER_NAME}" >>"$FZFPIPE") &
done
readarray -t COMMAND_STR <<<$(
fzf --ansi +s -x -d '\034' --nth ..3 --with-nth 3 \
--print-query \
--preview "$0 describe {2} {1}" \
--preview-window=up:2:noborder \
--no-multi --cycle \
--prompt="${GLYPH_PROMPT-# }" \
--header='' --no-info --margin='1,2' \
--color='16,gutter:-1' \
<"$FZFPIPE"
) || exit 1
# Get the last line of the fzf output. If there were no matches, it contains the query which we'll treat as a custom command
# If there were matches, it contains the selected item
COMMAND_STR=$(printf '%s\n' "${COMMAND_STR[@]: -1}")
# We still need to format the query to conform to our fallback provider.
# We check for the presence of field separator character to determine if we're dealing with a custom command
if [[ $COMMAND_STR != *$'\034'* ]]; then
COMMAND_STR="${COMMAND_STR}"$'\034user\034'"${COMMAND_STR}"$'\034'
SKIP_HIST=1 # I chose not to include custom commands in the history. If this is a bad idea, open an issue please
fi
[ -z "$COMMAND_STR" ] && exit 1
if [[ -n "${HIST_FILE}" && ! "$SKIP_HIST" ]]; then
# update history
for i in "${!HIST_LINES[@]}"; do
if [[ "${HIST_LINES[i]}" == *" $COMMAND_STR"$'\n' ]]; then
HIST_COUNT=${HIST_LINES[i]%% *}
HIST_LINES[$i]="$((HIST_COUNT + 1)) $COMMAND_STR"$'\n'
match=1
break
fi
done
if ! ((match)); then
HIST_LINES+=("1 $COMMAND_STR"$'\n')
fi
printf '%s' "${HIST_LINES[@]}" | sort -nr >"$HIST_FILE"
fi
# shellcheck disable=SC2086
readarray -d $'\034' -t PARAMS <<<${COMMAND_STR}
# shellcheck disable=SC2086
readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[${PARAMS[1]}]}
# Substitute {1}, {2} etc with the correct values
COMMAND=${PROVIDER_ARGS[2]//\{1\}/${PARAMS[0]}}
COMMAND=${COMMAND//\{2\}/${PARAMS[3]}}
COMMAND=${COMMAND%%[[:space:]]}
if [ -t 1 ]; then
echo "Launching command: ${COMMAND}" >&3
setsid /bin/sh -c "${COMMAND}" >&/dev/null </dev/null &
sleep 0.01
else
echo "${COMMAND}"
fi
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" data-name="Layer 1" viewBox="0 0 50 64"><rect width="8" height="8" x="1" y="4" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="20" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="36" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="52" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="63" y1="8" y2="8" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="55" y1="24" y2="24" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="47" y1="40" y2="40" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="55" y1="56" y2="56" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chrome"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>

After

Width:  |  Height:  |  Size: 444 B

+250
View File
@@ -0,0 +1,250 @@
{
"layer": "bottom",
"height": 16,
"modules-left": [
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"cpu",
"custom/gap",
"memory",
"custom/gap",
"disk",
"custom/gap",
"backlight",
"custom/gap",
"pulseaudio",
"custom/gap",
"battery",
"custom/gap",
"network"
],
"modules-right": [
"custom/gap",
"clock"
],
"sway/workspaces": {
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": []
},
"all-outputs": true
},
"custom/terminal": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec foot",
},
"custom/filemanager": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'nautilus --new-window'",
},
"custom/browser": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'chromium --ozone-platform-hint=auto'",
},
"custom/libre": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec libreoffice",
},
"custom/mmfm": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec mmfm",
},
"custom/vmp": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec vmp",
},
"custom/printer": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec system-config-printer",
},
"custom/software": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec QT_QPA_PLATFORM=xcb appstore",
},
"custom/apps": {
"tooltip-format": "desktop",
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'wofi --show run'",
},
"custom/overview": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'echo 2 > /tmp/sov'",
},
"custom/settings": {
"tooltip-format": "shutdown/logout",
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'echo 2 > /tmp/wcp'",
},
"sway/language": {
"format": "{short} {variant}",
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/window":{
"max-length":50
},
"idle_inhibitor": {
"format": "idle | ",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"icon-size": 8,
"spacing": 20
},
"custom/clock-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once",
},
"clock": {
"timezone": "America/Denver",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": " {:%Y-%m-%d} ",
"format": " {:%H:%M} "
},
"custom/cpu-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once",
},
"cpu": {
"format": "[cpu:{usage:02}%]",
"tooltip": false
},
"custom/mem-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once",
},
"memory": {
"interval": 20,
"format": "[mem:{avail:0.1f}]"
},
"custom/disc-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span>",
"interval": "once",
},
"disk":{
"interval": 60,
"format":"[ssd:{free}]"
},
"custom/light-icon": {
"format": "<span font_family='Font Awesome 6' size='medium'></span>",
"interval": "once",
},
"backlight": {
"format": "[lcd:{percent}%]",
"format-icons": ["", ""],
"on-scroll-up" : "brightnessctl s 1%+",
"on-scroll-down" : "brightnessctl s 1%-"
},
"custom/batt-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span>",
"interval": "once",
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "[bat:{capacity}%]",
"format-charging": "[bat:{capacity}%]",
"format-plugged": "[bat:{capacity}%]",
"format-alt": "[bat:{time}]",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"custom/net-icon": {
"format": " <span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "iwgtk"
},
"network": {
"format-wifi": "[{essid} {ipaddr}]",
"format-ethernet": "[Eth {ipaddr}]",
"format-linked": "[{ifname} (CONF)]",
"format-disconnected": "[Disconnected]",
"on-click": "gnome-control-center network"
},
"custom/vol-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "pavucontrol"
},
"custom/energy-icon": {
"format": " <span font_family='Font Awesome 6' size='small'></span> ",
"interval": "once",
"on-click": "tlpui"
},
"custom/hardware-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "GDK_BACKEND=x11 hardinfo"
},
"pulseaudio": {
"format": "[vol:{volume}%]",
"format-bluetooth": "[vol:{volume}%]",
"format-bluetooth-muted": "[Muted]",
"format-muted": "[Muted {format_source}]",
"format-source": "[{volume}%]",
"format-source-muted": "[Muted]",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/lang-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> |",
"interval": "once",
},
"custom/gap": {
"format": " ",
"interval": "once",
},
"custom/dash": {
"format": "--",
"interval": "once",
},
"custom/lang": {
"format": " kbd:{} ",
"exec" : "swaymsg -t get_inputs | jq -r '.[] | select(.identifier == \"1165:49408:ITE_Tech._Inc._ITE_Device(8910)_Keyboard\") | .xkb_active_layout_name' | tail -1 | cut -c1,2",
"interval": 60
},
"tray": {
"icon-size": 14,
"spacing": 10
}
}
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14" height="14" viewBox="0 0 20 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
<title>folder</title>
<desc>Created with Sketch.</desc>
<g id="Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Rounded" transform="translate(-204.000000, -2284.000000)">
<g id="File" transform="translate(100.000000, 2226.000000)">
<g id="-Round-/-File-/-folder" transform="translate(102.000000, 54.000000)">
<g>
<polygon id="Path" points="0 0 24 0 24 24 0 24"></polygon>
<path d="M10.59,4.59 C10.21,4.21 9.7,4 9.17,4 L4,4 C2.9,4 2.01,4.9 2.01,6 L2,18 C2,19.1 2.9,20 4,20 L20,20 C21.1,20 22,19.1 22,18 L22,8 C22,6.9 21.1,6 20,6 L12,6 L10.59,4.59 Z" id="🔹-Icon-Color" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+1
View File
@@ -0,0 +1 @@
waybar status bar configuration
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="15" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 3.8.1 (29687) - http://www.bohemiancoding.com/sketch -->
<title>image_picture [#971]</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Dribbble-Light-Preview" transform="translate(-420.000000, -3881.000000)" fill="#FFFFFF">
<g id="icons" transform="translate(56.000000, 160.000000)">
<path d="M376.083,3725.667 C376.083,3724.562 376.978,3723.667 378.083,3723.667 C379.188,3723.667 380.083,3724.562 380.083,3725.667 C380.083,3726.772 379.188,3727.667 378.083,3727.667 C376.978,3727.667 376.083,3726.772 376.083,3725.667 L376.083,3725.667 Z M382,3733.086 L377.987,3729.074 L377.971,3729.089 L377.955,3729.074 L376.525,3730.504 L371.896,3725.876 L371.881,3725.892 L371.865,3725.876 L366,3731.741 L366,3723 L382,3723 L382,3733.086 Z M364,3737 L384,3737 L384,3721 L364,3721 L364,3737 Z" id="image_picture-[#971]"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="14" height="14
" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25 6.75H11C8.65279 6.75 6.75 8.65279 6.75 11V25C6.75 27.3472 8.65279 29.25 11 29.25H25C27.3472 29.25 29.25 27.3472 29.25 25V11C29.25 8.65279 27.3472 6.75 25 6.75Z" fill="white"/>
<path d="M53 6.75H39C36.6528 6.75 34.75 8.65279 34.75 11V25C34.75 27.3472 36.6528 29.25 39 29.25H53C55.3472 29.25 57.25 27.3472 57.25 25V11C57.25 8.65279 55.3472 6.75 53 6.75Z" fill="white"/>
<path d="M25 34.75H11C8.65279 34.75 6.75 36.6528 6.75 39V53C6.75 55.3472 8.65279 57.25 11 57.25H25C27.3472 57.25 29.25 55.3472 29.25 53V39C29.25 36.6528 27.3472 34.75 25 34.75Z" fill="white"/>
<path d="M53 34.75H39C36.6528 34.75 34.75 36.6528 34.75 39V53C34.75 55.3472 36.6528 57.25 39 57.25H53C55.3472 57.25 57.25 55.3472 57.25 53V39C57.25 36.6528 55.3472 34.75 53 34.75Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 929 B

+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" fill="#FFFFFF" width="14" height="14" viewBox="0 0 24 24">
<g>
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M7 17h10v5H7v-5zm12 3v-5H5v5H3a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2zM5 10v2h3v-2H5zm2-8h10a1 1 0 0 1 1 1v3H6V3a1 1 0 0 1 1-1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 400 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg fill="#FFFFFF" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 122.88 117.824" enable-background="new 0 0 122.88 117.824" xml:space="preserve"><g><path fill-rule="evenodd" clip-rule="evenodd" d="M122.774,16.459L122.774,16.459c0,5.393-4.412,9.805-9.805,9.805H92.202 c1.457-2.919,2.278-6.212,2.278-9.697c0-3.571-0.861-6.941-2.387-9.913h20.876C118.362,6.654,122.774,11.066,122.774,16.459 L122.774,16.459z M89.306,101.257c0,9.15-7.418,16.567-16.568,16.567s-16.567-7.417-16.567-16.567 c0-9.149,7.417-16.567,16.567-16.567S89.306,92.107,89.306,101.257L89.306,101.257z M122.869,101.148L122.869,101.148 c0,5.393-4.413,9.805-9.806,9.805H92.202c1.457-2.919,2.278-6.212,2.278-9.696c0-3.571-0.861-6.941-2.387-9.913h20.97 C118.457,91.344,122.869,95.756,122.869,101.148L122.869,101.148z M53.272,110.953H9.816c-5.393,0-9.805-4.412-9.805-9.805l0,0 c0-5.393,4.412-9.805,9.805-9.805h43.565c-1.525,2.972-2.387,6.342-2.387,9.913C50.994,104.741,51.815,108.034,53.272,110.953 L53.272,110.953z M28.326,58.717c0,9.149,7.418,16.567,16.568,16.567c9.149,0,16.567-7.418,16.567-16.567 c0-9.15-7.418-16.568-16.567-16.568C35.744,42.148,28.326,49.566,28.326,58.717L28.326,58.717z M0,58.608L0,58.608 c0,5.393,4.414,9.805,9.805,9.805h15.675c-1.457-2.92-2.278-6.169-2.278-9.696c0-3.528,0.861-6.941,2.387-9.914H9.805 C4.412,48.803,0,53.215,0,58.608L0,58.608z M64.409,68.413h48.666c5.392,0,9.805-4.412,9.805-9.805l0,0 c0-5.394-4.412-9.806-9.805-9.806H64.301c1.525,2.973,2.387,6.386,2.387,9.914C66.688,62.244,65.866,65.493,64.409,68.413 L64.409,68.413z M89.306,16.567c0,9.15-7.418,16.567-16.568,16.567S56.17,25.718,56.17,16.567C56.17,7.417,63.587,0,72.737,0 S89.306,7.417,89.306,16.567L89.306,16.567z M53.272,26.264H9.853c-5.393,0-9.805-4.413-9.805-9.805l0,0 c0-5.393,4.412-9.805,9.805-9.805h43.528c-1.525,2.972-2.387,6.342-2.387,9.913C50.994,20.052,51.815,23.345,53.272,26.264 L53.272,26.264z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg fill="#FFFFFF" version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="14" height="14"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<path d="M29.6,5.2C29.3,5,29,4.9,28.7,5.1c-4.3,1.4-8.7,0.3-12-2.8c-0.4-0.4-1-0.4-1.4,0c-3.3,3.1-7.7,4.2-12,2.8
C3,4.9,2.7,5,2.4,5.2C2.2,5.4,2,5.7,2,6c0,15.7,6.9,20.9,13.6,23.9C15.7,30,15.9,30,16,30s0.3,0,0.4-0.1C23.1,26.9,30,21.7,30,6
C30,5.7,29.8,5.4,29.6,5.2z M21.7,13.7l-6,6C15.5,19.9,15.3,20,15,20s-0.5-0.1-0.7-0.3l-3-3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0
l2.3,2.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0S22.1,13.3,21.7,13.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 805 B

+304
View File
@@ -0,0 +1,304 @@
* {
border: 0;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
/*font-family: Roboto, Helvetica, Arial, sans-serif;*/
/*font-family: Ubuntu;*/
font-family: "Terminus";
font-size: 16px;
font-weight: bold;
/* min-height: 16px; */
padding: 0;
margin: 0;
}
window#waybar {
background-color: rgba(0, 0, 0, 0);
color: #dedede;
/* border-bottom: 0.5px solid rgba(0, 0, 0, 0.1); */
/* transition-property: background-color; */
/* transition-duration: .5s; */
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
#tray {
margin-right: 5px;
}
#workspaces {
margin-left: 2px;
margin-top: 2px;
}
#workspaces button {
min-width: 15px;
padding-left: 3px;
padding-right: 3px;
/* margin: 0 0px; */
background-color: transparent;
color: #aeaeae;
/* border-bottom: 1px solid rgba(255,255,255,0.7); */
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inherit;
/* border-bottom: 1px solid #ffffff; */
}
#workspaces button.visible {
/* border-bottom: 1px solid rgba(255, 255, 255, 1.0); */
color: #666666;
}
#workspaces button.focused {
/* border-bottom: 1px solid rgba(255, 255, 255, 1.0); */
color: #fefefe;
}
#workspaces button.urgent {
color: #eb4d4b;
}
#workspaces button.persistent {
color: #555;
}
#mode {
background-color: #64727D;
/* border-bottom: 1px solid #ffffff; */
}
#backlight,
#pulseaudio,
#custom-lang,
#disk,
#battery,
#memory,
#network,
#cpu
{
color: rgba(255,255,255,0.3);
background-color: transparent;
/* border-bottom: 1px solid rgba(255, 255, 255, 0.7); */
}
#clock,
#temperature,
#custom-media,
#custom-wlogout,
#custom-pamac,
#tray,
#mode,
#idle_inhibitor,
#mpd {
color: #dedede;
/* border-bottom: 1px solid rgba(255, 255, 255, 0.7); */
margin-top: 2px;
}
#clock {
}
#battery {
}
#battery.charging {
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#cpu {
}
#memory {
}
#backlight {
}
#network {
}
#network.disconnected {
background-color: #f53c3c;
}
#pulseaudio {
}
#custom-apps {
background-image: url('/home/milgra/.config/waybar/apps.svg');
background-repeat: no-repeat;
margin-left: 5px;
margin-top: 7px;
}
#custom-terminal {
background-image: url('/home/milgra/.config/waybar/terminal.svg');
background-repeat: no-repeat;
margin-top: 5px;
}
#custom-filemanager {
background-image: url('/home/milgra/.config/waybar/filemanager.svg');
background-repeat: no-repeat;
margin-left: 9px;
margin-top: 6px;
}
#custom-browser {
background-image: url('/home/milgra/.config/waybar/browser.svg');
background-repeat: no-repeat;
margin-left: 7px;
margin-top: 6px;
}
#custom-libre {
background-image: url('/home/milgra/.config/waybar/word.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-mmfm {
background-image: url('/home/milgra/.config/waybar/mmfm.svg');
background-repeat: no-repeat;
/* background-position: center; */
margin-left: 7px;
margin-top: 7px;
}
#custom-vmp {
background-image: url('/home/milgra/.config/waybar/vmp.svg');
background-repeat: no-repeat;
/* background-position: center; */
margin-left: 9px;
margin-top: 7px;
}
#custom-printer {
background-image: url('/home/milgra/.config/waybar/printer.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-software {
background-image: url('/home/milgra/.config/waybar/software.svg');
background-repeat: no-repeat;
margin-top: 6px;
}
#custom-overview {
background-image: url('/home/milgra/.config/waybar/overview.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-settings {
background-image: url('/home/milgra/.config/waybar/settings.svg');
background-repeat: no-repeat;
margin-left: 5px;
margin-top: 7px;
}
#custom-month {
margin-top: 6px;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#custom-media {
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
}
#idle_inhibitor {
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="15" height="15"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 12v2h6v-2h-6zm-3.586-3l-2.828 2.828L7 16.243 11.243 12 7 7.757 5.586 9.172 8.414 12z" fill="#FFFFFF"/></svg>

After

Width:  |  Height:  |  Size: 366 B

+8
View File
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<svg fill="#FFFFFF" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 137.144 137.144" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 137.144 137.144">
<g>
<g>
<path d="m48.001,82.563c-1.108-0.18-2.255-0.276-3.429-0.276-9.468,0-17.143,6.14-17.143,13.715 0,7.574 7.675,13.714 17.143,13.714 9.468,0 17.143-6.14 17.143-13.714v-42.668l34.286-3.81v26.182c-1.108-0.18-2.254-0.276-3.428-0.276-9.468,0-17.143,6.14-17.143,13.714 0,7.574 7.675,13.715 17.143,13.715s17.143-6.141 17.143-13.715v-61.715l-61.715,6.857v48.277zm61.714-82.563h-82.286c-15.149,0-27.429,12.28-27.429,27.429v82.287c0,15.148 12.28,27.429 27.429,27.429h82.286c15.149,0 27.429-12.28 27.429-27.429v-82.287c0-15.149-12.28-27.429-27.429-27.429zm13.715,102.858c0,11.362-9.21,20.571-20.571,20.571h-68.573c-11.361,0-20.572-9.21-20.572-20.571v-68.572c0-11.361 9.21-20.572 20.572-20.572h68.572c11.361,0 20.571,9.21 20.571,20.572v68.572z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" data-name="Layer 1" viewBox="0 0 50 64"><rect width="8" height="8" x="1" y="4" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="20" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="36" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><rect width="8" height="8" x="1" y="52" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="63" y1="8" y2="8" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="55" y1="24" y2="24" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="47" y1="40" y2="40" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/><line x1="19" x2="55" y1="56" y2="56" fill="none" stroke="#FFFFFF" stroke-miterlimit="10" stroke-width="4"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chrome"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>

After

Width:  |  Height:  |  Size: 444 B

+252
View File
@@ -0,0 +1,252 @@
{
"layer": "bottom",
"height": 16,
"modules-left": [
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"cpu",
"custom/gap",
"memory",
"custom/gap",
"disk",
"custom/gap",
"backlight",
"custom/gap",
"pulseaudio",
"custom/gap",
"battery",
"custom/gap",
"network"
],
"modules-right": [
"custom/gap",
"clock"
],
"sway/workspaces": {
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": []
},
"all-outputs": true
},
"custom/terminal": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec foot",
},
"custom/filemanager": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'nautilus --new-window'",
},
"custom/browser": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'chromium --ozone-platform-hint=auto'",
},
"custom/libre": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec libreoffice",
},
"custom/mmfm": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec mmfm",
},
"custom/vmp": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec vmp",
},
"custom/printer": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec system-config-printer",
},
"custom/software": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec QT_QPA_PLATFORM=xcb appstore",
},
"custom/apps": {
"tooltip-format": "desktop",
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'wofi --show run'",
},
"custom/overview": {
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'echo 2 > /tmp/sov'",
},
"custom/settings": {
"tooltip-format": "shutdown/logout",
"format": " ",
"interval": "once",
"on-click": "swaymsg exec 'echo 2 > /tmp/wcp'",
},
"sway/language": {
"format": "{short} {variant}",
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/window":{
"max-length":50
},
"idle_inhibitor": {
"format": "idle | ",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"icon-size": 8,
"spacing": 20
},
"custom/clock-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once",
},
"clock": {
"timezone": "America/Denver",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": " {:%Y-%m-%d} ",
"format": " {:%H:%M} "
},
"custom/cpu-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once"
},
"cpu": {
"format": "[cpu:{usage:02}%]",
"tooltip": false,
"on-click": "lxtask"
},
"custom/mem-icon": {
"format": "<span font_family='Font Awesome 6' size='x-large'></span>",
"interval": "once",
},
"memory": {
"interval": 20,
"format": "[mem:{avail:0.1f}]",
"on-click": "lxtask"
},
"custom/disc-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span>",
"interval": "once",
},
"disk":{
"interval": 60,
"format":"[ssd:{free}]"
},
"custom/light-icon": {
"format": "<span font_family='Font Awesome 6' size='medium'></span>",
"interval": "once",
},
"backlight": {
"format": "[lcd:{percent}%]",
"format-icons": ["", ""],
"on-scroll-up" : "brightnessctl s 1%+",
"on-scroll-down" : "brightnessctl s 1%-"
},
"custom/batt-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span>",
"interval": "once",
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "[bat:{capacity}%]",
"format-charging": "[bat:{capacity}%]",
"format-plugged": "[bat:{capacity}%]",
"format-alt": "[bat:{time}]",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"custom/net-icon": {
"format": " <span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "iwgtk"
},
"network": {
"format-wifi": "[{essid} {ipaddr}]",
"format-ethernet": "[Eth {ipaddr}]",
"format-linked": "[{ifname} (CONF)]",
"format-disconnected": "[Disconnected]",
"on-click": "nm-connection-editor"
},
"custom/vol-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "pavucontrol"
},
"custom/energy-icon": {
"format": " <span font_family='Font Awesome 6' size='small'></span> ",
"interval": "once",
"on-click": "tlpui"
},
"custom/hardware-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> ",
"interval": "once",
"on-click": "GDK_BACKEND=x11 hardinfo"
},
"pulseaudio": {
"format": "[vol:{volume}%]",
"format-bluetooth": "[vol:{volume}%]",
"format-bluetooth-muted": "[Muted]",
"format-muted": "[Muted {format_source}]",
"format-source": "[{volume}%]",
"format-source-muted": "[Muted]",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/lang-icon": {
"format": "<span font_family='Font Awesome 6' size='xx-large'></span> |",
"interval": "once",
},
"custom/gap": {
"format": " ",
"interval": "once",
},
"custom/dash": {
"format": "--",
"interval": "once",
},
"custom/lang": {
"format": " kbd:{} ",
"exec" : "swaymsg -t get_inputs | jq -r '.[] | select(.identifier == \"1165:49408:ITE_Tech._Inc._ITE_Device(8910)_Keyboard\") | .xkb_active_layout_name' | tail -1 | cut -c1,2",
"interval": 60
},
"tray": {
"icon-size": 14,
"spacing": 10
}
}
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14" height="14" viewBox="0 0 20 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
<title>folder</title>
<desc>Created with Sketch.</desc>
<g id="Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Rounded" transform="translate(-204.000000, -2284.000000)">
<g id="File" transform="translate(100.000000, 2226.000000)">
<g id="-Round-/-File-/-folder" transform="translate(102.000000, 54.000000)">
<g>
<polygon id="Path" points="0 0 24 0 24 24 0 24"></polygon>
<path d="M10.59,4.59 C10.21,4.21 9.7,4 9.17,4 L4,4 C2.9,4 2.01,4.9 2.01,6 L2,18 C2,19.1 2.9,20 4,20 L20,20 C21.1,20 22,19.1 22,18 L22,8 C22,6.9 21.1,6 20,6 L12,6 L10.59,4.59 Z" id="🔹-Icon-Color" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+1
View File
@@ -0,0 +1 @@
waybar status bar configuration
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="15" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 3.8.1 (29687) - http://www.bohemiancoding.com/sketch -->
<title>image_picture [#971]</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Dribbble-Light-Preview" transform="translate(-420.000000, -3881.000000)" fill="#FFFFFF">
<g id="icons" transform="translate(56.000000, 160.000000)">
<path d="M376.083,3725.667 C376.083,3724.562 376.978,3723.667 378.083,3723.667 C379.188,3723.667 380.083,3724.562 380.083,3725.667 C380.083,3726.772 379.188,3727.667 378.083,3727.667 C376.978,3727.667 376.083,3726.772 376.083,3725.667 L376.083,3725.667 Z M382,3733.086 L377.987,3729.074 L377.971,3729.089 L377.955,3729.074 L376.525,3730.504 L371.896,3725.876 L371.881,3725.892 L371.865,3725.876 L366,3731.741 L366,3723 L382,3723 L382,3733.086 Z M364,3737 L384,3737 L384,3721 L364,3721 L364,3737 Z" id="image_picture-[#971]"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="14" height="14
" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25 6.75H11C8.65279 6.75 6.75 8.65279 6.75 11V25C6.75 27.3472 8.65279 29.25 11 29.25H25C27.3472 29.25 29.25 27.3472 29.25 25V11C29.25 8.65279 27.3472 6.75 25 6.75Z" fill="white"/>
<path d="M53 6.75H39C36.6528 6.75 34.75 8.65279 34.75 11V25C34.75 27.3472 36.6528 29.25 39 29.25H53C55.3472 29.25 57.25 27.3472 57.25 25V11C57.25 8.65279 55.3472 6.75 53 6.75Z" fill="white"/>
<path d="M25 34.75H11C8.65279 34.75 6.75 36.6528 6.75 39V53C6.75 55.3472 8.65279 57.25 11 57.25H25C27.3472 57.25 29.25 55.3472 29.25 53V39C29.25 36.6528 27.3472 34.75 25 34.75Z" fill="white"/>
<path d="M53 34.75H39C36.6528 34.75 34.75 36.6528 34.75 39V53C34.75 55.3472 36.6528 57.25 39 57.25H53C55.3472 57.25 57.25 55.3472 57.25 53V39C57.25 36.6528 55.3472 34.75 53 34.75Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 929 B

+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" fill="#FFFFFF" width="14" height="14" viewBox="0 0 24 24">
<g>
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M7 17h10v5H7v-5zm12 3v-5H5v5H3a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2zM5 10v2h3v-2H5zm2-8h10a1 1 0 0 1 1 1v3H6V3a1 1 0 0 1 1-1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 400 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg fill="#FFFFFF" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 122.88 117.824" enable-background="new 0 0 122.88 117.824" xml:space="preserve"><g><path fill-rule="evenodd" clip-rule="evenodd" d="M122.774,16.459L122.774,16.459c0,5.393-4.412,9.805-9.805,9.805H92.202 c1.457-2.919,2.278-6.212,2.278-9.697c0-3.571-0.861-6.941-2.387-9.913h20.876C118.362,6.654,122.774,11.066,122.774,16.459 L122.774,16.459z M89.306,101.257c0,9.15-7.418,16.567-16.568,16.567s-16.567-7.417-16.567-16.567 c0-9.149,7.417-16.567,16.567-16.567S89.306,92.107,89.306,101.257L89.306,101.257z M122.869,101.148L122.869,101.148 c0,5.393-4.413,9.805-9.806,9.805H92.202c1.457-2.919,2.278-6.212,2.278-9.696c0-3.571-0.861-6.941-2.387-9.913h20.97 C118.457,91.344,122.869,95.756,122.869,101.148L122.869,101.148z M53.272,110.953H9.816c-5.393,0-9.805-4.412-9.805-9.805l0,0 c0-5.393,4.412-9.805,9.805-9.805h43.565c-1.525,2.972-2.387,6.342-2.387,9.913C50.994,104.741,51.815,108.034,53.272,110.953 L53.272,110.953z M28.326,58.717c0,9.149,7.418,16.567,16.568,16.567c9.149,0,16.567-7.418,16.567-16.567 c0-9.15-7.418-16.568-16.567-16.568C35.744,42.148,28.326,49.566,28.326,58.717L28.326,58.717z M0,58.608L0,58.608 c0,5.393,4.414,9.805,9.805,9.805h15.675c-1.457-2.92-2.278-6.169-2.278-9.696c0-3.528,0.861-6.941,2.387-9.914H9.805 C4.412,48.803,0,53.215,0,58.608L0,58.608z M64.409,68.413h48.666c5.392,0,9.805-4.412,9.805-9.805l0,0 c0-5.394-4.412-9.806-9.805-9.806H64.301c1.525,2.973,2.387,6.386,2.387,9.914C66.688,62.244,65.866,65.493,64.409,68.413 L64.409,68.413z M89.306,16.567c0,9.15-7.418,16.567-16.568,16.567S56.17,25.718,56.17,16.567C56.17,7.417,63.587,0,72.737,0 S89.306,7.417,89.306,16.567L89.306,16.567z M53.272,26.264H9.853c-5.393,0-9.805-4.413-9.805-9.805l0,0 c0-5.393,4.412-9.805,9.805-9.805h43.528c-1.525,2.972-2.387,6.342-2.387,9.913C50.994,20.052,51.815,23.345,53.272,26.264 L53.272,26.264z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg fill="#FFFFFF" version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="14" height="14"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<path d="M29.6,5.2C29.3,5,29,4.9,28.7,5.1c-4.3,1.4-8.7,0.3-12-2.8c-0.4-0.4-1-0.4-1.4,0c-3.3,3.1-7.7,4.2-12,2.8
C3,4.9,2.7,5,2.4,5.2C2.2,5.4,2,5.7,2,6c0,15.7,6.9,20.9,13.6,23.9C15.7,30,15.9,30,16,30s0.3,0,0.4-0.1C23.1,26.9,30,21.7,30,6
C30,5.7,29.8,5.4,29.6,5.2z M21.7,13.7l-6,6C15.5,19.9,15.3,20,15,20s-0.5-0.1-0.7-0.3l-3-3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0
l2.3,2.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0S22.1,13.3,21.7,13.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 805 B

+304
View File
@@ -0,0 +1,304 @@
* {
border: 0;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
/*font-family: Roboto, Helvetica, Arial, sans-serif;*/
/*font-family: Ubuntu;*/
font-family: "Terminus";
font-size: 16px;
font-weight: bold;
/* min-height: 16px; */
padding: 0;
margin: 0;
}
window#waybar {
background-color: rgba(0, 0, 0, 0);
color: #dedede;
/* border-bottom: 0.5px solid rgba(0, 0, 0, 0.1); */
/* transition-property: background-color; */
/* transition-duration: .5s; */
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
#tray {
margin-right: 5px;
}
#workspaces {
margin-left: 2px;
margin-top: 2px;
}
#workspaces button {
min-width: 15px;
padding-left: 3px;
padding-right: 3px;
/* margin: 0 0px; */
background-color: transparent;
color: #aeaeae;
/* border-bottom: 1px solid rgba(255,255,255,0.7); */
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inherit;
/* border-bottom: 1px solid #ffffff; */
}
#workspaces button.visible {
/* border-bottom: 1px solid rgba(255, 255, 255, 1.0); */
color: #666666;
}
#workspaces button.focused {
/* border-bottom: 1px solid rgba(255, 255, 255, 1.0); */
color: #fefefe;
}
#workspaces button.urgent {
color: #eb4d4b;
}
#workspaces button.persistent {
color: #555;
}
#mode {
background-color: #64727D;
/* border-bottom: 1px solid #ffffff; */
}
#backlight,
#pulseaudio,
#custom-lang,
#disk,
#battery,
#memory,
#network,
#cpu
{
color: rgba(255,255,255,0.3);
background-color: transparent;
/* border-bottom: 1px solid rgba(255, 255, 255, 0.7); */
}
#clock,
#temperature,
#custom-media,
#custom-wlogout,
#custom-pamac,
#tray,
#mode,
#idle_inhibitor,
#mpd {
color: #dedede;
/* border-bottom: 1px solid rgba(255, 255, 255, 0.7); */
margin-top: 2px;
}
#clock {
}
#battery {
}
#battery.charging {
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#cpu {
}
#memory {
}
#backlight {
}
#network {
}
#network.disconnected {
background-color: #f53c3c;
}
#pulseaudio {
}
#custom-apps {
background-image: url('/home/milgra/.config/waybar/apps.svg');
background-repeat: no-repeat;
margin-left: 5px;
margin-top: 7px;
}
#custom-terminal {
background-image: url('/home/milgra/.config/waybar/terminal.svg');
background-repeat: no-repeat;
margin-top: 5px;
}
#custom-filemanager {
background-image: url('/home/milgra/.config/waybar/filemanager.svg');
background-repeat: no-repeat;
margin-left: 9px;
margin-top: 6px;
}
#custom-browser {
background-image: url('/home/milgra/.config/waybar/browser.svg');
background-repeat: no-repeat;
margin-left: 7px;
margin-top: 6px;
}
#custom-libre {
background-image: url('/home/milgra/.config/waybar/word.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-mmfm {
background-image: url('/home/milgra/.config/waybar/mmfm.svg');
background-repeat: no-repeat;
/* background-position: center; */
margin-left: 7px;
margin-top: 7px;
}
#custom-vmp {
background-image: url('/home/milgra/.config/waybar/vmp.svg');
background-repeat: no-repeat;
/* background-position: center; */
margin-left: 9px;
margin-top: 7px;
}
#custom-printer {
background-image: url('/home/milgra/.config/waybar/printer.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-software {
background-image: url('/home/milgra/.config/waybar/software.svg');
background-repeat: no-repeat;
margin-top: 6px;
}
#custom-overview {
background-image: url('/home/milgra/.config/waybar/overview.svg');
background-repeat: no-repeat;
margin-left: 4px;
margin-top: 6px;
}
#custom-settings {
background-image: url('/home/milgra/.config/waybar/settings.svg');
background-repeat: no-repeat;
margin-left: 5px;
margin-top: 7px;
}
#custom-month {
margin-top: 6px;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#custom-media {
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
}
#idle_inhibitor {
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="15" height="15"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 12v2h6v-2h-6zm-3.586-3l-2.828 2.828L7 16.243 11.243 12 7 7.757 5.586 9.172 8.414 12z" fill="#FFFFFF"/></svg>

After

Width:  |  Height:  |  Size: 366 B

+8
View File
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<svg fill="#FFFFFF" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 137.144 137.144" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 137.144 137.144">
<g>
<g>
<path d="m48.001,82.563c-1.108-0.18-2.255-0.276-3.429-0.276-9.468,0-17.143,6.14-17.143,13.715 0,7.574 7.675,13.714 17.143,13.714 9.468,0 17.143-6.14 17.143-13.714v-42.668l34.286-3.81v26.182c-1.108-0.18-2.254-0.276-3.428-0.276-9.468,0-17.143,6.14-17.143,13.714 0,7.574 7.675,13.715 17.143,13.715s17.143-6.141 17.143-13.715v-61.715l-61.715,6.857v48.277zm61.714-82.563h-82.286c-15.149,0-27.429,12.28-27.429,27.429v82.287c0,15.148 12.28,27.429 27.429,27.429h82.286c15.149,0 27.429-12.28 27.429-27.429v-82.287c0-15.149-12.28-27.429-27.429-27.429zm13.715,102.858c0,11.362-9.21,20.571-20.571,20.571h-68.573c-11.361,0-20.572-9.21-20.572-20.571v-68.572c0-11.361 9.21-20.572 20.572-20.572h68.572c11.361,0 20.571,9.21 20.571,20.572v68.572z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="14" height="14"><title>Document</title><g id="Document"><path d="M26.869,8a2.99,2.99,0,0,0-.748-1.293L22.293,2.879A2.99,2.99,0,0,0,21,2.131V6a2,2,0,0,0,2,2Z"/><path d="M23,10a4,4,0,0,1-4-4V2H10A5,5,0,0,0,5,7V25a5,5,0,0,0,5,5H22a5,5,0,0,0,5-5V10ZM11,10h4a1,1,0,0,1,0,2H11a1,1,0,0,1,0-2Zm8,14H11a1,1,0,0,1,0-2h8a1,1,0,0,1,0,2Zm2-4H11a1,1,0,0,1,0-2H21a1,1,0,0,1,0,2Zm0-4H11a1,1,0,0,1,0-2H21a1,1,0,0,1,0,2Z"/></g></svg>

After

Width:  |  Height:  |  Size: 550 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="14" height="14"><title>Document</title><g id="Document"><path d="M26.869,8a2.99,2.99,0,0,0-.748-1.293L22.293,2.879A2.99,2.99,0,0,0,21,2.131V6a2,2,0,0,0,2,2Z"/><path d="M23,10a4,4,0,0,1-4-4V2H10A5,5,0,0,0,5,7V25a5,5,0,0,0,5,5H22a5,5,0,0,0,5-5V10ZM11,10h4a1,1,0,0,1,0,2H11a1,1,0,0,1,0-2Zm8,14H11a1,1,0,0,1,0-2h8a1,1,0,0,1,0,2Zm2-4H11a1,1,0,0,1,0-2H21a1,1,0,0,1,0,2Zm0-4H11a1,1,0,0,1,0-2H21a1,1,0,0,1,0,2Z"/></g></svg>

After

Width:  |  Height:  |  Size: 550 B