From 9ebf91e892cbafbf03d09f3adca652db181d1587 Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Mon, 5 Aug 2024 19:30:47 -0400 Subject: Wayland migration (first of many) --- .config/dunst/dunstrc | 44 +------ .config/fontconfig/fonts.conf | 1 + .config/foot/foot.ini | 249 ++++++++++++++++++++++++++++++++++++++++ .config/git/config | 5 + .config/lf/icons | 4 +- .config/lf/lfrc | 3 +- .config/lf/scope | 82 +++---------- .config/shortcutrc | 29 ++--- .config/waybar/config | 1 + .config/waybar/config.json | 27 +++++ .config/waybar/modules.json | 66 +++++++++++ .config/waybar/style.css | 56 +++++++++ .local/bin/colorbars | 48 +++----- .local/bin/dropdowntoggle | 4 + .local/bin/dwmbar/dwmb-battery | 2 +- .local/bin/dwmbar/dwmb-date | 5 +- .local/bin/dwmbar/dwmb-dotfiles | 2 +- .local/bin/dwmbar/dwmb-eselect | 12 +- .local/bin/dwmbar/dwmb-mail | 6 +- .local/bin/dwmbar/dwmb-time | 5 +- .local/bin/makewall | 13 ++- .profile | 20 +++- 22 files changed, 508 insertions(+), 176 deletions(-) create mode 100644 .config/foot/foot.ini create mode 120000 .config/waybar/config create mode 100644 .config/waybar/config.json create mode 100644 .config/waybar/modules.json create mode 100644 .config/waybar/style.css 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: # bold # italic @@ -14,7 +13,7 @@ # . # 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 @@ Vulf Sans Noto Color Emoji + GoMono Nerd Font 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= +# font-italic= +# font-bold-italic= +# font-size-adjustment=0.5 +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# underline-thickness= +# box-drawings-uses-font-glyphs=no +# dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# 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= +# 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= +# blink=no +# blink-rate=500 +# beam-thickness=1.5 +# 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= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-maximized=no +# double-click-to-maximize=yes +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[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": " {layout} {title} ", + "tooltip": false, + "max-length": 255, + }, + "custom/time": { + "format": "{}", + "return-type": "json", + "exec": "$HOME/.local/bin/dwmbar/dwmb-time", + "interval": 3600, + "signal": 8, + }, + "custom/dotfiles": { + "format": "{}", + "return-type": "json", + "exec": "$HOME/.local/bin/dwmbar/dwmb-dotfiles", + "interval": 3600, + "signal": 7, + }, + "custom/mail": { + "format": "{}", + "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": "{}", + "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": "{}", + "return-type": "json", + "exec": "$HOME/.local/bin/dwmbar/dwmb-battery", + "interval": 3600, + "signal": 1, + }, + "custom/date": { + "format": "{}", + "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 +} -- cgit v1.2.3