summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/dunst/dunstrc44
-rw-r--r--.config/fontconfig/fonts.conf1
-rw-r--r--.config/foot/foot.ini249
-rw-r--r--.config/git/config5
-rwxr-xr-x.config/lf/icons4
-rwxr-xr-x.config/lf/lfrc3
-rwxr-xr-x.config/lf/scope82
-rw-r--r--.config/shortcutrc29
l---------.config/waybar/config1
-rw-r--r--.config/waybar/config.json27
-rw-r--r--.config/waybar/modules.json66
-rw-r--r--.config/waybar/style.css56
-rwxr-xr-x.local/bin/colorbars48
-rwxr-xr-x.local/bin/dropdowntoggle4
-rwxr-xr-x.local/bin/dwmbar/dwmb-battery2
-rwxr-xr-x.local/bin/dwmbar/dwmb-date5
-rwxr-xr-x.local/bin/dwmbar/dwmb-dotfiles2
-rwxr-xr-x.local/bin/dwmbar/dwmb-eselect12
-rwxr-xr-x.local/bin/dwmbar/dwmb-mail6
-rwxr-xr-x.local/bin/dwmbar/dwmb-time5
-rwxr-xr-x.local/bin/makewall13
-rw-r--r--.profile20
22 files changed, 508 insertions, 176 deletions
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
index b38e994..ca6c477 100644
--- a/.config/dunst/dunstrc
+++ b/.config/dunst/dunstrc
@@ -2,8 +2,7 @@
frame_width = 0
frame_color = "#788388"
- Font = Brutalist Mono 14
-
+ font = Sans 8
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
@@ -14,7 +13,7 @@
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
- markup = yes
+ markup = full
# The format of the message. Possible variables are:
# %a appname
@@ -36,13 +35,6 @@
# Possible values are "left", "center" and "right".
alignment = left
- # The frequency with wich text that is longer than the notification
- # window allows bounces back and forth.
- # This option conflicts with "word_wrap".
- # Set to 0 to disable.
- bounce_freq = 5
-
-
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
@@ -56,26 +48,14 @@
ignore_newline = no
- # The geometry of the window:
- # [{width}]x{height}[+/-{x}+/-{y}]
- # The geometry of the message window.
- # The height is measured in number of notifications everything else
- # in pixels. If the width is omitted but the height is given
- # ("-geometry x2"), the message window expands over the whole screen
- # (dmenu-like). If width is 0, the window expands to the longest
- # message displayed. A positive x is measured from the left, a
- # negative from the right side of the screen. Y is measured from
- # the top and down respectevly.
- # The width can be negative. In this case the actual width is the
- # screen width minus the width defined in within the geometry option.
- geometry = "0x4-25-25"
-
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius=5
+ origin=bottom-right
+ offset=5
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
@@ -84,7 +64,7 @@
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
- transparency = 0
+ transparency = 80
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
@@ -144,16 +124,11 @@
separator_color = auto
# separator_color = #263238
- # Print a notification on startup.
- # This is mainly for error detection, since dbus (re-)starts dunst
- # automatically after a crash.
- startup_notification = false
-
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
- browser = firefox
+ browser = firefox-bin
# Align icons left/right/off
icon_position = right
@@ -164,13 +139,6 @@
# Limit icons size.
max_icon_size=100
-[shortcuts]
-
- # Shortcuts are specified as [modifier+][modifier+]...key
- # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
- # "mod3" and "mod4" (windows-key).
- # Xev might be helpful to find names for keys.
-
# Close notification.
close = mod1+space
diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf
index 7916511..a9267e8 100644
--- a/.config/fontconfig/fonts.conf
+++ b/.config/fontconfig/fonts.conf
@@ -13,6 +13,7 @@
<prefer>
<family>Vulf Sans</family>
<family>Noto Color Emoji</family>
+ <family>GoMono Nerd Font</family>
</prefer>
</alias>
<alias>
diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini
new file mode 100644
index 0000000..9d486a5
--- /dev/null
+++ b/.config/foot/foot.ini
@@ -0,0 +1,249 @@
+# -*- 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 # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
+title=foot
+# locked-title=no
+
+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>
+# font-size-adjustment=0.5
+# line-height=<font metrics>
+# letter-spacing=0
+# horizontal-letter-offset=0
+# vertical-letter-offset=0
+# underline-offset=<font metrics>
+# underline-thickness=<font underline thickness>
+# box-drawings-uses-font-glyphs=no
+# dpi-aware=no
+
+# initial-window-size-pixels=700x500 # Or,
+# initial-window-size-chars=<COLSxROWS>
+# initial-window-mode=windowed
+# pad=0x0 # optionally append 'center'
+# resize-by-cells=yes
+# resize-delay-ms=100
+
+# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
+
+# bold-text-in-bright=no
+# word-delimiters=,│`|:"'()[]{}<>
+# selection-target=primary
+# workers=<number of logical CPUs>
+# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
+# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
+
+[environment]
+# name=value
+
+[bell]
+# urgent=no
+# notify=no
+# visual=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, rsync
+uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
+
+[cursor]
+style=block
+# color=<inverse foreground/background>
+# blink=no
+# blink-rate=500
+# beam-thickness=1.5
+# underline-thickness=<font underline thickness>
+
+[mouse]
+hide-when-typing=yes
+# alternate-scroll-mode=yes
+
+[touch]
+# long-press-delay=400
+
+[colors]
+alpha=0.82
+background=111a1f
+foreground=acb3b5
+# flash=7f7f00
+# flash-alpha=0.5
+
+regular0=111a1f
+regular1=8d7856
+regular2=798362
+regular3=9b9257
+regular4=63768a
+regular5=b7416e
+regular6=6998b3
+regular7=c5c8c6
+
+bright0=868b8d
+bright1=810002
+bright2=037500
+bright3=ebcb88
+bright4=779988
+bright5=738c9c
+bright6=66aabb
+bright7=c0c7ca
+
+## Normal/regular colors (color palette 0-7)
+# regular0=242424 # black
+# regular1=f62b5a # red
+# regular2=47b413 # green
+# regular3=e3c401 # yellow
+# regular4=24acd4 # blue
+# regular5=f2affd # magenta
+# regular6=13c299 # cyan
+# regular7=e6e6e6 # white
+
+## Bright colors (color palette 8-15)
+# bright0=616161 # bright black
+# bright1=ff4d51 # bright red
+# bright2=35d450 # bright green
+# bright3=e9e836 # bright yellow
+# bright4=5dc5f8 # bright blue
+# bright5=feabf2 # bright magenta
+# bright6=24dfc4 # 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> # black-on-yellow
+# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
+# search-box-no-match=<regular0> <regular1> # black-on-red
+# search-box-match=<regular0> <regular3> # black-on-yellow
+# urls=<regular3>
+
+[csd]
+# preferred=server
+# size=26
+# font=<primary font>
+# color=<foreground color>
+# hide-when-maximized=no
+# double-click-to-maximize=yes
+# 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
+# scrollback-home=none
+# scrollback-end=none
+clipboard-copy=Mod1+c XF86Copy
+clipboard-paste=Mod1+v XF86Paste
+# primary-paste=Shift+Insert
+# search-start=Control+Shift+r
+font-increase=Mod1+Shift+k Control+equal Control+KP_Add
+font-decrease=Mod1+Shift+j Control+KP_Subtract
+font-reset=Mod1+Shift+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
+# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
+# show-urls-launch=Control+Shift+o
+# show-urls-copy=none
+# show-urls-persistent=none
+# prompt-prev=Control+Shift+z
+# prompt-next=Control+Shift+x
+# unicode-input=Control+Shift+u
+# 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-char=Shift+Right
+# extend-to-word-boundary=Control+w Control+Shift+Right
+# extend-to-next-whitespace=Control+Shift+w
+# extend-line-down=Shift+Down
+# extend-backward-char=Shift+Left
+# extend-backward-to-word-boundary=Control+Shift+Left
+# extend-backward-to-next-whitespace=none
+# extend-line-up=Shift+Up
+# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
+# primary-paste=Shift+Insert
+# unicode-input=none
+# quit=none
+# 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
+# scrollback-home=none
+# scrollback-end=none
+
+[url-bindings]
+# cancel=Control+g Control+c Control+d Escape
+# toggle-url-visible=t
+
+[text-bindings]
+# \x03=Mod4+c # Map Super+c -> Ctrl+c
+
+[mouse-bindings]
+# scrollback-up-mouse=BTN_WHEEL_BACK
+# scrollback-down-mouse=BTN_WHEEL_FORWARD
+# font-increase=Control+BTN_WHEEL_BACK
+# font-decrease=Control+BTN_WHEEL_FORWARD
+# selection-override-modifiers=Shift
+# 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-quote = BTN_LEFT-3
+# select-row=BTN_LEFT-4
+
+# vim: ft=dosini
diff --git a/.config/git/config b/.config/git/config
index 61b945e..00ece71 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -12,3 +12,8 @@ signingkey = ABC4A5A7430D6309ACBD219044F94DD6456590C3
rebase = false
[commit]
gpgsign = true
+[sendemail]
+ smtpserver = mail.chausse.xyz
+ smtpuser = benjamin
+ smtpserverport = 587
+ smtpencryption = tls
diff --git a/.config/lf/icons b/.config/lf/icons
index 323ceb7..63a3ac3 100755
--- a/.config/lf/icons
+++ b/.config/lf/icons
@@ -1,5 +1,6 @@
di 󰉋
fi 󰈔
+pi 
tw 
ow 󰉋
ln 󱅷
@@ -9,6 +10,7 @@ ex 󱁼
*.yaml 󱁻
*.conf 󱁻
*.go 
+*.mod 󱉟
*.org 
*.norg 
*.bak 
@@ -107,7 +109,7 @@ ex 󱁼
*.ged 👪
*.part 󰴔
*.torrent 󰻈
-*.jar 
+*.jar 
*.java 
*.wiki 
*.sql 󱙋
diff --git a/.config/lf/lfrc b/.config/lf/lfrc
index 251230e..8664792 100755
--- a/.config/lf/lfrc
+++ b/.config/lf/lfrc
@@ -27,7 +27,6 @@ set cleaner '~/.config/lf/cleaner'
set previewer '~/.config/lf/scope'
set autoquit true
-
# cmds/functions
cmd open ${{
case $(file --mime-type "$(readlink -f $f)" -b) in
@@ -37,7 +36,7 @@ cmd open ${{
image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;;
image/svg+xml) display -- $f ;;
image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$" |
- setsid -f nsxiv -aio 2>/dev/null | while read -r file; do
+ setsid -f imv 2>/dev/null | while read -r file; do
[ -z "$file" ] && continue
lf -remote "send select \"$file\""
lf -remote "send toggle"
diff --git a/.config/lf/scope b/.config/lf/scope
index 6d9e8cdf..15d5796 100755
--- a/.config/lf/scope
+++ b/.config/lf/scope
@@ -7,7 +7,9 @@ IFS="${IFS%_}"
PREVIEW_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/lf"
PREVIEW_WIDTH=600 # px
-# TODO: Render in the original width when it's smaller than PREVIEW_WIDTH
+chafafunc() {
+ chafa -f sixel -O 0 --polite on -c full --color-space din99d -w 9 -t 0.8 --size "$(($1 -2))"x
+}
# PrefixGen: generates a hash prefix for the given file
# This is a unique identifier for the file to preview
@@ -42,91 +44,39 @@ audio/* | application/octet-stream)
mediainfo "$1" || exit 1
;;
font/* | application/vnd.ms-opentype)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
-
PREVIEW_TEXT="ABCDEFGHIJKLMNOPQRSTUBWXYZ\n""\
abcdefghijklmnopqrstuvwxyz\n""\
1234567890\n""\
!@#$\%(){}[]-+=_\`~"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] || {
- rm -f "$PREVIEW_DIR/$prefix-*"
- convert -size "600x412" xc:'#ffffff' \
- -gravity center -pointsize 28 \
- -font "$1" \
- -fill '#000000' \
- -annotate +0+0 "$PREVIEW_TEXT" \
- -flatten ppm:- | img2sixel -E size -q high -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
-
+ convert -size "600x412" xc:'#ffffff' \
+ -gravity center -pointsize 28 \
+ -font "$1" \
+ -fill '#000000' \
+ -annotate +0+0 "$PREVIEW_TEXT" \
+ -flatten tiff:- | chafafunc $4
;;
image/vnd.djvu)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- djvused "$1" -e 'select 1; save-page-with /dev/stdout' |
- convert djvu:- ppm:- |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ djvused "$1" -e 'select 1; save-page-with /dev/stdout' |
+ convert djvu:- jpeg:- | chafafunc $4
;;
image/webp)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- dwebp "$1" -tiff -o - | img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ dwebp "$1" -tiff -o - | chafafunc $4
;;
image/heic)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- convert "$1" ppm:- |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ convert "$1" jpeg:- | chafafunc $4
;;
image/*)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH "$1" -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ cat "$1" | chafafunc $4
;;
*/pdf)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- pdftocairo -singlefile -scale-to-x $PREVIEW_WIDTH -scale-to-y -1 -jpeg "$1" - |
- img2sixel -S -E size -q high -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ pdftocairo -singlefile -scale-to-x $PREVIEW_WIDTH -scale-to-y -1 -jpeg "$1" - | chafafunc $4
;;
video/*)
prefix="$(PrefixGen "$1")"
suffix="$(SuffixGen "$1")"
filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- ffmpegthumbnailer -i "$1" -s 0 -c jpeg -f -o - |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
+ ffmpegthumbnailer -i "$1" -s 0 -c jpeg -f -o - | chafafunc $4
;;
application/*zip)
atool --list -- "$1"
diff --git a/.config/shortcutrc b/.config/shortcutrc
index 37e92d4..fdcfbc7 100644
--- a/.config/shortcutrc
+++ b/.config/shortcutrc
@@ -25,17 +25,18 @@
# - lowercase shortcuts prepended by 'y' copies selected files to these paths
# - lowercase shortcuts prepended by 'm' moves selected files to these paths
-Compilation, cp, ~/.local/src
-Config, cf, ~/.config
-CV, cv, ~/Dropbox/A/work/Application/CV/current
-Downloads, dl, ~/Downloads
-Dropbox, bx, ~/Dropbox
-Hotkeys, sx, ~/.config/sxhkd
-Images, img, ~/Dropbox/A/Personnal/Photos/unsorted
-Neovim, vi, ~/.config/nvim
-OrgMode, om, ~/Dropbox/org
-School, sf, ~/Dropbox/A/scholar/sherbrooke/24-05-T2
-Scripts, sc, ~/.local/bin
-Wallpapers, wp, ~/Pictures/wallpapers
-Website, ww, ~/Workspace/chausse.xyz
-Workspace, ws, ~/Workspace
+Compilation, cp, ~/.local/src
+Config, cf, ~/.config
+CV, cv, ~/Dropbox/A/work/Application/CV/current
+Downloads, dl, ~/Downloads
+Dropbox, bx, ~/Dropbox
+Hotkeys, sx, ~/.config/sxhkd
+Images, img, ~/Dropbox/A/Personnal/Photos/unsorted
+Neovim, vi, ~/.config/nvim
+OrgMode, om, ~/Dropbox/org
+School, sf, ~/Dropbox/A/scholar/sherbrooke/24-05-T2
+Scripts, sc, ~/.local/bin
+Wallpapers, wp, ~/Pictures/wallpapers
+Website, ww, ~/Workspace/chausse.xyz
+WindowManager, wm, ~/.local/src/dwl
+Workspace, ws, ~/Workspace
diff --git a/.config/waybar/config b/.config/waybar/config
new file mode 120000
index 0000000..0cffcb3
--- /dev/null
+++ b/.config/waybar/config
@@ -0,0 +1 @@
+config.json \ No newline at end of file
diff --git a/.config/waybar/config.json b/.config/waybar/config.json
new file mode 100644
index 0000000..f61d9bd
--- /dev/null
+++ b/.config/waybar/config.json
@@ -0,0 +1,27 @@
+{
+ "position": "top",
+ "layer": "top",
+ "height": 12,
+ "spacing": 0,
+
+ "_Modules_": "Choose the order of the modules",
+
+ "modules-left": [
+ "dwl/tags",
+ "dwl/window",
+ ],
+
+ "modules-center": [
+ ],
+
+ "modules-right": [
+ "custom/dotfiles",
+ "custom/mail",
+ "custom/eselect",
+ "custom/date",
+ "custom/time",
+ "custom/battery",
+ ],
+
+ "include": "~/.config/waybar/modules.json"
+}
diff --git a/.config/waybar/modules.json b/.config/waybar/modules.json
new file mode 100644
index 0000000..6902c6b
--- /dev/null
+++ b/.config/waybar/modules.json
@@ -0,0 +1,66 @@
+{
+ "dwl/tags": {
+ "num-tags": 9,
+ "disable-click": true,
+ "tag-labels": [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ],
+ },
+ "dwl/window": {
+ "format": " <tt>{layout}</tt> {title} ",
+ "tooltip": false,
+ "max-length": 255,
+ },
+ "custom/time": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-time",
+ "interval": 3600,
+ "signal": 8,
+ },
+ "custom/dotfiles": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-dotfiles",
+ "interval": 3600,
+ "signal": 7,
+ },
+ "custom/mail": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-mail",
+ "exec-if": "$HOME/.local/bin/dwmbar/check-mail",
+ "interval": 3600,
+ "signal": 12,
+ },
+ "custom/eselect": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-eselect",
+ "exec-if": "$HOME/.local/bin/dwmbar/check-eselect",
+ "interval": 3600,
+ "signal": 11,
+ },
+ "custom/battery": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-battery",
+ "interval": 3600,
+ "signal": 1,
+ },
+ "custom/date": {
+ "format": "<tt>{}</tt>",
+ "return-type": "json",
+ "exec": "$HOME/.local/bin/dwmbar/dwmb-date",
+ "interval": 3600,
+ "signal": 6,
+ },
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..a7e49ca
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,56 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-size: 11px;
+ padding: 0px;
+ font-family: sans-serif;
+ /* color: #1b1d1b; */
+}
+
+window#waybar {
+ /* background-color: rgba(43, 48, 59, 0); */
+ background-color: rgba(27, 29, 27, 0.78); /* #1b1d1b */
+}
+
+#tags {
+ font-family: sans-serif;
+}
+
+#tags button:not(.occupied):not(.focused) {
+ font-size: 0;
+ min-width: 0;
+ min-height: 0;
+ margin: -17px;
+ padding: 0;
+ border: 0;
+ opacity: 0;
+ box-shadow: none;
+ background-color: transparent;
+}
+
+#tags button.occupied, .block {
+ /* background-color: rgba(27, 29, 27, 0.8); /1* #1b1d1b *1/ */
+ color: rgba(68, 122, 108, 1); /* #447a6c */
+}
+
+#tags button.focused, #window {
+ background-color: rgba(125,75,35,0.8); /* #7d4b23 */
+ color: rgba(27, 29, 27, 1); /* #1b1d1b */
+}
+
+.block {
+ padding-right: 5px;
+}
+
+#workspaces button {
+ background-color: transparent;
+ color: #f2f1f0;
+}
+
+button {
+ /* Use box-shadow instead of border so the text isn't offset */
+ /* box-shadow: inset 0 -3px transparent; */
+ /* Avoid rounded borders under each button name */
+ margin: -4px 0px;
+ border: none;
+ border-radius: 0;
+}
diff --git a/.local/bin/colorbars b/.local/bin/colorbars
index e8e0b9d..459e707 100755
--- a/.local/bin/colorbars
+++ b/.local/bin/colorbars
@@ -1,35 +1,15 @@
#!/bin/sh
-echo
-
-# mini smpte color bars
-for y in $(seq 0 6); do
- printf %s ' '
- for color in 7 3 6 2 5 1 4; do
- tput setab ${color}
- printf %s ' '
- done
- tput sgr0
- echo
-done
-
-for y in 0 1; do
- printf %s ' '
- for color in 4 0 5 0 6 0 7; do
- tput setab ${color}
- printf %s ' '
- done
- tput sgr0
- echo
-done
-
-for y in $(seq 0 2); do
- printf %s ' '
- for color in 4 4 4 4 4 7 7 7 7 7 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0; do
- tput setab ${color}
- printf %s ' '
- done
- tput sgr0
- echo
-done
-
-echo
+printf '
+        
+        
+        
+        
+        
+        
+        
+        
+        
+       
+       
+       
+'
diff --git a/.local/bin/dropdowntoggle b/.local/bin/dropdowntoggle
index 91e834e..11f5521 100755
--- a/.local/bin/dropdowntoggle
+++ b/.local/bin/dropdowntoggle
@@ -22,6 +22,10 @@ case "$TERMINAL" in
titleflag="--title"
cmdflag="--command"
;;
+ *foot)
+ classflag="-a"
+ titleflag="-T"
+ cmdflag="-e"
esac
case "$active" in
diff --git a/.local/bin/dwmbar/dwmb-battery b/.local/bin/dwmbar/dwmb-battery
index 38673ef..c888fd8 100755
--- a/.local/bin/dwmbar/dwmb-battery
+++ b/.local/bin/dwmbar/dwmb-battery
@@ -44,4 +44,4 @@ esac
[8-9][0-9] | 100) icon=" " ;;
esac
-printf " %s%s%%" "$icon" "$capacity"
+printf '{ "text": "%s%s%%", "class":"block"}\n' "$icon" "$capacity"
diff --git a/.local/bin/dwmbar/dwmb-date b/.local/bin/dwmbar/dwmb-date
index cd598b1..ece4e5f 100755
--- a/.local/bin/dwmbar/dwmb-date
+++ b/.local/bin/dwmbar/dwmb-date
@@ -1,3 +1,6 @@
#!/bin/sh
-date +"  %a %b %d"
+text=$(date +" %a %b %d")
+
+printf '{ "text": "%s", "class": "block" }\n' "$text"
+
diff --git a/.local/bin/dwmbar/dwmb-dotfiles b/.local/bin/dwmbar/dwmb-dotfiles
index 8485120..7d43cce 100755
--- a/.local/bin/dwmbar/dwmb-dotfiles
+++ b/.local/bin/dwmbar/dwmb-dotfiles
@@ -22,4 +22,4 @@ status=$(yadm status --porcelain 2>/dev/null)
[ -z "$status" ] && exit 0
-printf "  "
+printf '{"text": "", "class":"block"}\n'
diff --git a/.local/bin/dwmbar/dwmb-eselect b/.local/bin/dwmbar/dwmb-eselect
index 24372b4..1a51bd2 100755
--- a/.local/bin/dwmbar/dwmb-eselect
+++ b/.local/bin/dwmbar/dwmb-eselect
@@ -1,11 +1,13 @@
#!/bin/sh
-icon="  "
+icon=""
total="$(eselect news count all)"
unread="$(eselect news count new)"
-case "$total" in
-0) echo "" ;;
-*) echo "$icon $unread/$total " ;;
-esac
+# case "$total" in
+# 0) echo "" ;;
+# *) printf '{"text":"%s %s/%s", "class":"block" }' "$icon" "$unread" "$total" ;;
+# esac
+#
+printf '{"text":"%s %s/%s", "class":"block" }' "$icon" "$unread" "$total"
diff --git a/.local/bin/dwmbar/dwmb-mail b/.local/bin/dwmbar/dwmb-mail
index 4170c61..92324c6 100755
--- a/.local/bin/dwmbar/dwmb-mail
+++ b/.local/bin/dwmbar/dwmb-mail
@@ -5,6 +5,6 @@
unread="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/*/*/new/* -type f | wc -l 2>/dev/null)"
-pidof mbsync >/dev/null 2>&1 && icon=" "
-
-[ "$unread" = "0" ] && [ "$icon" = "" ] || echo "  $unread$icon "
+# [ "$unread" = "0" ] && [ "$icon" = "" ] || echo " $unread"
+#
+[ "$unread" = "0" ] && [ "$icon" = "" ] || printf '{"text":" %s", "class":"block"}\n' "$unread"
diff --git a/.local/bin/dwmbar/dwmb-time b/.local/bin/dwmbar/dwmb-time
index bbd6585..15046a3 100755
--- a/.local/bin/dwmbar/dwmb-time
+++ b/.local/bin/dwmbar/dwmb-time
@@ -1,3 +1,6 @@
#!/bin/sh
-date +"  %H:%M "
+text="$(date +" %H:%M")"
+
+printf '{ "text": "%s", "class": "block" }\n' "$text"
+
diff --git a/.local/bin/makewall b/.local/bin/makewall
index ad8fc02..9edd3c2 100755
--- a/.local/bin/makewall
+++ b/.local/bin/makewall
@@ -1,9 +1,14 @@
#!/bin/sh
+# NOTE: (for wayland migration)
+# wlr-randr --json | jq -r '.[] | select(.enabled) | .name'
+
wallDir="$XDG_CONFIG_HOME/wallpapers"
# Acquire the list of connected displays
-displays=$(xrandr | grep " connected" | sed 's/^\([a-Z,0-9,-]*\).*/\1/')
+# displays=$(xrandr | grep " connected" | sed 's/^\([a-Z,0-9,-]*\).*/\1/')
+displays="$(wlr-randr --json | jq -r '.[] | select(.enabled) | .name')"
+echo "$displays"
# If there is a wallpaper with a filename matching the display
# name, set it as the wallpaper for that display.
@@ -14,16 +19,18 @@ setDisplay() {
case $(ls $wallDir) in
*"$1"*)
wall=$(ls $wallDir | grep "$1" | head -n 1)
- xwallpaper --output $1 --zoom $wallDir/$wall
+ # xwallpaper --output $1 --zoom $wallDir/$wall
;;
*)
wall=$(ls $wallDir | grep "default" | head -n 1)
- xwallpaper --output $1 --zoom $wallDir/$wall
+ # xwallpaper --output $1 --zoom $wallDir/$wall
;;
esac
+ swaybg --output $1 -m fill --image $wallDir/$wall &
}
# Set the wallpaper for each display
+killall swaybg > /dev/null 2>&1
for display in $displays; do
setDisplay $display
done
diff --git a/.profile b/.profile
index 41b425f..5ddc883 100644
--- a/.profile
+++ b/.profile
@@ -12,9 +12,9 @@ unsetopt PROMPT_SP 2>/dev/null
# Applications
export EDITOR=nvim
-export TERMINAL=st
-export TERMINAL_PROG=st
-export BROWSER=firefox
+export TERMINAL=foot
+export TERMINAL_PROG=foot
+export BROWSER=firefox-bin
# Misc
export XDG_CONFIG_HOME="$HOME/.config"
@@ -41,6 +41,7 @@ export HISTFILE="$XDG_CACHE_HOME/zsh_history"
export HISTSIZE=1000
export SAVEHIST=10000
export BAT_THEME="ansi"
+export ELECTRON_OZONE_PLATFORM_HINT="wayland"
# Path
export PATH="$PATH:$(find "$HOME/.local/bin" -type d | paste -sd ":" -)"
@@ -50,10 +51,11 @@ export PATH="$PATH:/root/.local/bin"
export PATH="$PATH:$HOME/.local/bin"
export PATH="$PATH:/usr/local/go/bin"
export PATH="$PATH:/usr/local/go/bin"
+export PATH="$PATH:$HOME/.local/share/cargo/bin"
-# Set st as the default terminal when not connected via SSH
+# Set foot as the default terminal when not connected via SSH
# or xterm when connected via SSH
-[ -z "$SSH_CONNECTION" ] && export TERM=st || export TERM=xterm
+[ -z "$SSH_CONNECTION" ] && export TERM=foot || export TERM=xterm
# less/man colors
export LESS="R"
@@ -75,5 +77,11 @@ if test -z "$XDG_RUNTIME_DIR"; then
export XDG_RUNTIME_DIR="$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX)"
fi
+startw(){
+ dbus-run-session sh -c 'dwl'
+}
+
# Start Desktop Environment if on the main TTY
-[ "$(tty)" = "/dev/tty1" ] && ! pidof Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
+[ "$(tty)" = "/dev/tty1" ] && ! pidof dwl >/dev/null 2>&1 && {
+ startw
+}