diff options
| author | Mike Vink <ivi@vinkies.net> | 2025-06-17 10:09:46 +0200 |
|---|---|---|
| committer | Mike Vink <ivi@vinkies.net> | 2025-06-17 10:09:46 +0200 |
| commit | e196f039670d8fb4087d47899eed5a1f0f9128aa (patch) | |
| tree | 241089fbfffd4a7c3e799c3a2ff2cbd630c8bb1a | |
| parent | 4c9ba1cd0cf3e0fc3653c5e0588a0a4e54f5524f (diff) | |
using linux again
29 files changed, 273 insertions, 134 deletions
diff --git a/.config/bash/bashrc b/.config/bash/bashrc index 81af60d..e520f97 100644 --- a/.config/bash/bashrc +++ b/.config/bash/bashrc @@ -1,7 +1,18 @@ if [ -f ~/.local.bashrc ]; then . ~/.local.bashrc fi -# clear screen and save scrollback -clear() { - printf "\e[H\e[22J" -} +if [ "$TERM" != "st-256color" ]; then + # clear screen and save scrollback + clear() { + printf "\e[H\e[22J" + } +fi + +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutenvrc" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutenvrc" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" + +export PS1='\[\e]0;\w $(test "$IN_KAKOUNE_CONNECT" && printf '%s' "- $KAKOUNE_CLIENT@[$KAKOUNE_SESSION]")$(test "$TERM" && printf '%s' "- $TERM")\a\]\n\[\e[32m\]\u@\h \e[34m$(test "$IN_KAKOUNE_CONNECT" && printf '%s' "¶$KAKOUNE_SESSION") \[\e[33m\]\w\[\e[0m\]\n\[\e[1;36;1m\]λ\[\e[0m\] ' +export PROMPT_DIRTRIM=3 +export PROMPT_COMMAND='history -a' diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..f78e4d8 --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,27 @@ +[global] + monitor = 0 + follow = keyboard + width = 370 + height = (0,350) + offset = (0,19) + padding = 2 + horizontal_padding = 2 + transparency = 0 + font = Monospace 12 + format = "<b>%s</b>\n%b" + +[urgency_low] + background = "#1d2021" + foreground = "#928374" + timeout = 3 + +[urgency_normal] + foreground = "#ebdbb2" + background = "#458588" + timeout = 5 + +[urgency_critical] + background = "#1cc24d" + foreground = "#ebdbb2" + frame_color = "#fabd2f" + timeout = 10 diff --git a/.config/kak/autoload/files.kak b/.config/kak/autoload/files.kak new file mode 100644 index 0000000..bb786e4 --- /dev/null +++ b/.config/kak/autoload/files.kak @@ -0,0 +1,63 @@ +map -docstring "file (default)" global goto '<a-f>' '<esc>gf' +map -docstring "file (expanded)" global goto 'f' '<esc>: search-file %val{selection}<ret>' + +define-command -docstring \ +"search-file <filename>: search for file recusively under path option: %opt{path}" \ +search-file -params 1 -override %{ evaluate-commands %sh{ + if [ -n "$(command -v fd)" ]; then # create find command template + find='fd -L --type f "${file}" "${path}"' # if `fd' is installed it will + else # be used because it is faster + find='find -L "${path}" -mount -type f -name "${file}"' # if not, we fallback to find. + fi + + file=$(eval echo "$1") + + eval "set -- ${kak_quoted_buflist}" + while [ $# -gt 0 ]; do # Check if buffer with this + if [ "${file}" = "$1" ]; then # file already exists. Basically + printf "%s\n" "buffer $1" # emulating what edit command does + exit + fi + shift + done + + if [ -e "${file}" ]; then # Test if file exists under + printf "%s\n" "edit -existing %{${file}}" # servers' working directory + exit # this is last resort until + fi # we start recursive searchimg + + # if everthing above fails - search for file under `path' + eval "set -- ${kak_quoted_opt_path}" + while [ $# -gt 0 ]; do # Since we want to check fewer places, + case $1 in # I've swapped ./ and %/ because + (./) path=${kak_buffile%/*} ;; # %/ usually has smaller scope. So + (%/) path=${PWD} ;; # this trick is a speedi-up hack. + (*) path=$1 ;; # This means that `path' option should + esac # first contain `./' and then `%/' + + if [ -z "${file##*/*}" ] && [ -e "${path}/${file}" ]; then + printf "%s\n" "edit -existing %{${path}/${file}}" + exit + else + # build list of candidates or automatically select if only one found + # this doesn't support files with newlines in them unfortunately + IFS=' +' + for candidate in $(eval "${find}"); do + [ -n "${candidate}" ] && candidates="${candidates} %{${candidate}} %{evaluate-commands %{edit -existing %{${candidate}}}}" + done + + # we want to get out as early as possible + # so if any candidate found in current cycle + # we prompt it in menu and exit + if [ -n "${candidates}" ]; then + printf "%s\n" "menu -auto-single ${candidates}" + exit + fi + fi + + shift + done + + printf "%s\n" "echo -markup %{{Error}unable to find file '${file}'}" +}} diff --git a/.config/kak/kakrc b/.config/kak/kakrc index e3ba67f..9f5a6cc 100644 --- a/.config/kak/kakrc +++ b/.config/kak/kakrc @@ -1,6 +1,8 @@ colorscheme gruber-darker add-highlighter global/ number-lines -relative +hook -once global KakBegin .* %{ require-module connect } + set-option global toolsclient t set-option global jumpclient j set-option global docsclient d diff --git a/.config/khal/config b/.config/khal/config new file mode 100644 index 0000000..28b3b46 --- /dev/null +++ b/.config/khal/config @@ -0,0 +1,11 @@ +[default] + default_calendar = home +[calendars] + [[home]] + path = ~/Sync/pim/home + color = dark green + priority = 20 + [[work]] + path = ~/Sync/pim/work + color = dark cyan + priority = 30 diff --git a/.config/ksh/ksh.kshrc b/.config/ksh/ksh.kshrc index c65df65..d7e9c8e 100644 --- a/.config/ksh/ksh.kshrc +++ b/.config/ksh/ksh.kshrc @@ -15,7 +15,7 @@ lfcd () { fi } clear-screen-saving-contents-in-scrollback() { - sh -c 'printf "\e[H\e[22J"' + oksh -c 'printf "\e[H\e[22J"' } # Loses kill buffer which is a bit sad. bind -m ^L="^E ^A^K clear-screen-saving-contents-in-scrollback^J^Y^B^D" diff --git a/.config/mimeapps.list b/.config/mimeapps.list new file mode 100644 index 0000000..9124fce --- /dev/null +++ b/.config/mimeapps.list @@ -0,0 +1,20 @@ +[Default Applications] + +# xdg-open will use these settings to determine how to open filetypes. +# These .desktop entries can also be seen and changed in ~/.local/share/applications/ + +text/x-shellscript=text.desktop; +x-scheme-handler/magnet=torrent.desktop; +application/x-bittorrent=torrent.desktop; +x-scheme-handler/mailto=mail.desktop; +text/plain=text.desktop; +application/postscript=pdf.desktop; +application/pdf=pdf.desktop; +image/png=img.desktop; +image/jpeg=img.desktop; +image/gif=img.desktop; +application/rss+xml=rss.desktop +video/x-matroska=video.desktop +video/mp4=video.desktop +x-scheme-handler/lbry=lbry.desktop +inode/directory=file.desktop diff --git a/.config/newsboat/urls b/.config/newsboat/urls index e69de29..c869c39 100644 --- a/.config/newsboat/urls +++ b/.config/newsboat/urls @@ -0,0 +1 @@ +https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc index 480d532..db026ab 100644 --- a/.config/shell/aliasrc +++ b/.config/shell/aliasrc @@ -5,8 +5,6 @@ alias s="{ git status --short ; git log --oneline @{push}.. ; }" alias ga="git add " alias gc="git commit " alias d="docker " -# alias k="kak " alias d=' echo cd $PWD | kak -p s; eval "[ -n \"$(jobs)\" ] && fg" ' alias b=' eval "$(cd-kak-buf)"' -alias e='$EDITOR ' alias z='zathura ' diff --git a/.config/shell/inputrc b/.config/shell/inputrc index 9119437..e13e65f 100644 --- a/.config/shell/inputrc +++ b/.config/shell/inputrc @@ -1,8 +1,9 @@ +$include /etc/inputrc set bind-tty-special-chars off set show-all-if-ambiguous on set menu-complete-display-prefix on set colored-completion-prefix on -set colored-stats on +set colored-stats off # next tab(s) will cycle through matches TAB: menu-complete diff --git a/.config/shell/profile b/.config/shell/profile index 39f2ebd..ad92573 100644 --- a/.config/shell/profile +++ b/.config/shell/profile @@ -3,19 +3,22 @@ export XDG_CACHE_HOME=$HOME/.cache export XDG_DATA_HOME=$HOME/.local/share export XDG_STATE_HOME=$HOME/.local/state export PASSWORD_STORE_DIR=$HOME/.local/share/password-store +export PASSWORD_STORE_GPG_OPTS="--no-throw-keyids" if ! [ -d "${XDG_RUNTIME_DIR}" ] && [ "$(uname -s)" = "Linux" ] then d="/run/user/$(id -u)" if command -v sudo >/dev/null 2>&1; then - mkdir -p "$d" - chown -R "$USER:$USER" "$d" - chmod 700 "$d" + sudo mkdir -p "$d" + sudo chown -R "$USER:$USER" "$d" + sudo chmod 700 "$d" export XDG_RUNTIME_DIR="$d" fi fi -export EDITOR="cs" -export GIT_EDITOR="kak " +export TERMINAL="st" +export EDITOR="e" +export GIT_EDITOR="kak" +export BROWSER="firefox" export PATH="$PATH:$HOME/go/bin:/usr/local/go/bin" export PATH="$HOME/.local/bin:$PATH" diff --git a/.config/x11/xprofile b/.config/x11/xprofile index 588f9dd..ec24fe3 100644 --- a/.config/x11/xprofile +++ b/.config/x11/xprofile @@ -7,19 +7,20 @@ xrandr --dpi 96 # Set DPI. User may want to use a larger number for larger scre # setbg & # set the background with the `setbg` script #xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources & xrdbpid=$! # Uncomment to use Xresources colors/settings on startup -autostart="mpd xcompmgr dunst pipewire" # remapd, doesn't work that well with usb hubs. +autostart="mpd xcompmgr dunst pipewire remaps" # remapd, doesn't work that well with usb hubs. for program in $autostart; do pidof -sx "$program" || "$program" & done >/dev/null 2>&1 +pidof -sx "redshift" || redshift -x -l 52.30487057853634:4.764923605516801 -b 1.0:0.8 & pidof -sx "unclutter" || unclutter -noevents & # Starts a gpg-agents and configures it as ssh-agent. export GPG_TTY="$(tty)" export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) -gpgconf --launch gpg-agent -gpg-connect-agent updatestartuptty /bye > /dev/null +gpgconf --launch gpg-agent & +gpg-connect-agent updatestartuptty /bye > /dev/null & # Ensure that xrdb has finished running before moving on to start the WM/DE. [ -n "$xrdbpid" ] && wait "$xrdbpid" diff --git a/.editorconfig b/.editorconfig index 37feeba..63bf85c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,7 +8,7 @@ root = true insert_final_newline = true trim_trailing_whitespace = true -[*.{yaml,yml,lua,md,tf,j2}] +[*.{yaml,yml,lua,md,tf,j2,html,vto,sh,nix}] indent_style = space indent_size = 2 diff --git a/.local/bin/cal-ics-combine b/.local/bin/cal-ics-combine new file mode 100755 index 0000000..240ff2b --- /dev/null +++ b/.local/bin/cal-ics-combine @@ -0,0 +1,10 @@ +#!/bin/sh +dir="${1:-$(ls ~/Sync/calendars | dmenu -p "combine ics files for")}" +file="${2:-combined.ics}" +[ -z "$dir" ] && exit 0 +{ + echo BEGIN:VCALENDAR + cat "$HOME/Sync/pim/$dir"/* | + grep -v -e END:VCALENDAR -e BEGIN:VCALENDAR; echo END:VCALENDAR +} > "$file" +echo "$file" diff --git a/.local/bin/container.d/xdg-open b/.local/bin/container.d/xdg-open new file mode 100755 index 0000000..4cd0a92 --- /dev/null +++ b/.local/bin/container.d/xdg-open @@ -0,0 +1,5 @@ +#!/bin/bash +case "$(file --mime-type $1 | awk '{print $2}')" in + text/*|application/json) exec "$EDITOR" "$@" ;; + *) printf '%q ' "$@" | nc 127.0.0.1 1994 ;; +esac diff --git a/.local/bin/e b/.local/bin/e new file mode 100755 index 0000000..b5a395d --- /dev/null +++ b/.local/bin/e @@ -0,0 +1,5 @@ +#!/bin/sh +if [ -n "$1" ] +then kak-shell "" a "$@" +else kak-shell "" +fi diff --git a/.local/bin/list-glyphs b/.local/bin/list-glyphs new file mode 100755 index 0000000..93264e2 --- /dev/null +++ b/.local/bin/list-glyphs @@ -0,0 +1,28 @@ +#!/bin/bash + +printhelp() { echo "$0 FontFile"; exit 1; } +printerror() { local error=$1; shift; echo "$0: $@"; exit "$error"; } + +[ "$#" -ne 1 ] && printhelp + +width=70 +fontfile="$1" + +[ -f "$fontfile" ] || printerror 4 'File not found' + +list=$(fc-query --format='%{charset}\n' "$fontfile") + +for range in $list +do IFS=- read start end <<<"$range" + if [ "$end" ] + then + start=$((16#$start)) + end=$((16#$end)) + for((i=start;i<=end;i++)); do + printf -v char '\\U%x' "$i" + printf '%b' "$char" + done + else + printf '%b' "\\U$start" + fi +done | grep -oP '.{'"$width"'}' diff --git a/.local/bin/mailsync b/.local/bin/mailsync deleted file mode 100755 index 426e5b7..0000000 --- a/.local/bin/mailsync +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh - -# - Syncs mail for all accounts, or a single account given as an argument. -# - Displays a notification showing the number of new mails. -# - Displays a notification for each new mail with its subject displayed. -# - Runs notmuch to index new mail. -# - This script can be set up as a cron job for automated mail syncing. - -# There are many arbitrary and ugly features in this script because it is -# inherently difficult to pass environmental variables to cronjobs and other -# issues. It also should at least be compatible with Linux (and maybe BSD) with -# Xorg and MacOS as well. - -# Run only if not already running in other instance -pgrep mbsync >/dev/null && { echo "mbsync is already running."; exit ;} - -# First, we have to get the right variables for the mbsync file, the pass -# archive, notmuch and the GPG home. This is done by searching common profile -# files for variable assignments. This is ugly, but there are few options that -# will work on the maximum number of machines. -eval "$(grep -h -- \ - "^\s*\(export \)\?\(MBSYNCRC\|MPOPRC\|PASSWORD_STORE_DIR\|PASSWORD_STORE_GPG_OPTS\|NOTMUCH_CONFIG\|GNUPGHOME\|MAILSYNC_MUTE\|XDG_CONFIG_HOME\|XDG_DATA_HOME\)=" \ - "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ - "$HOME/.config/zsh/.zshenv" "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" \ - "$HOME/.pam_environment" 2>/dev/null)" - -export GPG_TTY="$(tty)" - -[ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" -[ -n "$MPOPRC" ] || MPOPRC="$HOME/.config/mpop/config" - -lastrun="${XDG_CONFIG_HOME:-$HOME/.config}/neomutt/.mailsynclastrun" - -# Settings are different for MacOS (Darwin) systems. -case "$(uname)" in - Darwin) notify() { osascript -e "display notification \"$2\" with title \"$1\"" ;} ;; - *) - case "$(readlink -f /sbin/init)" in - *systemd*|*openrc*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; - esac - # remember if a display server is running since `ps` doesn't always contain a display - pgrepoutput="$(pgrep -ax X\(\|org\|wayland\))" - displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)" - [ -z "$displays" ] && [ -d /tmp/.X11-unix ] && displays=$(cd /tmp/.X11-unix && for x in X*; do echo ":${x#X}"; done) - - notify() { [ -n "$pgrepoutput" ] && for x in ${displays:-:0}; do - export DISPLAY="$x" - notify-send --app-name="mutt-wizard" "$1" "$2" - done ;} - ;; -esac - -# Check account for new mail. Notify if there is new content. -syncandnotify() { - case "$1" in - imap) mbsync -q "$2" ;; - pop) mpop -q "$2" ;; - esac - new=$(find\ - "$HOME/.local/share/mail/${2%%-*}/"[Ii][Nn][Bb][Oo][Xx]/new/ \ - "$HOME/.local/share/mail/${2%%-*}/"[Ii][Nn][Bb][Oo][Xx]/cur/ \ - -type f -newer "$lastrun" 2> /dev/null) - newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) - case 1 in - $((newcount > 5)) ) - echo "$newcount new mail for $2." - [ -z "$MAILSYNC_MUTE" ] && notify "New Mail!" "📬 $newcount new mail(s) in \`$2\` account." - ;; - $((newcount > 0)) ) - echo "$newcount new mail for $2." - [ -z "$MAILSYNC_MUTE" ] && - for file in $new; do - # Extract and decode subject and sender from mail. - subject="$(sed -n "/^Subject:/ s|Subject: *|| p" "$file" | - perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')" - from="$(sed -n "/^From:/ s|From: *|| p" "$file" | - perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')" - from="${from% *}" ; from="${from%\"}" ; from="${from#\"}" - notify "📧$from:" "$subject" - done - ;; - *) echo "No new mail for $2." ;; -esac -} - -allgroups="$(grep -hs "Group" "$MBSYNCRC" "$MPOPRC" | sort -u)" - -# Get accounts to sync. All if no argument. Prefix with `error` if non-existent. -IFS=' -' -if [ -z "$1" ]; then - tosync="$allgroups" -else - tosync="$(for arg in "$@"; do for grp in $allgroups; do - [ "$arg" = "${grp##* }" ] && echo "$grp" && break - done || echo "error $arg"; done)" -fi - -for grp in $tosync; do - case $grp in - Group*) syncandnotify imap "${grp##* }" & ;; - account*) syncandnotify pop "${grp##* }" & ;; - error*) echo "ERROR: Account ${channelt##* } not found." ;; - esac -done - -wait - -notmuch-hook - -#Create a touch file that indicates the time of the last run of mailsync -touch "$lastrun" diff --git a/.local/bin/mutt-limit-from b/.local/bin/mutt-limit-from new file mode 100755 index 0000000..c3546a7 --- /dev/null +++ b/.local/bin/mutt-limit-from @@ -0,0 +1,5 @@ +#!/bin/sh +grep ^From | + sed -E 's/.*<(.*)>.*/\1/' | + sed -E 's/From:\s*//' | + xargs -I{} printf '%s\n' "macro index E L\"~f {}\"" >/tmp/mutt-limit-from diff --git a/.local/bin/sb-clock b/.local/bin/sb-clock index c079a58..e7dc172 100755 --- a/.local/bin/sb-clock +++ b/.local/bin/sb-clock @@ -19,8 +19,12 @@ case "$clock" in esac case $BLOCK_BUTTON in - 1) notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"cyan\">/;s|..0m|</span></b>|")" && notify-send -t 100000 "$(khal list now 14d -f "{calendar-color} {start-time} {title} {status} {description} -" | sed "s/..7m/<b><span color=\"cyan\">/;s|..0m|</span></b>|")" ;; + 1) notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"cyan\">/;s|..0m|</span></b>|")" && { + msg="$(khal list now 14d -f "{calendar-color} {start-time} {title} {status} {description} +" | sed "s/..7m/<b><span color=\"cyan\">/;s|..0m|</span></b>|")" + [ -n "$msg" ] && notify-send -t 100000 "$msg" +} +;; 2) setsid -f "$TERMINAL" -e khal interactive ;; 3) notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\` - Middle click opens calcurse if installed" ;; diff --git a/.local/bin/sysact b/.local/bin/sysact index 4bb92dc..8b51f24 100755 --- a/.local/bin/sysact +++ b/.local/bin/sysact @@ -8,14 +8,38 @@ wmpid(){ # This function is needed if there are multiple instances of the window echo "$(pidof dwm)" } +sysact() { + sys_name="$(readlink /sbin/init)" + case "$1" in + reboot) + case "$sys_name" in + *runit*) sudo reboot -i ;; + *systemd*) $ctl reboot -i ;; + esac + ;; + shutdown) + case "$sys_name" in + *runit*) sudo poweroff -i ;; + *systemd*) $ctl poweroff -i ;; + esac + ;; + sleep) + case "$sys_name" in + *runit*) sudo zzz ;; + *systemd*) slock $ctl suspend -i ;; + esac + ;; + esac +} + case "$(printf "🔒 lock\n🚪 leave $WM\n♻️ renew $WM\n🐻 hibernate\n🔃 reboot\n🖥️shutdown\n💤 sleep\n📺 display off" | dmenu -i -p 'Action: ')" in '🔒 lock') slock ;; "🚪 leave $WM") kill -TERM "$(wmpid)" ;; "♻️ renew $WM") kill -HUP "$(wmpid)" ;; '🐻 hibernate') slock $ctl hibernate -i ;; - '💤 sleep') slock $ctl suspend -i ;; - '🔃 reboot') $ctl reboot -i ;; - '🖥️shutdown') $ctl poweroff -i ;; + '💤 sleep') sysact sleep ;; + '🔃 reboot') sysact reboot ;; + '🖥️shutdown') sysact shutdown ;; '📺 display off') xset dpms force off ;; *) exit 1 ;; esac diff --git a/.local/share/applications/file.desktop b/.local/share/applications/file.desktop new file mode 100644 index 0000000..5df1633 --- /dev/null +++ b/.local/share/applications/file.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=File Manager +Exec=/usr/local/bin/st -e lfub %u diff --git a/.local/share/applications/img.desktop b/.local/share/applications/img.desktop new file mode 100644 index 0000000..5783107 --- /dev/null +++ b/.local/share/applications/img.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Image viewer +Exec=/usr/bin/nsxiv -a %f diff --git a/.local/share/applications/mail.desktop b/.local/share/applications/mail.desktop new file mode 100644 index 0000000..d24aea2 --- /dev/null +++ b/.local/share/applications/mail.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Mail +Exec=/usr/local/bin/st -e neomutt %u diff --git a/.local/share/applications/pdf.desktop b/.local/share/applications/pdf.desktop new file mode 100644 index 0000000..8c38677 --- /dev/null +++ b/.local/share/applications/pdf.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=PDF reader +Exec=/usr/bin/zathura %u diff --git a/.local/share/applications/rss.desktop b/.local/share/applications/rss.desktop new file mode 100644 index 0000000..6fafc4f --- /dev/null +++ b/.local/share/applications/rss.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=RSS feed addition +Exec=/usr/bin/env rssadd %U diff --git a/.local/share/applications/text.desktop b/.local/share/applications/text.desktop new file mode 100644 index 0000000..41ee05f --- /dev/null +++ b/.local/share/applications/text.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Text editor +Exec=/usr/local/bin/st -e nvim %u diff --git a/.local/share/applications/torrent.desktop b/.local/share/applications/torrent.desktop new file mode 100644 index 0000000..f6d28d9 --- /dev/null +++ b/.local/share/applications/torrent.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Torrent +Exec=/usr/bin/env transadd %U diff --git a/.local/share/applications/video.desktop b/.local/share/applications/video.desktop new file mode 100644 index 0000000..a29a0b1 --- /dev/null +++ b/.local/share/applications/video.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Video viewer +Exec=/usr/bin/mpv -quiet %f |
