Compare commits

..

No commits in common. "08a46ed6916badad274373de615366381a250a44" and "d9e539b9ecb446319821dbe8b263441d0b2879a9" have entirely different histories.

16 changed files with 1648 additions and 48 deletions

View file

@ -43,19 +43,19 @@ Enjoy!
![Overview - an older image of the dotfile desktop with gaps, showing git logs, styler logs, duckduckgo in a browser, and a vifm view of the dotfiles themselves](https://gitlab.com/marty-oehme/dotfiles/-/wikis/uploads/aaf0319d575dc192ea0f4bd6eaf83c08/gaps.png)
* [`alacritty`](https://github.com/jwilm/alacritty) - Terminal emulator (GPU accelerated and customizable)
* [`wayland`](https://github.com/wayland-project/wayland) - Containing basics for fully functional tiling wayland setup:
* [`river`](https://github.com/riverwm/river) - Tiling window manager for wayland
* [`waybar`](https://github.com/Alexays/Waybar) - Easily customizable statusbar for wayland
* [`bemenu`](https://github.com/Cloudef/bemenu) - Extended dmenu replacement for wayland, X11 and ncurses
* [`fontconfig`] - System-wide font replacements and styling settings
* [`kitty`](https://sw.kovidgoyal.net/kitty/) - Terminal emulator (GPU accelerated and configurable)
* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer
* [`nvim`](https://neovim.io/) - Neovim configuration
* [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager
* [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser
* [`pass`](pass/README.md) - Password management suite
* [`bibtex`](bibtex/README.md) - LateX/BibteX/pandoc plaintext writing & reference suite
* [`git`](git/README.md) - distributed version control system.
* [`pass`](pass/README.md) - Password management suite
* [`nvim`](https://neovim.io/) - Neovim configuration
* [`bibtex`](bibtex/README.md) - LateX/BibteX/pandoc plaintext writing & reference suite
* [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser
* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer
* [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager
## Notes

View file

@ -1,6 +1,7 @@
acpid
activitywatch-bin
afew
alacritty
alias-tips-git
alsa-utils
an2linuxserver-git
@ -172,6 +173,7 @@ speedtest-cli
sshfs
stow
surfraw
sxhkd
sxiv
systemd-sysvcompat
task
@ -222,7 +224,6 @@ devour
htop
jrnl
khard
kitty
mopidy-autoplay
mopidy-iris
mopidy-local

View file

@ -11,12 +11,10 @@ from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
# load additional settings configured via autoconfig.yml
config.load_autoconfig()
term = os.getenv("TERMINAL", "xterm")
c.completion.web_history.max_items = 1000
c.hints.uppercase = True
c.editor.command = [
term,
"alacritty",
"-e",
"nvim",
"-f",
@ -28,7 +26,7 @@ c.editor.command = [
# change filepicker
c.fileselect.handler = "external"
picker = [
term,
"alacritty",
"--class",
"float",
"-e",

View file

@ -1,12 +1,12 @@
[Unit]
Description=Terminal window hidden to be called at any point
Description=Alacritty window hidden on i3 scratchpad
Requires=x-started-confirm.service
After=x-started-confirm.service
[Service]
Type=simple
# workaround to allow relative executable invocation (i.e. current users' home dir)
ExecStart=/bin/bash -c 'kitty --title "dropdown-terminal" --class scratchpad'
ExecStart=/bin/bash -c 'alacritty --title "dropdown-terminal" --class Alacritty,scratchpad'
Restart=always
[Install]

View file

@ -1,12 +1,12 @@
[Unit]
Description=Todo.md hidden vim instance
Description=Todo.md floating vim instance
Requires=x-started-confirm.service
After=x-started-confirm.service
[Service]
Type=simple
# workaround to allow relative executable invocation (i.e. current users' home dir)
ExecStart=/bin/bash -c 'kitty --title "dropdown-todo" --class scratchpad nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F | :Limelight" %h/documents/records/todo.md'
ExecStart=/bin/bash -c 'alacritty --title "dropdown-todo" --class "Alacritty,scratchpad" -e nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F | :Limelight" %h/documents/records/todo.md'
Restart=always
[Install]

View file

@ -62,12 +62,12 @@ As another example, if you want to check for changes every 30 seconds but still
## Dropdown services
The `dropdown-terminal.service` is very simple, and always keeps a terminal window running.
The `dropdown-terminal.service` is very simple, and always keeps a (`alacritty`) terminal window running.
The program is started with a `scratchpad` class, which is picked up by [`i3`](i3) and automatically hidden.
You can then show/hide the terminal as a floating overlay as you need, mimicking a floating terminal
(by default with `super + shift + return`, though this may change).
When you close the window in any way, systemd automatically restarts it in the background.
The `dropdown-todo.service` is similar but instead of an empty terminal window,
The `dropdown-todo.service` is similar but instead of an empty (`alacritty`) terminal window,
it starts up a `nvim` instance which hides most of its interface and shows a to-do list.
The list, by default, is situated in `~/documents/records/todo.md` and can be displayed with `super + t`.

View file

@ -25,7 +25,7 @@ export BIBFILE="${BIBFILE:-$LIBRARYROOT/academia/academia.bib}"
# these are my personal 'important' application settings
export EDITOR="nvim"
export BROWSER="qutebrowser"
export TERMINAL="kitty"
export TERMINAL="alacritty"
export PAGER="less"
export FILEREADER="zathura"

View file

@ -0,0 +1,7 @@
# for sxhkd-chain-labels script
# media manipulation mode: playing, pausing, skipping,..
media:alt + m
# academia mode: opening bibtex readings, annotating,..
academia:alt + a

103
sxhkd/.config/sxhkd/sxhkdrc Normal file
View file

@ -0,0 +1,103 @@
# universal x key bindings
# System functionality
# Enable lock screen (TODO does not stop music, etc yet)
super + x
lockscreen
# Open System Power Menu
super + BackSpace
rofi -modi "powermenu:~/.config/rofi/modes/powermenu" -show powermenu -theme themes/powermenu -selected-row 2
# quick-switching of theme using styler
super + F8
styler set $(styler list themes | rofi -dmenu -theme /themes/dropdown -matching fuzzy -filter "-256 -atelier ")
super + F7
polybar-msg cmd toggle
# enable function (/media) key functionality
XF86MonBrightness{Up,Down}
control-brightness {up, down} 10
XF86AudioMute
control-volume mute
XF86Audio{LowerVolume,RaiseVolume}
control-volume {down, up}
XF86Search
~/.local/share/qutebrowser/userscripts/qutedmenu
# dunstctl set-paused toggle && echo "$(dunstctl is-paused)" > /tmp/dunstpaused
# Open terminal emulator (the variable gets set in sh module basic env vars)
super + Return
$TERMINAL
# open quick start menu
super + space
rofi -show drun -theme themes/dmenu
# open more extensive run menu
super + shift + space
rofi -modi combi,ssh -show combi -combi-modi "window,clipboard:greenclip print,run" -theme themes/dropdown
# open dropdown calculator -- top left (small r), bottom right (capital R)
super + { r, shift + r }
rofi -modi calc -show calc -location { 1, 5 }
# open gopass frontend menu
super + shift + p
rofi-pass -theme themes/dropdown
# open surfraw rofi frontend
super + shift + q
rofi-surfraw
# insert emojis into any document/form
super + shift + e
rofimoji
super + shift + u
alacritty --class floating,floating -e sharefile | xargs notify-send
# invoke qutebrowser userscript to open link (from history/marks)
super + shift + o
qutedmenu
## modes
# mode:media:alt + m
# seek +/- 5 seconds
alt + m : {h,l}
playerctl position {5-,5+}
# seek +/- 15 seconds
alt + m : shift + {h,l}
playerctl position {15-,15+}
# decrease/increase volume
alt + m : {j,k}
pulsemixer --change-volume {-5,+5}
# decrease/increase volume
alt + m : shift + {j,k}
playerctl {next,previous}
# pause/stop player
alt + m : {_,shift} + p
playerctl {play-pause,stop}
# exit mode
alt + m : alt + m
pkill -ALRM sxhkd
# mode:academia:alt + a
# due papers this week
alt + a : {F1,F2}
rofi-bib-due -p{1,3} -u $(date --date='fri this week' +%Y-%m-%d)
# due papers overall
alt + a : shift + {F1,F2}
rofi-bib-due -p{1,3}
alt + a : F3
rofi-bib-due
# read wallabag articles from the cmdline
alt + a : {r, shift+r}
alacritty --class floating,floating -e wallr {-n,_}
# exit mode
alt + a : alt + a
pkill -ALRM sxhkd

View file

@ -0,0 +1,196 @@
#!/usr/bin/env sh
# output is to stdout unless explicitly set through -o or env var
OUTPUTF="$SXHKD_OUTPUTF"
# set fifo input file, according (somewhat) to xdg
if [ -n "$SXHKD_FIFO" ]; then
FIFO="$SXHKD_FIFO"
elif [ -p "${XDG_RUNTIME_DIR}"/sxhkd_fifo ]; then
FIFO="${XDG_RUNTIME_DIR}"/sxhkd_fifo
elif [ -p "${XDG_CACHE_HOME:-$HOME/.cache}"/sxhkd_fifo ]; then
FIFO="${XDG_CACHE_HOME:-$HOME/.cache}"/sxhkd_fifo
elif [ -p "$HOME/.sxhkd_fifo" ]; then
FIFO="$HOME/.sxhkd_fifo"
fi
# set label config file, according (somewhat) to xdg
if [ -n "$SXHKD_LABELCONFIG" ]; then
LABELCONFIG="$SXHKD_LABELCONFIG"
elif [ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/sxhkd/chain-labels.conf ]; then
LABELCONFIG="${XDG_CONFIG_HOME:-$HOME/.config}"/sxhkd/chain-labels.conf
elif [ -f "$HOME/.chain-labels.conf" ]; then
LABELCONFIG="$HOME/.chain-labels.conf"
fi
SXHKDRC_FILE="$XDG_CONFIG_HOME"/sxhkd/sxhkdrc
main() {
while read -r event; do
detect_event "$event"
done <"$FIFO"
}
detect_event() {
ev="$(echo "$1" | sed -e 's/^H.*$/hotkey/;s/^C.*$/command/;s/^BBegin chain.*$/chainstart/;s/^EEnd chain.*$/chainend/;')"
case $ev in
hotkey) ev_hotkey "$(echo "$1" | sed -e 's/^H//')" ;;
# command) ev_command "$(echo "$1" | sed -e 's/^C//')" ;;
chainstart) ev_chainstart "$(echo "$1" | sed -e 's/^B//')" ;;
chainend) ev_chainend "$(echo "$1" | sed -e 's/^E//')" ;;
*) ;;
esac
}
send_msg() {
if [ -n "$OUTPUTF" ]; then
echo "$1" >"$OUTPUTF"
else
echo "$1"
fi
}
ev_hotkey() {
LAST_HOTKEY="$1"
}
# compare labels to last hotkey, return mode name
ev_chainstart() {
[ -z "$LAST_HOTKEY" ] && return 1
found=$(echo "$LABELS" | sed -e "/$LAST_HOTKEY/!d;s/^\(.\+\):.*$/\1/")
send_msg "$found"
}
ev_chainend() {
send_msg ""
}
# TODO add option to also display last command done in chain
# ev_command() {
# send_msg "command: $1"
# }
# read config from file, remove comments (lines starting with #) and empty lines
read_config() {
[ ! -f "$1" ] && return 1
parse_labels "$(cat "$1")"
}
# parse sxhkdrc for mode compatible comments
read_sxhkdrc() {
[ ! -f "$1" ] && return 1
_sxhkdrc_content="$(sed -e '/^# mode:/!d;s/^# mode://' <"$1")"
parse_labels "$_sxhkdrc_content"
}
# append
parse_labels() {
LABELS="${LABELS}$(echo "$1" | sed -e '/^#/d;/^[[:blank:]]*$/d')"
}
get_help() {
printf \
"Usage: sxhkd-chain-labels [-c config file][-o output file][-s input pipe]
By default will take the input from the input pipe (at XDG_RUNTIME_DIR/sxhkd_fifo) and
print the current sxhkd chain mode to stdout. That means, sxhkd needs to be started
with a fifo pipe running, ideally to the XDG_RUNTIME_DIR:
mkfifo \$XDG_RUNTIME_DIR/sxhkd_fifo && sxhkd -s \$XDG_RUNTIME_DIR/sxhkd_fifo
When given a key combination which maps to a specific mode, it will print out the name
of the mode instead. These maps can be passed with -c flag, specifying an options file.
By default it will look in \$XDG_CONFIG_HOME/sxhkd/sxhkd-chain-labels.conf
When passed the -o flag it will replace the contents of the file passed in with the
current sxhkd chain mode, emptying the file when no mode is active.
Default lookup places for files, in descending order:
:input fifo
\$SXHKD_FIFO (env variable)
\$XDG_RUNTIME_DIR/sxhkd_fifo
\$XDG_CACHE_HOME/sxhkd_fifo
~/.cache/sxhkd_fifo
~/.sxhkd_fifo
:label configuration
\$SXHKD_LABELCONFIG (env variable)
\$XDG_CONFIG_HOME/sxhkd/chain-labels.conf
~/.config/sxhkd/chain-labels.conf
~/.chain-labels.conf
\$XDG_CONFIG_HOME/sxhkd/sxhkdrc (parsing)
The label configuration file uses the following format:
mode name:key chain
Lines beginning with a # will be ignored. Whitespace is important, sxhkd will, by
default, put a single space between any component of the key combination.
An example file chain-labels.conf:
media:super + alt + m
system:super + backspace
Instead of using an explicit configuration file, you can put the chain mode
information into the regular sxhkdrc as comments. They need to follow this exact format:
# mode:mode-name:key-chain
They can occur anywhere in the file. The space between # and mode is necessary, and #
needs to be the first character on the line.
The above example file as written into the sxhkdrc:
# mode:media:super + alt + m
# mode:system:super + backspace
If an explicit configuration file exists, it will supersede any mode information in the
sxhkdrc file.
\n"
}
get_version() {
printf \
"%s: 0.3
fifo input pipe:
%s %s
label configuration file:
%s %s
output:
%s \n" \
"$0" \
"$FIFO" \
"$([ -p "$FIFO" ] && echo "(found)" || echo "(NOT FOUND)")" \
"${LABELCONFIG:-"$SXHKDRC_FILE"}" \
"$([ -f "${LABELCONFIG:-"$SXHKDRC_FILE"}" ] && echo "(found)" || echo "(NOT FOUND)")" \
"${OUTPUTF:-stdout}"
}
while getopts "vho:s:c:" opt; do
case "$opt" in
\?)
printf "Usage: sxhkd-chain-labels [-c config file][-o output file][-s input pipe]\n"
exit 0
;;
h)
get_help
exit 0
;;
v)
get_version
exit 0
;;
o) OUTPUTF="$OPTARG" ;;
s) FIFO="$OPTARG" ;;
c) LABELCONFIG="$OPTARG" ;;
esac
done
shift $((OPTIND - 1))
[ "${1:-}" = "--" ] && shift
# look for default label config, prefer config file to parsing sxhkdrc
[ -z "$LABELS" ] && read_config "$LABELCONFIG"
[ -z "$LABELS" ] && read_sxhkdrc "$SXHKDRC_FILE"
main "$@"

32
sxhkd/.local/bin/sxhkd-piped Executable file
View file

@ -0,0 +1,32 @@
#!/usr/bin/env bash
# Starting sxhkd without arguments automatically creates
# a fifo pipe in XDG_RUNTIME_DIR, to enable IPC for sxhkd.
# Mostly used for sxhkd-chain-labels script.
type sxhkd >/dev/null 2>&1 || {
return 1
}
# get the complete path to sxhkd to avoid
# recursion later on
PROG="$(type sxhkd)"
PROG="${PROG##* }"
FIFO="$XDG_RUNTIME_DIR"/sxhkd_fifo
args="$*"
# create a fifo and start sxhkd with it
sxhkd() {
exist "$PROG" critical
if [[ "$args" = *"-s"* ]]; then
"$PROG" "$@"
else
[ -e "$FIFO" ] && rm "$FIFO"
mkfifo "$FIFO"
"$PROG" -s "$FIFO" "$@"
fi
}
sxhkd "$@"

46
sxhkd/README.md Normal file
View file

@ -0,0 +1,46 @@
# sxhkd
[sxhkd](https://github.com/baskerville/sxhkd) -- simple X hotkey daemon
sxhkd is set up to manage most of the key bindings in this dotfile configuraition. It is primarily used for three things: system control, to invoke rofi, and to switch between different desktop operating modes.
## system control
* super+x: lock the system, i.e. put a lockscreen in front of it, unlocked with your password
* media keys: control the Brightness, Volume, Mute of the system
* super+return: open a terminal
## rofi invocations
* super+backspace: system management (shutdown,reboot,logout,..)
* super+space: app launching
* super+r: extended run menu
* super+p: password/secret autofill menu
* super+F8: theme setting menu
* super+q: quick access to bookmarks and search bangs
## modal desktop
The modal setup of this desktop allows to first invoke an operating mode and then open the possibility for additional keybindings.
For example, `alt + m` will invoke the `media` mode and then media playback can be controlled through the hjkl keys.
Think of it like invoking the insert mode, or visual mode in a modal editor like vim.
The idea behind the modal system is to not overload normal system operation with key binds that are only needed every now and again, and mostly as a coherent package.
If I want to control my media playback, by seeking forward or backward, having quick access to controlling the volume seems logical.
But I may not want to open a scholarly pdf, or programming project at the same time, so these actions don't need to be included in a coherent 'media' mode.
The modes currently are:
* media, for controlling playback and volume
* academia, for opening pdf, seeing upcoming readings, and editing references
They are still in flux and may change every now and again as I put this modal setup to the test. To get a closer look at the actual key binds, look into `.config/sxhkd/sxhkdrc` for now.
## modal notifications
To know which mode is currently active on the desktop, this module includes a script which will print sxhkd's current mode to stdout, or a file.
This script can be used to show the active mode in a status bar, for example (as the polybar module in these dotfiles does).
The script lives in `.local/bin/sxhkd-chain-labels` and can be invoked from the path by default. To see available options and the configuration file format use `sxhkd-chain-labels -h`, or take look at the script itself.
This module overwrites the usual sxhkd program invocation using an alias, which makes sxhkd always (if no options are passed) create and use a named pipe in the XDG_RUNTIME_DIR directory. This is the default location the script will pick it up in.

View file

@ -348,6 +348,37 @@ set classify+=' ::*.doc,,*.docx::, ::*.xls,,*.xls[mx]::, ::*.pptx,,*.pp
" You can also add %CLEAR if you want to clear screen before running FUSE
" program.
fileviewer *.pdf
\ vifm-sixel pdf %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
fileviewer *.epub
\ vifm-sixel epub %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
fileviewer <video/*>
\ vifm-sixel video %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
fileviewer <image/*>
\ vifm-sixel draw %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
fileviewer <audio/*>
\ vifm-sixel audio %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
fileviewer <font/*>
\ vifm-sixel font %pw %ph %c %pd
\ %pc
\ vifm-sixel clear
" Pdf
filextype *.pdf
\ { view as rich file }
@ -392,9 +423,6 @@ filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
\*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,
\*.as[fx]
\ tput cup %py %px > /dev/tty && ffmpeg -y -hide_banner -loglevel panic -i %c -ss 00:00:01.000 -vframes 1 /tmp/tempfile.jpg > /dev/null && kitty +kitten icat --transfer-mode=file --place=%pwx%ph@%pxx%py /tmp/tempfile.jpg %N
\ %pc
\ kitty +kitten icat --transfer-mode=file --place=%pwx%ph@%pxx%py --clear %N,
\ ffprobe -pretty %c 2>&1
" Web
@ -419,9 +447,9 @@ filextype *.gif
\ {Loop}
\ mpv --loop=inf %f %i &,
fileviewer *.gif
\ kitty +kitten icat --silent --transfer-mode=stream --place=%pwx%ph@%pxx%py %c %N
\ vifmimg draw %px %py %pw %ph %c
\ %pc
\ kitty +kitten icat --clear --silent %pd
\ vifmimg clear
" Images
filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
@ -434,9 +462,9 @@ filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
\ {View in gpicview}
\ gpicview %c,
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
\ kitty +kitten icat --silent --transfer-mode=stream --place=%pwx%ph@%pxx%py %c %N
\ vifmimg draw %px %py %pw %ph %c
\ %pc
\ kitty +kitten icat --clear --silent %pd
\ vifmimg clear
" OpenRaster
filextype *.ora

View file

@ -12,7 +12,7 @@
"return-type": "json",
"exec": "~/.config/waybar/modules/archupdates 5 json",
"interval": 3600,
"on-click": "kitty --class float topgrade"
"on-click": "alacritty --class float -e topgrade"
},
"backlight": {
"device": "intel_backlight",
@ -45,8 +45,8 @@
"warning": 50,
"critical": 80
},
"on-click": "kitty --class float top",
"on-click-right": "kitty --class float glances"
"on-click": "alacritty --class float -e top",
"on-click-right": "alacritty --class float -e glances"
},
"custom/events": {
"format": "{}",
@ -115,7 +115,7 @@
"tooltip-format-ethernet": "{ifname} ",
"tooltip-format-disconnected": "Disconnected",
"max-length": 50,
"on-click": "kitty --class float nmtui",
"on-click": "alacritty --class float -e nmtui",
// "on-click-right": "sudo rfkill toggle wlan"
},
"pulseaudio": {
@ -132,7 +132,7 @@
"default": ["", ""]
},
"scroll-step": 1,
"on-click": "kitty --class float pulsemixer",
"on-click": "alacritty --class float -e pulsemixer",
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +1%",
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -1%"
},
@ -146,7 +146,7 @@
"critical-threshold": 80,
// "format-critical": "{temperatureC}° ",
"format": "{temperatureC}° ",
"on-click": "kitty --class float watch sensors"
"on-click": "alacritty --class float -e watch sensors"
},
"tray": {
"icon-size": 21,

View file

@ -11,16 +11,7 @@ This is only a very work-in-progress README file.
Since wayland handles key presses and so on completely differently
from X,
I can't for example use sxhkd anymore which is a shame.
On the other hand, there is an amazing key *re* binding tool
(which also works under X I've now found out)
`keyd` which takes care of some X functionality (xcape) at a lower level.
I have not found a good replacement for `clutter`
(which automatically hides your mouse cursor after inactivity)
which is independent from the window manager.
I believe `swaywm` would include similar functionality, but `river` does not.
I can't for example use sxhkd which is a shame.
## Missing
@ -31,7 +22,7 @@ not set up:
* [x] extensive run menu (clipboard, open windows) -- rofi on X
* [x] clipboard manager
* [x] pass frontend dropdown -- clipboard and xdotool
* [x] investigate [wtype](https://github.com/atx/wtype) over ydotool
* [ ] investigate [wtype](https://github.com/atx/wtype) over ydotool
* [x] file uploading (works but without url clipboard)
* [x] open_download (qutebrowser script)
* [x] gap regulation
@ -43,19 +34,18 @@ not set up:
* [x] styler
* still works as before, only less programs respect xresources settings
* works even for foot, if I want to switch to it
* [x] need to set it up for waybar
* [ ] need to set it up for waybar
* [ ] dropdown terminal and dropdown todo
* [ ] rofimoji emoji dropdown -- clipboard
* [ ] show current mode
* [-] hide cursor
* [x] dropdown calculator -- rofi on X -- could use `qalc` directly
* [-] dropdown calculator -- rofi on X -- could use `qalc` directly
* [-] modes: media, academia (worth?)
* [x] picture in terminal, a-la ueberzug
* [-] picture in terminal, a-la ueberzug
* ueberzug is X only
* there is sixel rendering for foot, st, xterm, urxvt
* alacritty does *not* support sixel rendering [yet](https://github.com/alacritty/alacritty/issues/910), see also [existing sixel implementation](https://github.com/betaboon/alacritty/tree/graphics).
* We have sixel support enabled in vifm and foot. It is very wonky, however.
* Switched to kitty terminal for image support instead
### undecided

1199
zsh/.config/zsh/.p10k._zsh Normal file

File diff suppressed because it is too large Load diff