From 9092719385044c1faadb0aee29292be779da5ac7 Mon Sep 17 00:00:00 2001 From: Clay Gomera Date: Thu, 28 Mar 2024 18:47:16 -0400 Subject: [PATCH] Added config files --- usercfg/.bash_profile | 50 + usercfg/.bashrc | 297 + .../Gruvbox-Dark-Brown.kvconfig | 527 ++ .../Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg | 5597 +++++++++++++++++ usercfg/config/Kvantum/kvantum.kvconfig | 2 + usercfg/config/X11/xinitrc | 48 + usercfg/config/btop/btop.conf | 248 + usercfg/config/gtk-2.0/gtkfilechooser.ini | 11 + usercfg/config/gtk-2.0/gtkrc-2.0 | 14 + usercfg/config/gtk-3.0/bookmarks | 0 usercfg/config/gtk-3.0/settings.ini | 15 + usercfg/config/lvim/config.lua | 108 + usercfg/config/mimeapps.list | 24 + usercfg/config/mpv/input.conf | 12 + usercfg/config/musikcube/hotkeys.json | 68 + usercfg/config/neofetch/config.conf | 113 + usercfg/config/newsboat/config | 51 + usercfg/config/newsboat/urls | 157 + usercfg/config/picom/picom.conf | 71 + usercfg/config/pipewire/pipewire-pulse.conf | 169 + usercfg/config/pipewire/pipewire.conf | 320 + usercfg/config/tut/config.toml | 1283 ++++ usercfg/config/yazi/keymap.toml | 309 + usercfg/config/yazi/theme.toml | 146 + usercfg/config/yazi/yazi.toml | 188 + usercfg/config/zathura/zathurarc | 54 + 26 files changed, 9882 insertions(+) create mode 100644 usercfg/.bash_profile create mode 100644 usercfg/.bashrc create mode 100644 usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig create mode 100644 usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg create mode 100644 usercfg/config/Kvantum/kvantum.kvconfig create mode 100755 usercfg/config/X11/xinitrc create mode 100644 usercfg/config/btop/btop.conf create mode 100644 usercfg/config/gtk-2.0/gtkfilechooser.ini create mode 100644 usercfg/config/gtk-2.0/gtkrc-2.0 create mode 100644 usercfg/config/gtk-3.0/bookmarks create mode 100644 usercfg/config/gtk-3.0/settings.ini create mode 100644 usercfg/config/lvim/config.lua create mode 100644 usercfg/config/mimeapps.list create mode 100644 usercfg/config/mpv/input.conf create mode 100644 usercfg/config/musikcube/hotkeys.json create mode 100644 usercfg/config/neofetch/config.conf create mode 100644 usercfg/config/newsboat/config create mode 100644 usercfg/config/newsboat/urls create mode 100644 usercfg/config/picom/picom.conf create mode 100644 usercfg/config/pipewire/pipewire-pulse.conf create mode 100644 usercfg/config/pipewire/pipewire.conf create mode 100644 usercfg/config/tut/config.toml create mode 100644 usercfg/config/yazi/keymap.toml create mode 100644 usercfg/config/yazi/theme.toml create mode 100644 usercfg/config/yazi/yazi.toml create mode 100644 usercfg/config/zathura/zathurarc diff --git a/usercfg/.bash_profile b/usercfg/.bash_profile new file mode 100644 index 000000000..4564f24d4 --- /dev/null +++ b/usercfg/.bash_profile @@ -0,0 +1,50 @@ +#!/bin/bash +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config +## +# + +# Home folders +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_CONFIG_HOME="$HOME/.config" + +export X11CFGDIR="$XDG_CONFIG_HOME/X11" +export XINITRC="$X11CFGDIR/xinitrc" + +# Sanely export XDG Base dir variables +eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)" + +# Clean home +export W3M_DIR="$XDG_DATA_HOME/w3m" +export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" +export WGETDIR="$XDG_CONFIG_HOME/wget" +export WGETRC="$WGETDIR/wgetrc" +export INPUTRC="$HOME/.config/X11/inputrc" +export GNUPGHOME="$HOME/.local/share/gnupg" +export LESSHISTFILE="-" +export BASHRC="$HOME/.bashrc" + +# Default apps +export TERMINAL="st" +export EDITOR="$HOME/.local/bin/lvim" +export VISUAL="st -e $EDITOR" +export BROWSER="flatpak run org.mozilla.firefox" +export VIEWER="zathura" + +# Bashrc +source "$BASHRC" + +# Create config directories if they don't exist +if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then + mkdir -p "$WGETDIR" "$GNUPGHOME" +fi + +# Starting xsession +if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then + startx "$XINITRC" -- vt1 -keeptty &>/dev/null + logout +fi diff --git a/usercfg/.bashrc b/usercfg/.bashrc new file mode 100644 index 000000000..dac2530e4 --- /dev/null +++ b/usercfg/.bashrc @@ -0,0 +1,297 @@ +### EXPORT ### +export TERM="xterm-256color" # getting proper colors +export HISTCONTROL=ignoredups:erasedups # no duplicate entries +export GOPATH="$HOME/go" + +### "bat" as manpager +export MANPAGER="sh -c 'col -bx | bat -l man -p'" + +# use bash-completion, if available +[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ + . /usr/share/bash-completion/bash_completion + +# if not running interactively, don't do anything +[[ $- != *i* ]] && return + +### SET VI MODE ### +# Comment this line out to enable default emacs-like bindings +set -o vi +bind -m vi-command 'Control-l: clear-screen' +bind -m vi-insert 'Control-l: clear-screen' + +### PATH ### +if [ -d "$HOME/.bin" ] ; + then PATH="$HOME/.bin:$PATH" +fi +if [ -d "$HOME/.local/bin" ] ; + then PATH="$HOME/.local/bin:$PATH" +fi +if [ -d "$HOME/.cargo/bin" ] ; + then PATH="$HOME/.cargo/bin:$PATH" +fi +if [ -d "$HOME/Applications" ] ; + then PATH="$HOME/Applications:$PATH" +fi +if [ -d "$HOME/go/bin" ] ; + then PATH="$HOME/go/bin:$PATH" +fi + +### CHANGE TITLE OF TERMINALS ### +case ${TERM} in + xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' + ;; + screen*) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' + ;; +esac + +### SHOPT ### +shopt -s autocd # change to named directory +shopt -s cdspell # autocorrects cd misspellings +shopt -s cmdhist # save multi-line commands in history as single line +shopt -s dotglob +shopt -s histappend # do not overwrite history +shopt -s expand_aliases # expand aliases +shopt -s checkwinsize # checks term size when bash regains control + +# ignore upper and lowercase when TAB completion +bind "set completion-ignore-case on" + +# sudo not required for some system commands +for command in cryptsetup mount umount poweroff reboot ; do +alias $command="sudo $command" +done; unset command + +### ARCHIVE EXTRACTION ### +# usage: ex +function ex() { + if [ -f "$1" ] ; then + case $1 in + *.tar.bz2) tar xjf "$1" ;; + *.tar.gz) tar xzf "$1" ;; + *.bz2) bunzip2 "$1" ;; + *.rar) unrar x "$1" ;; + *.gz) gunzip "$1" ;; + *.tar) tar xf "$1" ;; + *.tbz2) tar xjf "$1" ;; + *.tgz) tar xzf "$1" ;; + *.zip) unzip "$1" ;; + *.Z) uncompress "$1";; + *.7z) 7zz x "$1" ;; + *.deb) ar x "$1" ;; + *.tar.xz) tar xf "$1" ;; + *.tar.zst) unzstd "$1" ;; + *) echo "'$1' cannot be extracted via ex()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + +### ALIASES ### +# navigation +function up () { + local d="" + local limit="$1" + + # Default to limit of 1 + if [ -z "$limit" ] || [ "$limit" -le 0 ]; then + limit=1 + fi + + for ((i=1;i<=limit;i++)); do + d="../$d" + done + + # perform cd. Show error if cd fails + if ! cd "$d"; then + echo "Couldn't go up $limit dirs."; + fi +} + +# cd +alias \ + ..="cd .." \ + .2="cd ../.." \ + .3="cd ../../.." \ + .4="cd ../../../.." \ + .5="cd ../../../../.." + +# bat as cat +[ -x "$(command -v bat)" ] && alias cat="bat" + +# use lunarvim or neovim for vim if present. +if [ -x "$(command -v $HOME/.local/bin/lvim)" ]; then + alias vim="$HOME/.local/bin/lvim" +elif [ -x "$(command -v nvim)" ]; then + alias vim="nvim" +fi + +# Changing "ls" to "eza" +[ -x "$(command -v eza)" ] && alias \ + ls="eza --icons -al --color=always --group-directories-first" \ + la="eza --icons -a --color=always --group-directories-first" \ + ll="eza --icons -l --color=always --group-directories-first" \ + lt="eza --icons -aT --color=always --group-directories-first" \ + l.='eza --icons -a | grep -E "^\."' + +# function to detect os and assign aliases to package managers +alias \ + pkg-update="sudo dnf update" \ + pkg-install="sudo dnf install" \ + pkg-remove="sudo dnf remove" \ + pkg-search="sudo dnf search" \ + +# colorize grep output (good for log files) +alias \ + grep="grep --color=auto" \ + egrep="egrep --color=auto" \ + fgrep="fgrep --color=auto" + +# git +alias \ + git-adu="git add -u" \ + git-adl="git add ." \ + git-brn="git branch" \ + git-chk="git checkout" \ + git-cln="git clone" \ + git-cmt="git commit -m" \ + git-fth="git fetch" \ + git-pll="git pull origin" \ + git-psh="git push origin" \ + git-sts="git status" \ + git-tag="git tag" \ + git-ntg="git tag -a" + +# adding flags +alias \ + df="df -h" \ + free="free -m" + +# multimedia scripts +alias \ + fli="flix-cli" \ + ani="ani-cli" \ + aniq="ani-cli -q" + +# audio +alias \ + mx="pulsemixer" \ + mk="cmus" \ + ms="cmus" \ + music="cmus" + +# power management +alias \ + po="systemctl poweroff" \ + sp="systemctl suspend" \ + rb="systemctl reboot" + +# file management +alias \ + fm="$HOME/.config/vifm/scripts/vifmrun" \ + flm="$HOME/.config/vifm/scripts/vifmrun" \ + vifm="$HOME/.config/vifm/scripts/vifmrun" \ + rm="rm -vI" \ + mv="mv -iv" \ + cp="cp -iv" \ + mkd="mkdir -pv" + +# ps +alias \ + psa="ps auxf" \ + psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \ + psmem="ps auxf | sort -nr -k 4" \ + pscpu="ps auxf | sort -nr -k 3" + +# youtube +alias \ + yta-aac="yt-dlp --extract-audio --audio-format aac" \ + yta-best="yt-dlp --extract-audio --audio-format best" \ + yta-flac="yt-dlp --extract-audio --audio-format flac" \ + yta-m4a="yt-dlp --extract-audio --audio-format m4a" \ + yta-mp3="yt-dlp --extract-audio --audio-format mp3" \ + yta-opus="yt-dlp --extract-audio --audio-format opus" \ + yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \ + yta-wav="yt-dlp --extract-audio --audio-format wav" \ + ytv-best="yt-dlp -f bestvideo+bestaudio" \ + yt="ytfzf -ftsl" \ + ytm="ytfzf -mtsl" + +# network and bluetooth +alias \ + netstats="nmcli dev" \ + wfi="nmtui-connect" \ + wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \ + wfi-edit="nmtui-edit" \ + wfi-on="nmcli radio wifi on" \ + wfi-off="nmcli radio wifi off" \ + blt="bluetoothctl" + +# get current branch in git repo +function parse_git_branch() { + BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') + if [ ! "${BRANCH}" == "" ]; then + STAT=$(parse_git_dirty) + echo "[${BRANCH}${STAT}]" + else + echo "" + fi +} + +# get current branch in git repo +function parse_git_branch() { + BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') + if [ ! "${BRANCH}" == "" ]; then + STAT=$(parse_git_dirty) + echo "[${BRANCH}${STAT}]" + else + echo "" + fi +} + +# get current status of git repo +function parse_git_dirty { + status=$(git status 2>&1 | tee) + dirty=$(echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?") + untracked=$(echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?") + ahead=$(echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?") + newfile=$(echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?") + renamed=$(echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?") + deleted=$(echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?") + bits='' + if [ "${renamed}" == "0" ]; then + bits=">${bits}" + fi + if [ "${ahead}" == "0" ]; then + bits="*${bits}" + fi + if [ "${newfile}" == "0" ]; then + bits="+${bits}" + fi + if [ "${untracked}" == "0" ]; then + bits="?${bits}" + fi + if [ "${deleted}" == "0" ]; then + bits="x${bits}" + fi + if [ "${dirty}" == "0" ]; then + bits="!${bits}" + fi + if [ ! "${bits}" == "" ]; then + echo " ${bits}" + else + echo "" + fi +} + +export PS1="[\[\e[31m\]\u\[\e[m\]\[\e[35m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]] [\[\e[33m\]\W\[\e[m\]\[\e[34m\]\`parse_git_branch\`\[\e[m\]] 󱞪 " + +# initialize ssh-agent +if ! pgrep -u "$USER" ssh-agent > /dev/null; then + ssh-agent -t 1h > "$XDG_RUNTIME_DIR/ssh-agent.env" +fi +if [[ ! -f "$SSH_AUTH_SOCK" ]]; then + source "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null +fi diff --git a/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig b/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig new file mode 100644 index 000000000..87cb82f5e --- /dev/null +++ b/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.kvconfig @@ -0,0 +1,527 @@ +[%General] +author=sachnr, based on KvAdapta +comment=Gruvbox Dark theme with brown highlights +x11drag=menubar_and_primary_toolbar +alt_mnemonic=true +left_tabs=true +attach_active_tab=false +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=true +menu_shadow_depth=5 +tooltip_shadow_depth=2 +splitter_width=4 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=22 +slider_handle_length=22 +center_toolbar_handle=true +check_size=14 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=false +blurring=false +popup_blurring=false +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=22 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=true +layout_spacing=6 +layout_margin=9 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=-1 +tree_branch_line=true +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=250 + +[GeneralColors] +window.color=#232323 +base.color=#282828 +alt.base.color=#282828 +button.color=#2e2e2e +light.color=#504945 +mid.light.color=#3f3f3f +dark.color=#1d2021 +mid.color=##202324 +highlight.color=#665c54cc +inactive.highlight.color=#665c54bb +text.color=#ebdbb2 +window.text.color=#ebdbb2 +button.text.color=#ebdbb2 +disabled.text.color=#a89984 +tooltip.text.color=#fbf1c7 +highlight.text.color=#3c3836 +link.color=#b8bb26 +link.visited.color=#98971a +progress.indicator.text.color=#fbf1c7 + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=false +transparent_pcmanfm_sidepane=true +blur_translucent=false +transparent_menutitle=true +respect_darkness=false +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=true +iconless_menu=false +disabled_icon_opacity=70 +lxqtmainmenu_iconsize=22 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=false +no_selection_tint=true +transparent_arrow_button=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +interior=true +interior.element=button +indicator.size=8 +text.normal.color=#ebdbb2 +text.focus.color=#3c3836 +text.press.color=#ebdbb2 +text.toggle.color=#fbf1c7 +text.shadow=0 +text.margin=1 +text.iconspacing=4 +indicator.element=arrow +text.margin.top=2 +text.margin.bottom=4 +text.margin.left=2 +text.margin.right=2 +min_width=+0.3font +min_height=+0.3font +frame.expansion=14 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color=#ebdbb2 +text.bold=false +indicator.element=arrow +indicator.size=0 + +[ToolbarButton] +frame.element=tbutton +interior.element=tbutton +indicator.element=tarrow +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +text.bold=false + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#ebdbb2 + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color=#ebdbb2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.patternsize=20 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +frame.expansion=0 + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color=#ebdbb2 +text.press.color=#ebdbb2 +text.focus.color=#fbf1c7 + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=2 +text.margin.bottom=2 +frame.element=tab +indicator.element=tab +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.normal.color=#ebdbb2 +text.focus.color=#ebdbb2 +text.toggle.color=#ebdbb2 +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +frame.left=0 +frame.right=0 +frame.top=0 +frame.bottom=4 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color=#ebdbb2 +text.focus.color=#ebdbb2 +text.press.color=#ebdbb2 +text.toggle.color=#cfd8dc +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=4 +text.margin.right=4 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.press.color=#fbf1c7 +text.toggle.color=#fbf1c7 +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +indicator.size=48 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=8 + +[ScrollbarSlider] +inherits=PanelButtonCommand +interior.element=scrollbarslider +interior=true +frame=false +indicator.element=grip +indicator.size=13 +frame.expansion=48 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.margin.top=1 +text.margin.bottom=1 +text.margin.left=4 +text.margin.right=4 +frame.top=0 +frame.bottom=0 +frame.left=0 +frame.right=0 +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color=#ebdbb2 +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#d5c4a1 +text.focus.color=#ebdbb2 +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.focus.color=#fbf1c7 +text.press.color=#ebdbb2 +text.toggle.color=#fbf1c7 +frame.expansion=0 + +[Menu] +inherits=PanelButtonCommand +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.element=menu +interior.element=menu +text.normal.color=#ebdbb2 +text.shadow=false +frame.expansion=0 + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color=#ebdbb2 +text.focus.color=#fbf1c7 +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=true +frame.element=tabBarFrame +interior=false +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[ToolTip] +inherits=GenericFrame +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +text.shadow=0 +text.margin=0 +interior.element=tooltip +frame.element=tooltip +frame.expansion=0 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window diff --git a/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg b/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg new file mode 100644 index 000000000..3c29a5f27 --- /dev/null +++ b/usercfg/config/Kvantum/Gruvbox-Dark-Brown/Gruvbox-Dark-Brown.svg @@ -0,0 +1,5597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usercfg/config/Kvantum/kvantum.kvconfig b/usercfg/config/Kvantum/kvantum.kvconfig new file mode 100644 index 000000000..62defb799 --- /dev/null +++ b/usercfg/config/Kvantum/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=Gruvbox-Dark-Brown diff --git a/usercfg/config/X11/xinitrc b/usercfg/config/X11/xinitrc new file mode 100755 index 000000000..c721e368a --- /dev/null +++ b/usercfg/config/X11/xinitrc @@ -0,0 +1,48 @@ +#!/bin/sh +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom xinitrc +## + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/etc/X11/xinit/.Xresources +sysmodmap=/etc/X11/xinit/.Xmodmap + +# merge in defaults and keymaps +if [ -f $sysresources ]; then + xrdb -merge $sysresources +fi + +if [ -f $sysmodmap ]; then + xmodmap $sysmodmap +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +fi + +# X11 Stuff +export MOZ_USE_XINPUT2=1 +export QT_STYLE_OVERRIDE=kvantum +export XDG_SESSION_TYPE=X11 + +# GTK & cursor stuff +export XCURSOR_PATH="$XDG_DATA_HOME/icons/" +export XCURSOR_THEME="Simp1e-Gruvbox-Dark" +export GTK_THEME="Gruvbox-Dark-BL" +export GTK_ICON_THEME="Papirus-Dark" + +# initialize dbus +dbus-update-activation-environment --systemd DISPLAY XDG_CURRENT_DESKTOP +dbus-update-activation-environment --systemd --all +systemctl --user import-environment DISPLAY XDG_CURRENT_DESKTOP + +# initialize dwm +dwm diff --git a/usercfg/config/btop/btop.conf b/usercfg/config/btop/btop.conf new file mode 100644 index 000000000..5fde20a46 --- /dev/null +++ b/usercfg/config/btop/btop.conf @@ -0,0 +1,248 @@ +#? Config file for btop v. 1.3.2 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/usr/share/btop/themes/gruvbox_dark_v2.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 500 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "pid" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = True + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/usercfg/config/gtk-2.0/gtkfilechooser.ini b/usercfg/config/gtk-2.0/gtkfilechooser.ini new file mode 100644 index 000000000..3de31bfd5 --- /dev/null +++ b/usercfg/config/gtk-2.0/gtkfilechooser.ini @@ -0,0 +1,11 @@ +[Filechooser Settings] +LocationMode=path-bar +ShowHidden=false +ShowSizeColumn=true +GeometryX=0 +GeometryY=0 +GeometryWidth=780 +GeometryHeight=585 +SortColumn=name +SortOrder=ascending +StartupMode=recent diff --git a/usercfg/config/gtk-2.0/gtkrc-2.0 b/usercfg/config/gtk-2.0/gtkrc-2.0 new file mode 100644 index 000000000..53282842f --- /dev/null +++ b/usercfg/config/gtk-2.0/gtkrc-2.0 @@ -0,0 +1,14 @@ +gtk-theme-name="Gruvbox-Dark-BL" +gtk-icon-theme-name="Papirus-Dark" +gtk-font-name="Cantarell 10" +gtk-cursor-theme-name="Simp1e-Gruvbox-Dark" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintfull" diff --git a/usercfg/config/gtk-3.0/bookmarks b/usercfg/config/gtk-3.0/bookmarks new file mode 100644 index 000000000..e69de29bb diff --git a/usercfg/config/gtk-3.0/settings.ini b/usercfg/config/gtk-3.0/settings.ini new file mode 100644 index 000000000..d5d8adb9b --- /dev/null +++ b/usercfg/config/gtk-3.0/settings.ini @@ -0,0 +1,15 @@ +[Settings] +gtk-theme-name=Gruvbox-Dark-BL +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Cantarell 10 +gtk-cursor-theme-name=Simp1e-Gruvbox-Dark +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull diff --git a/usercfg/config/lvim/config.lua b/usercfg/config/lvim/config.lua new file mode 100644 index 000000000..a7b10c2d2 --- /dev/null +++ b/usercfg/config/lvim/config.lua @@ -0,0 +1,108 @@ +-- neovide options +vim.o.guifont = "mononoki Nerd Font:h14" +vim.g.neovide_hide_mouse_when_typing = true +vim.g.neovide_no_idle = true +vim.g.neovide_confirm_quit = true +vim.g.neovide_input_use_logo = true + +vim.g.neovide_cursor_antialiasing = true +vim.g.neovide_cursor_animate_in_insert_mode = true +vim.g.neovide_cursor_vfx_mode = "pixiedust" +vim.g.neovide_cursor_vfx_particle_speed = 20.0 + +vim.g.neovide_padding_top = 0 +vim.g.neovide_padding_bottom = 0 +vim.g.neovide_padding_right = 0 +vim.g.neovide_padding_left = 0 + +-- Helper function for transparency formatting +local alpha = function() + return string.format("%x", math.floor(255 * (vim.g.transparency or 0.98))) +end +vim.g.neovide_transparency = 0.95 +vim.g.transparency = 0.95 +vim.g.neovide_background_color = "#1d2021" .. alpha() + +-- nvim options +vim.opt.shiftwidth = 4 +vim.opt.tabstop = 4 +vim.opt.relativenumber = true +vim.cmd('autocmd FileType markdown setlocal nospell') +vim.opt.wrap = true -- wrap lines +vim.opt.spell = false +vim.o.shell = '/usr/bin/bash' +vim.o.autochdir = true +vim.cmd('autocmd BufEnter * lcd %:p:h') + +-- general +lvim.use_icons = true +lvim.log.level = "info" + +-- change theme settings +lvim.colorscheme = "gruvbox" +lvim.transparent_window = false +lvim.builtin.alpha.active = true +lvim.builtin.alpha.mode = "dashboard" +lvim.builtin.terminal.active = true +lvim.builtin.nvimtree.setup.view.side = "left" +lvim.builtin.nvimtree.setup.renderer.icons.show.git = false + +lvim.builtin.treesitter.ensure_installed = { + "bash", + "c", + "javascript", + "json", + "lua", + "python", + "typescript", + "tsx", + "css", + "rust", + "java", + "yaml", + "toml", + "sql", +} + +-- additional Plugins +lvim.plugins = { + { "lunarvim/colorschemes" }, + { "ellisonleao/gruvbox.nvim" }, + { "tpope/vim-dadbod" }, + { "kristijanhusak/vim-dadbod-ui" }, + { "kristijanhusak/vim-dadbod-completion", after = "nvim-cmp" }, + { "SirVer/ultisnips" }, +} + +-- configuring colorscheme +require("gruvbox").setup({ + undercurl = true, + underline = true, + bold = false, + italic = { + strings = true, + comments = true, + operators = false, + folds = true, + }, + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + invert_intend_guides = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "hard", -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = false, +}) + +lvim.keys.normal_mode["D"] = ":DBUIToggle" + +vim.api.nvim_create_autocmd("FileType", { + pattern = { "sql", "mysql", "plsql" }, + command = ":lua require('cmp').setup.buffer({ sources = {{ name = 'vim-dadbod-completion' }} })", +}) + +local cmp = require("cmp") diff --git a/usercfg/config/mimeapps.list b/usercfg/config/mimeapps.list new file mode 100644 index 000000000..122cd7b58 --- /dev/null +++ b/usercfg/config/mimeapps.list @@ -0,0 +1,24 @@ +[Default Applications] +image/=imv.desktop +video/=mpv.desktop +audio/=mpv.desktop +text/=emacsclient.desktop +image/jpeg=imv.desktop +image/png=imv.desktop +image/gif=imv.desktop +application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop +application/pdf=org.pwmt.zathura-pdf-poppler.desktop +image/svg+xml=org.inkscape.Inkscape.desktop +video/x-matroska=mpv.desktop +video/mp4=mpv.desktop +image/webp=imv.desktop + +[Added Associations] +image/jpeg=imv.desktop; +image/png=imv.desktop; +image/gif=imv.desktop; +application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop; +application/pdf=org.pwmt.zathura-pdf-poppler.desktop; +image/svg+xml=org.inkscape.Inkscape.desktop; +video/x-matroska=mpv.desktop; +image/webp=imv.desktop; diff --git a/usercfg/config/mpv/input.conf b/usercfg/config/mpv/input.conf new file mode 100644 index 000000000..593273e45 --- /dev/null +++ b/usercfg/config/mpv/input.conf @@ -0,0 +1,12 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom mpv config +## + +l seek 5 +h seek -5 +j seek -60 +k seek 60 +S cycle sub diff --git a/usercfg/config/musikcube/hotkeys.json b/usercfg/config/musikcube/hotkeys.json new file mode 100644 index 000000000..914c527c6 --- /dev/null +++ b/usercfg/config/musikcube/hotkeys.json @@ -0,0 +1,68 @@ +{ + "browse_category_filter": "^F", + "browse_playlists_delete": "KEY_DC", + "browse_playlists_new": "M-n", + "browse_playlists_rename": "M-r", + "browse_playlists_save": "M-s", + "context_menu": "M-enter", + "hotkeys_backup": "M-b", + "hotkeys_reset_to_default": "M-r", + "key_down": "j", + "key_end": "KEY_END", + "key_home": "KEY_HOME", + "key_left": "h", + "key_page_down": "KEY_NPAGE", + "key_page_up": "KEY_PPAGE", + "key_right": "l", + "key_up": "k", + "lyrics_retry": "r", + "metadata_rescan": "^R", + "navigate_console": "`", + "navigate_hotkeys": "?", + "navigate_jump_to_playing": "x", + "navigate_library": "a", + "navigate_library_album_artists": "4", + "navigate_library_browse": "b", + "navigate_library_browse_albums": "2", + "navigate_library_browse_artists": "1", + "navigate_library_browse_directories": "d", + "navigate_library_browse_genres": "3", + "navigate_library_choose_category": "6", + "navigate_library_filter": "f", + "navigate_library_play_queue": "n", + "navigate_library_playlists": "5", + "navigate_library_tracks": "t", + "navigate_lyrics": "^L", + "navigate_settings": "s", + "play_queue_clear": "X", + "play_queue_delete": "KEY_DC", + "play_queue_hot_swap": "M-a", + "play_queue_move_down": "M-down", + "play_queue_move_up": "M-up", + "play_queue_playlist_delete": "M-x", + "play_queue_playlist_load": "M-l", + "play_queue_playlist_rename": "M-r", + "play_queue_playlist_save": "M-s", + "playback_next": "M-l", + "playback_previous": "M-j", + "playback_seek_back": "u", + "playback_seek_back_proportional": "y", + "playback_seek_forward": "o", + "playback_seek_forward_proportional": "p", + "playback_stop": "^X", + "playback_toggle_mute": "m", + "playback_toggle_pause": "^P", + "playback_toggle_repeat": ".", + "playback_toggle_shuffle": ",", + "playback_volume_down": "M-k", + "playback_volume_up": "M-i", + "search_input_toggle_match_type": "M-m", + "show_equalizer": "^E", + "toggle_visualizer": "v", + "track_list_change_sort_order": "M-s", + "track_list_next_group": "]", + "track_list_play_from_top": "M-P", + "track_list_previous_group": "[", + "track_list_rate_track": "r", + "view_refresh": "KEY_F(5)" +} \ No newline at end of file diff --git a/usercfg/config/neofetch/config.conf b/usercfg/config/neofetch/config.conf new file mode 100644 index 000000000..d32cf2eee --- /dev/null +++ b/usercfg/config/neofetch/config.conf @@ -0,0 +1,113 @@ +print_info() { + prin " " + prin "┌─────────\n Hardware Information \n─────────┐" + info " ​ ​ 󰟀 " model + info " ​ ​ 󰍛 " cpu + info " ​ ​ 󰘚 " gpu + info " ​ ​ 󰍛 " memory + info " ​ ​ 󱑆 " uptime + prin "├─────────\n Software Information \n─────────┤" + info " ​ ​ 󰌽 " distro + info " ​ ​  " kernel + info " ​ ​ 󰏖 " packages + info " ​ ​ 󰧨 " de + info " ​ ​ 󰆍 " shell + info " ​ ​ 󰉼 " theme + info " ​ ​  " icons + info " ​ ​ 󰝚 " song + # [[ "$player" ]] && prin "Music Player" "$player" +# info " ​ ​  " local_ip +# info " ​ ​  " public_ip +# info " ​ ​  " locale # This only works on glibc systems. + prin "└───────────────────────────────────────┘" + info cols +prin "\n \n \n \n \n ${cl3} \n \n ${cl5} \n \n ${cl2} \n \n ${cl6} \n \n ${cl4} \n \n ${cl1} \n \n ${cl7} \n \n ${cl0}" +} + +kernel_shorthand="on" +distro_shorthand="off" +os_arch="off" +uptime_shorthand="on" +memory_percent="on" +package_managers="on" +shell_path="off" +shell_version="on" +speed_type="bios_limit" +speed_shorthand="on" +cpu_brand="off" +cpu_speed="off" +cpu_cores="logical" +cpu_temp="off" +gpu_brand="off" +gpu_type="all" +refresh_rate="on" +gtk_shorthand="on" +gtk2="on" +gtk3="on" +public_ip_host="http://ident.me" +public_ip_timeout=2 +disk_show=('/') +music_player="cmus" +song_format="%artist% - %title%" +song_shorthand="off" +colors=(distro) +bold="on" +underline_enabled="on" +underline_char="-" +separator="  " +color_blocks="off" +block_range=(0 15) # Colorblocks + +# Colors for custom colorblocks +magenta="\033[1;35m" +green="\033[1;32m" +white="\033[1;37m" +blue="\033[1;34m" +red="\033[1;31m" +black="\033[1;40;30m" +yellow="\033[1;33m" +cyan="\033[1;36m" +reset="\033[0m" +bgyellow="\033[1;43;33m" +bgwhite="\033[1;47;37m" +cl0="${reset}" +cl1="${magenta}" +cl2="${green}" +cl3="${white}" +cl4="${blue}" +cl5="${red}" +cl6="${yellow}" +cl7="${cyan}" +cl8="${black}" +cl9="${bgyellow}" +cl10="${bgwhite}" + +block_width=4 +block_height=1 + +bar_char_elapsed="-" +bar_char_total="=" +bar_border="on" +bar_length=15 +bar_color_elapsed="distro" +bar_color_total="distro" + +cpu_display="on" +memory_display="on" +battery_display="on" +disk_display="on" + +aascii_distro="void-small" +ascii_colors=(distro) +ascii_bold="on" + +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" +crop_mode="normal" +crop_offset="center" + +gap=2 + +yoffset=0 +xoffset=0 + +stdout="off" diff --git a/usercfg/config/newsboat/config b/usercfg/config/newsboat/config new file mode 100644 index 000000000..d104d6d13 --- /dev/null +++ b/usercfg/config/newsboat/config @@ -0,0 +1,51 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom newsboat config +## +show-read-feeds yes +auto-reload yes +reload-threads 10 + +bind-key j down +bind-key k up +bind-key j next articlelist +bind-key k prev articlelist +bind-key J next-feed articlelist +bind-key K prev-feed articlelist +bind-key G end +bind-key g home +bind-key d pagedown +bind-key u pageup +bind-key l open +bind-key h quit +bind-key a toggle-article-read +bind-key n next-unread +bind-key N prev-unread +bind-key D pb-download +bind-key U show-urls +bind-key x pb-delete + +color listnormal cyan default +color listfocus black yellow standout bold +color listnormal_unread blue default +color listfocus_unread yellow default bold +color info red black bold +color article white default bold + +highlight all "---.*---" yellow +highlight feedlist ".*(0/0))" black +highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold +highlight article "(^Link:.*|^Date:.*)" default default +highlight article "https?://[^ ]+" green default +highlight article "^(Title):.*$" blue default +highlight article "\\[[0-9][0-9]*\\]" magenta default bold +highlight article "\\[image\\ [0-9]+\\]" green default bold +highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold +highlight article ":.*\\(link\\)$" cyan default +highlight article ":.*\\(image\\)$" blue default +highlight article ":.*\\(embedded flash\\)$" magenta default + +browser w3m +macro v set browser "mpv %u" ; open-in-browser ; set browser "w3m %u" diff --git a/usercfg/config/newsboat/urls b/usercfg/config/newsboat/urls new file mode 100644 index 000000000..1d4c14c29 --- /dev/null +++ b/usercfg/config/newsboat/urls @@ -0,0 +1,157 @@ +http://static.fsf.org/fsforg/rss/news.xml "~FSF News" +http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs" +https://fsfe.org/news/news.en.rss "~FSFE News" +https://dot.kde.org/rss.xml "~KDE Dot News" +https://planet.kde.org/global/atom.xml "~Planet KDE" +https://pointieststick.com/feed/ "~This Week on KDE" +https://www.kdeblog.com/rss "~KDE Blog" +https://thisweek.gnome.org/index.xml "~This Week on GNOME" +https://www.omgubuntu.co.uk/feed "~OMG!Ubuntu" +https://www.omglinux.com/feed "~OMG!Linux" +https://blog.thunderbird.net/feed/ "~The Thunderbird Blog" +https://thelinuxexp.com/feed.xml "~The Linux Experiment" +https://techhut.tv/feed/ "~TechHut Media" +https://itsfoss.com/rss/ "~Its FOSS!" +https://thelinuxcast.org/feed/feed.xml "~The Linux Cast" +https://9to5linux.com/feed/atom "~9to5Linux" +https://blog.elementary.io/feed.xml "~elementary OS Blog" +https://blog.zorin.com/index.xml "~Zorin OS Blog" +http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog" +https://www.gamingonlinux.com/article_rss.php "~Gaming on linux" +https://hackaday.com/blog/feed/ "~Hackaday" +https://linux.softpedia.com/backend.xml "~Softpedia Linux" +https://www.phoronix.com/rss.php "~Phoronix" +https://www.computerworld.com/index.rss "~Computerworld" +https://betanews.com/feed "~Betanews Linux" +http://lxer.com/module/newswire/headlines.rss "~Lxer" +https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton" +https://tutanota.com/blog/feed.xml "~Tutanota Blogs" +https://techcrunch.com/feed/ "~TechCrunch" +http://www.techradar.com/rss "~TechRadar" +https://www.zdnet.com/news/rss.xml "~ZDNET - News" +https://c3po.website/rss/ "~Blog de C3PO" +https://thecheis.com/feed/ "~THE_CHEI$" +http://yro.slashdot.org/yro.rss "~Slashdot: Your Rights Online" +https://freedom-to-tinker.com/feed/rss/ "~Freedom to Tinker" +https://act.eff.org/action.atom "~EFF - Action Center" +https://www.eff.org/rss/updates.xml "~EFF - Updates" +https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world" +https://theprivacydad.com/feed/ "~Welcome to The Privacy Dad's Blog!" +https://proton.me/blog/feed "~Proton Blog" + +https://inv.vern.cc/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware" +https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report" +https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue" +https://inv.vern.cc/feed/channel/UC1JTQBa5QxZCpXrFSkMxmPw "~YT - Raycevick" +https://inv.vern.cc/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer" +https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn" +https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight" +https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith" +https://inv.vern.cc/feed/channel/UC3Wn3dABlgESm8Bzn8Vamgg "~YT - Sideprojects" +https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic" +https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik" +https://inv.vern.cc/feed/channel/UC52hytXteCKmuOzMViTK8_w "~YT - CdeCiencia" +https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan" +https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy" +https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment" +https://inv.vern.cc/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog" +https://inv.vern.cc/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD" +https://inv.vern.cc/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning" +https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw" +https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd" +https://inv.vern.cc/feed/channel/UC8bCGC81i_jYlL041-iAFSA "~YT - JWulen" +https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy" +https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile" +https://inv.vern.cc/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego" +https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy" +https://inv.vern.cc/feed/channel/UCAMu6Dso0ENoNm3sKpQsy0g "~YT - Nir Lichtman" +https://inv.vern.cc/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser" +https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters" +https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea" +https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar" +https://inv.vern.cc/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks" +https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute" +https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed" +https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven" +https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil" +https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium" +https://inv.vern.cc/feed/channel/UCHvDhwNuq-h2hZQRR6BwbLQ "~YT - Tech With Nikola" +https://inv.vern.cc/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM" +https://inv.vern.cc/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro" +https://inv.vern.cc/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave" +https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR" +https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa" +https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains" +https://inv.vern.cc/feed/channel/UCMnZ3qm76jc3SUi9Z-5OdcA "~YT - Leyendas & Videojuegos" +https://inv.vern.cc/feed/channel/UCNorHyg3UZYJq5jJY9ZSt-w "~YT - Ryan-Thomas" +https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage" +https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux" +https://inv.vern.cc/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri" +https://inv.vern.cc/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore" +https://inv.vern.cc/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno" +https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog" +https://inv.vern.cc/feed/channel/UCR1IuLEqb6UEA_zQ81kwXfg "~YT - Real Engineering" +https://inv.vern.cc/feed/channel/UCRYeRa2iUMd8An1WTPIP2bw "~YT - aChair Leg" +https://inv.vern.cc/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD" +https://inv.vern.cc/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater" +https://inv.vern.cc/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths" +https://inv.vern.cc/feed/channel/UCSp-OaMpsO8K0KkOqyBl7_w "~YT - Let's Get Rusty" +https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - NBTV (Naomi Brockwell TV)" +https://inv.vern.cc/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate" +https://inv.vern.cc/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime" +https://inv.vern.cc/feed/channel/UCVk4b-svNJoeytrrlOixebQ "~YT - TheVimeagen" +https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube" +https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84" +https://inv.vern.cc/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings" +https://inv.vern.cc/feed/channel/UCWDGyt5hy6UA6Br-hAar03A "~YT - El Robot de Colón" +https://inv.vern.cc/feed/channel/UCWQaM7SpSECp9FELz-cHzuQ "~YT - Dreams of Code" +https://inv.vern.cc/feed/channel/UCWcp1Mwm7_bJ-mVoZb8TdkQ "~YT - TuberViejuner" +https://inv.vern.cc/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander" +https://inv.vern.cc/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown" +https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech" +https://inv.vern.cc/feed/channel/UCZ4AMrDcNrfy3X6nsU8-rPg "~YT - Economics Explained" +https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería" +https://inv.vern.cc/feed/channel/UCaSCt8s_4nfkRglWCvNSDrg "~YT - CodeAesthetic" +https://inv.vern.cc/feed/channel/UCaVPhFg-Ax873wvhbNitsrQ "~YT - El Robot de Platón" +https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture" +https://inv.vern.cc/feed/channel/UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers" +https://inv.vern.cc/feed/channel/UCcAy1o8VUCkdowxRYbc0XRw "~YT - Sebi's Random Tech" +https://inv.vern.cc/feed/channel/UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone" +https://inv.vern.cc/feed/channel/UCdp4_l1vPmpN-gDbUwhaRUQ "~YT - Branch Education" +https://inv.vern.cc/feed/channel/UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat" +https://inv.vern.cc/feed/channel/UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents" +https://inv.vern.cc/feed/channel/UCf-U0uPVQZtcqXUWa_Hl4Mw "~YT - Into the Shadows" +https://inv.vern.cc/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech" +https://inv.vern.cc/feed/channel/UCgNg3vwj3xt7QOrcIDaHdFg "~YT - PolyMatter" +https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon" +https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat" +https://inv.vern.cc/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer" +https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut" +https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman" +https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann" +https://inv.vern.cc/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul" +https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson" +https://inv.vern.cc/feed/channel/UClnDI2sdehVm1zm_LmUHsjQ "~YT - Biographics" +https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney" +https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell" +https://inv.vern.cc/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV" +https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro" +https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile" +https://inv.vern.cc/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix" +https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions" +https://inv.vern.cc/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds" +https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas" +https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore" +https://inv.vern.cc/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old" +https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel" +https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers" +https://inv.vern.cc/feed/channel/UCtYKe7-XbaDjpUwcU5x0bLg "~YT - neo" +https://inv.vern.cc/feed/channel/UCtYg149E_wUGVmjGz-TgyNA "~YT - Titus Tech Talk" +https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train" +https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV" +https://inv.vern.cc/feed/channel/UCxdZ7XCQVMRMipj3gGemQfw "~YT - GNULectures" +https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections" +https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger" +https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast" +https://inv.vern.cc/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ" +https://inv.vern.cc/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey" diff --git a/usercfg/config/picom/picom.conf b/usercfg/config/picom/picom.conf new file mode 100644 index 000000000..2b96a99b0 --- /dev/null +++ b/usercfg/config/picom/picom.conf @@ -0,0 +1,71 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom picom config + +## Shadows +shadow = false; +#shadow-radius = 8; +#shadow-opacity = .90 +#shadow-offset-x = -10; +#shadow-offset-y = -10; +# shadow-red = 0 +# shadow-green = 0 +# shadow-blue = 0 +# shadow-color = "#000000" +#shadow-exclude = [ +# "name = 'Notification'", +# "class_g = 'Conky'", +# "class_g ?= 'Notify-osd'", +# "class_g = 'Cairo-clock'", +# "_GTK_FRAME_EXTENTS@:c" +#]; + +## Fading +fading = false; +#fade-in-step = 0.05; +#fade-out-step = 0.05; +#fade-delta = 8 +#fade-exclude = [] +no-fading-openclose = true +#no-fading-destroyed-argb = false + +## Transparency and opacity +inactive-opacity = 1.00; +frame-opacity = 1.0; +inactive-opacity-override = false; +focus-exclude = [ "class_g = 'Cairo-clock'" ]; +# opaity-rule = [] + +## General Settings +backend = "glx"; +vsync = true; +dbe = false; +detect-client-opacity = true; +refresh-rate = 60; +detect-transient = true; +glx-no-stencil = true; +use-damage = true; +unredir-if-possible = true; +no-frame-pacing = true; +#unredir-if-possible-exclude = [ +# "class_g = 'looking-glass-client' && !focused" +#]; +glx-use-copysubbuffer-mesa = true; + +wintypes: +{ + normal = { fade = true; full-shadow = true; }; + tooltip = { fade = true; }; + menu = { fade = true; }; + popup_menu = { fade = true; }; + dropdown_menu = { fade = true; }; + utility = { fade = true; }; + dialog = { fade = true; }; + notify = { fade = true; }; + unknown = { fade = true; }; + # notification = { shadow = true; }; + # dock = { shadow = false; }; +}; + diff --git a/usercfg/config/pipewire/pipewire-pulse.conf b/usercfg/config/pipewire/pipewire-pulse.conf new file mode 100644 index 000000000..6910f0038 --- /dev/null +++ b/usercfg/config/pipewire/pipewire-pulse.conf @@ -0,0 +1,169 @@ +# PulseAudio config file for PipeWire version "1.0.4" # +# +# Copy and edit this file in /etc/pipewire for system-wide changes +# or in ~/.config/pipewire for local changes. +# +# It is also possible to place a file with an updated section in +# /etc/pipewire/pipewire-pulse.conf.d/ for system-wide changes or in +# ~/.config/pipewire/pipewire-pulse.conf.d/ for local changes. +# + +context.properties = { + ## Configure properties in the system. + #mem.warn-mlock = false + #mem.allow-mlock = true + #mem.mlock-all = false + #log.level = 2 + + #default.clock.quantum-limit = 8192 +} + +context.spa-libs = { + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + { name = libpipewire-module-rt + args = { + nice.level = -11 + #rt.prio = 55 + #rt.time.soft = -1 + #rt.time.hard = -1 + #uclamp.min = 0 + #uclamp.max = 1024 + } + flags = [ ifexists nofail ] + } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } + { name = libpipewire-module-metadata } + + { name = libpipewire-module-protocol-pulse + args = { + # contents of pulse.properties can also be placed here + # to have config per server. + } + } +] + +# Extra scripts can be started here. Setup in default.pa can be moved in +# a script or in pulse.cmd below +context.exec = [ + #{ path = "pactl" args = "load-module module-always-sink" } + #{ path = "pactl" args = "upload-sample my-sample.wav my-sample" } + #{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" } +] + +# Extra commands can be executed here. +# load-module : loads a module with args and flags +# args = " " +# ( flags = [ nofail ] ) +pulse.cmd = [ + { cmd = "load-module" args = "module-always-sink" flags = [ ] } + #{ cmd = "load-module" args = "module-switch-on-connect" } + #{ cmd = "load-module" args = "module-gsettings" flags = [ nofail ] } +] + +stream.properties = { + #node.latency = 1024/48000 + #node.autoconnect = true + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = true + #channelmix.upmix = true + #channelmix.upmix-method = psd # none, simple + #channelmix.lfe-cutoff = 150 + #channelmix.fc-cutoff = 12000 + #channelmix.rear-delay = 12.0 + #channelmix.stereo-widen = 0.0 + #channelmix.hilbert-taps = 0 + #dither.noise = 0 +} + +pulse.properties = { + # the addresses this server listens on + server.address = [ + "unix:native" + #"unix:/tmp/something" # absolute paths may be used + #"tcp:4713" # IPv4 and IPv6 on all addresses + #"tcp:[::]:9999" # IPv6 on all addresses + #"tcp:127.0.0.1:8888" # IPv4 on a single address + # + #{ address = "tcp:4713" # address + # max-clients = 64 # maximum number of clients + # listen-backlog = 32 # backlog in the server listen queue + # client.access = "restricted" # permissions for clients + #} + ] + #server.dbus-name = "org.pulseaudio.Server" + #pulse.min.req = 128/48000 # 2.7ms + #pulse.default.req = 960/48000 # 20 milliseconds + #pulse.min.frag = 128/48000 # 2.7ms + #pulse.default.frag = 96000/48000 # 2 seconds + #pulse.default.tlength = 96000/48000 # 2 seconds + #pulse.min.quantum = 128/48000 # 2.7ms + #pulse.idle.timeout = 0 # don't pause after underruns + #pulse.default.format = F32 + #pulse.default.position = [ FL FR ] + # These overrides are only applied when running in a vm. + vm.overrides = { + pulse.min.quantum = 1024/48000 # 22ms + } +} + +# client/stream specific properties +pulse.rules = [ + { + matches = [ + { + # all keys must match the value. ! negates. ~ starts regex. + #client.name = "Firefox" + #application.process.binary = "teams" + #application.name = "~speech-dispatcher.*" + } + ] + actions = { + update-props = { + #node.latency = 512/48000 + } + # Possible quirks:" + # force-s16-info forces sink and source info as S16 format + # remove-capture-dont-move removes the capture DONT_MOVE flag + # block-source-volume blocks updates to source volume + # block-sink-volume blocks updates to sink volume + #quirks = [ ] + } + } + { + # skype does not want to use devices that don't have an S16 sample format. + matches = [ + { application.process.binary = "teams" } + { application.process.binary = "teams-insiders" } + { application.process.binary = "skypeforlinux" } + ] + actions = { quirks = [ force-s16-info ] } + } + { + # firefox marks the capture streams as don't move and then they + # can't be moved with pavucontrol or other tools. + matches = [ { application.process.binary = "firefox" } ] + actions = { quirks = [ remove-capture-dont-move ] } + } + { + # speech dispatcher asks for too small latency and then underruns. + matches = [ { application.name = "~speech-dispatcher.*" } ] + actions = { + update-props = { + pulse.min.req = 512/48000 # 10.6ms + pulse.min.quantum = 512/48000 # 10.6ms + pulse.idle.timeout = 5 # pause after 5 seconds of underrun + } + } + } + #{ + # matches = [ { application.process.binary = "Discord" } ] + # actions = { quirks = [ block-source-volume ] } + #} +] diff --git a/usercfg/config/pipewire/pipewire.conf b/usercfg/config/pipewire/pipewire.conf new file mode 100644 index 000000000..cca8efb99 --- /dev/null +++ b/usercfg/config/pipewire/pipewire.conf @@ -0,0 +1,320 @@ +# Daemon config file for PipeWire version "1.0.4" # +# +# Copy and edit this file in /etc/pipewire for system-wide changes +# or in ~/.config/pipewire for local changes. +# +# It is also possible to place a file with an updated section in +# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in +# ~/.config/pipewire/pipewire.conf.d/ for local changes. +# + +context.properties = { + ## Configure properties in the system. + #library.name.system = support/libspa-support + #context.data-loop.library.name.system = support/libspa-support + #support.dbus = true + #link.max-buffers = 64 + link.max-buffers = 16 # version < 3 clients can't handle more + #mem.warn-mlock = false + #mem.allow-mlock = true + #mem.mlock-all = false + #clock.power-of-two-quantum = true + #log.level = 2 + #cpu.zero.denormals = false + + core.daemon = true # listening for socket connections + core.name = pipewire-0 # core name and socket name + + ## Properties for the DSP configuration. + default.clock.rate = 48000 + default.clock.allowed-rates = [ 44100, 48000, 88200, 96000 ] + #default.clock.quantum = 1024 + #default.clock.min-quantum = 32 + #default.clock.max-quantum = 2048 + #default.clock.quantum-limit = 8192 + #default.clock.quantum-floor = 4 + #default.video.width = 640 + #default.video.height = 480 + #default.video.rate.num = 25 + #default.video.rate.denom = 1 + # + #settings.check-quantum = false + #settings.check-rate = false + # + # These overrides are only applied when running in a vm. + vm.overrides = { + default.clock.min-quantum = 1024 + } + + # keys checked below to disable module loading + module.x11.bell = true + # enables autoloading of access module, when disabled an alternative + # access module needs to be loaded. + module.access = true + # enables autoloading of module-jackdbus-detect + module.jackdbus-detect = true +} + +context.spa-libs = { + # = + # + # Used to find spa factory names. It maps an spa factory name + # regular expression to a library name that should contain + # that factory. + # + audio.convert.* = audioconvert/libspa-audioconvert + avb.* = avb/libspa-avb + api.alsa.* = alsa/libspa-alsa + api.v4l2.* = v4l2/libspa-v4l2 + api.libcamera.* = libcamera/libspa-libcamera + api.bluez5.* = bluez5/libspa-bluez5 + api.vulkan.* = vulkan/libspa-vulkan + api.jack.* = jack/libspa-jack + support.* = support/libspa-support + #videotestsrc = videotestsrc/libspa-videotestsrc + #audiotestsrc = audiotestsrc/libspa-audiotestsrc +} + +context.modules = [ + #{ name = + # ( args = { = ... } ) + # ( flags = [ ( ifexists ) ( nofail ) ] ) + # ( condition = [ { = ... } ... ] ) + #} + # + # Loads a module with the given parameters. + # If ifexists is given, the module is ignored when it is not found. + # If nofail is given, module initialization failures are ignored. + # If condition is given, the module is loaded only when the context + # properties all match the match rules. + # + + # Uses realtime scheduling to boost the audio thread priorities. This uses + # RTKit if the user doesn't have permission to use regular realtime + # scheduling. You can also clamp utilisation values to improve scheduling + # on embedded and heterogeneous systems, e.g. Arm big.LITTLE devices. + { name = libpipewire-module-rt + args = { + nice.level = -11 + rt.prio = 60 + #rt.time.soft = -1 + #rt.time.hard = -1 + #uclamp.min = 0 + #uclamp.max = 1024 + } + flags = [ ifexists nofail ] + } + + # The native communication protocol. + { name = libpipewire-module-protocol-native + args = { + # List of server Unix sockets, and optionally permissions + #sockets = [ { name = "pipewire-0" }, { name = "pipewire-0-manager" } ] + } + } + + # The profile module. Allows application to access profiler + # and performance data. It provides an interface that is used + # by pw-top and pw-profiler. + { name = libpipewire-module-profiler } + + # Allows applications to create metadata objects. It creates + # a factory for Metadata objects. + { name = libpipewire-module-metadata } + + # Creates a factory for making devices that run in the + # context of the PipeWire server. + { name = libpipewire-module-spa-device-factory } + + # Creates a factory for making nodes that run in the + # context of the PipeWire server. + { name = libpipewire-module-spa-node-factory } + + # Allows creating nodes that run in the context of the + # client. Is used by all clients that want to provide + # data to PipeWire. + { name = libpipewire-module-client-node } + + # Allows creating devices that run in the context of the + # client. Is used by the session manager. + { name = libpipewire-module-client-device } + + # The portal module monitors the PID of the portal process + # and tags connections with the same PID as portal + # connections. + { name = libpipewire-module-portal + flags = [ ifexists nofail ] + } + + # The access module can perform access checks and block + # new clients. + { name = libpipewire-module-access + args = { + # Socket-specific access permissions + #access.socket = { pipewire-0 = "default", pipewire-0-manager = "unrestricted" } + + # Deprecated legacy mode (not socket-based), + # for now enabled by default if access.socket is not specified + #access.legacy = true + } + condition = [ { module.access = true } ] + } + + # Makes a factory for wrapping nodes in an adapter with a + # converter and resampler. + { name = libpipewire-module-adapter } + + # Makes a factory for creating links between ports. + { name = libpipewire-module-link-factory } + + # Provides factories to make session manager objects. + { name = libpipewire-module-session-manager } + + # Use libcanberra to play X11 Bell + { name = libpipewire-module-x11-bell + args = { + #sink.name = "@DEFAULT_SINK@" + #sample.name = "bell-window-system" + #x11.display = null + #x11.xauthority = null + } + flags = [ ifexists nofail ] + condition = [ { module.x11.bell = true } ] + } + { name = libpipewire-module-jackdbus-detect + args = { + #jack.library = libjack.so.0 + #jack.server = null + #jack.client-name = PipeWire + #jack.connect = true + #tunnel.mode = duplex # source|sink|duplex + source.props = { + #audio.channels = 2 + #midi.ports = 1 + #audio.position = [ FL FR ] + # extra sink properties + } + sink.props = { + #audio.channels = 2 + #midi.ports = 1 + #audio.position = [ FL FR ] + # extra sink properties + } + } + flags = [ ifexists nofail ] + condition = [ { module.jackdbus-detect = true } ] + } +] + +context.objects = [ + #{ factory = + # ( args = { = ... } ) + # ( flags = [ ( nofail ) ] ) + # ( condition = [ { = ... } ... ] ) + #} + # + # Creates an object from a PipeWire factory with the given parameters. + # If nofail is given, errors are ignored (and no object is created). + # If condition is given, the object is created only when the context properties + # all match the match rules. + # + #{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc node.description = videotestsrc "Spa:Pod:Object:Param:Props:patternType" = 1 } } + #{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] } + #{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } } + #{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } } + #{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test node.description = audiotestsrc } } + #{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } } + + # A default dummy driver. This handles nodes marked with the "node.always-process" + # property when no other driver is currently active. JACK clients need this. + { factory = spa-node-factory + args = { + factory.name = support.node.driver + node.name = Dummy-Driver + node.group = pipewire.dummy + priority.driver = 20000 + #clock.id = monotonic # realtime | tai | monotonic-raw | boottime + #clock.name = "clock.system.monotonic" + } + } + { factory = spa-node-factory + args = { + factory.name = support.node.driver + node.name = Freewheel-Driver + priority.driver = 19000 + node.group = pipewire.freewheel + node.freewheel = true + } + } + + # This creates a new Source node. It will have input ports + # that you can link, to provide audio for this source. + #{ factory = adapter + # args = { + # factory.name = support.null-audio-sink + # node.name = "my-mic" + # node.description = "Microphone" + # media.class = "Audio/Source/Virtual" + # audio.position = "FL,FR" + # monitor.passthrough = true + # } + #} + + # This creates a single PCM source device for the given + # alsa device path hw:0. You can change source to sink + # to make a sink in the same way. + #{ factory = adapter + # args = { + # factory.name = api.alsa.pcm.source + # node.name = "alsa-source" + # node.description = "PCM Source" + # media.class = "Audio/Source" + # api.alsa.path = "hw:0" + # api.alsa.period-size = 1024 + # api.alsa.headroom = 0 + # api.alsa.disable-mmap = false + # api.alsa.disable-batch = false + # audio.format = "S16LE" + # audio.rate = 48000 + # audio.channels = 2 + # audio.position = "FL,FR" + # } + #} + + # Use the metadata factory to create metadata and some default values. + #{ factory = metadata + # args = { + # metadata.name = my-metadata + # metadata.values = [ + # { key = default.audio.sink value = { name = somesink } } + # { key = default.audio.source value = { name = somesource } } + # ] + # } + #} +] + +context.exec = [ + #{ path = + # ( args = "" ) + # ( condition = [ { = ... } ... ] ) + #} + # + # Execute the given program with arguments. + # If condition is given, the program is executed only when the context + # properties all match the match rules. + # + # You can optionally start the session manager here, + # but it is better to start it as a systemd service. + # Run the session manager with -h for options. + # + #{ path = "/usr/bin/pipewire-media-session" args = "" + # condition = [ { exec.session-manager = null } { exec.session-manager = true } ] } + # + # You can optionally start the pulseaudio-server here as well + # but it is better to start it as a systemd service. + # It can be interesting to start another daemon here that listens + # on another address with the -a option (eg. -a tcp:4713). + # + #{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" + # condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] } +] diff --git a/usercfg/config/tut/config.toml b/usercfg/config/tut/config.toml new file mode 100644 index 000000000..fe9e2f4f2 --- /dev/null +++ b/usercfg/config/tut/config.toml @@ -0,0 +1,1283 @@ +# Configuration file for tut + +[general] +# What editor to use. TUT_USE_INTERNAL will use the editor that comes with tut. +# If you want you can set this to $EDITOR to use your environment variable or +# vim if you want to specify the program directly. +# default="TUT_USE_INTERNAL" +editor="TUT_USE_INTERNAL" + +# You need to press yes in a confirmation dialog before favoriting, boosting, +# etc. +# default=true +confirmation=true + +# Enable mouse support in tut. +# default=false +mouse-support=false + +# The date format to be used. See https://pkg.go.dev/time#pkg-constants +# default="2006-01-02 15:04" +date-format="2006-01-02 15:04" + +# Format for dates the same day. See date-format for more info. +# default="15:04" +date-tody-format="15:04" + +# This displays relative dates instead for statuses that are one day or older +# the output is 1y2m1d (1 year 2 months and 1 day) +# +# The value is an integer +# -1 = don't use relative dates +# 0 = always use relative dates, except for dates < 1 day +# 1 - ∞ = number of days to use relative dates +# +# Value: 28 will display a relative date for toots that are between 1-28 days +# old. Otherwise it will use the short or long format. +# default=-1 +date-relative=-1 + +# The max with of text before it wraps when displaying a toot. +# default=0 +max-width=0 + +# The placement of your panes. +# valid: left, right, top, bottom +# default="left" +list-placement="left" + +# How should panes be split? +# valid: row, column +# default="row" +list-split="row" + +# The proportion of panes vs. content. 1 on this and 3 on content below results +# in content taking up 3 times more space. +# default=1 +list-proportion=1 + +# See previous. +# default=2 +content-proportion=2 + +# Hide notifications of this type in your notification timelines. +# valid: mention, status, boost, follow, follow_request, favorite, poll, edit +# default=[] +notifications-to-hide=[] + +# Always include a quote of the message you're replying to. +# default=false +quote-reply=false + +# If you want to show icons in timelines. +# default=true +show-icons=true + +# If you only want to you the letter of keys instead of the full hint. +# default=false +short-hints=false + +# If you want to display the filter that filtered a toot. +# default=true +show-filter-phrase=true + +# Display a message in the commandbar on how to access the help text. +# default=true +show-help=true + +# Always jump to the newest post. May ruin your reading experience. +# default=false +stick-to-top=false + +# Display the username of the person being boosted instead of the person that +# boosted. +# default=false +show-boosted-user=false + +# Open a new pane when you run a command like :timeline home. +# default=true +commands-in-new-pane=true + +# Set a default name for the timeline if the name is empty. So if you run :tag +# linux the title of the pane will be set to #linux +# default=true +dynamic-timeline-name=true + +# 0 = No terminal title +# 1 = Show title in terminal and top bar +# 2 = Only show terminal title, and no top bar in tut +# 3 = No terminal title and no top bar in tut. +# valid: 0, 1, 2, 3 +# default=0 +terminal-title=0 + +# If you don't want the whole UI to update, and only update the text content you +# can disable this. This will lead to some artifacts being left on the screen +# when emojis are present. +# default=true +redraw-ui=true + +# The leader is used as a shortcut to run commands as you can do in Vim. By +# default this is disabled and you enable it by setting a key here. It can only +# consist of one char, so set it to something like a comma. +# default="" +leader-key="" + +# Number of milliseconds before the leader command resets. So if you tap the +# leader-key by mistake or are to slow it empties all the input after X +# milliseconds. +# default=1000 +leader-timeout=1000 + +# [[general.timelines]] +# Timelines adds panes of feeds. You can customize the number of feeds, what +# they should show and the key to activate them. + +# --- START OF EXAMPLE --- +# [[general.timelines]] +# name="home" +# type="home" +# hide-boosts=false +# hide-replies=false +# +# [[general.timelines]] +# name="Notifications" +# type="notifications" +# keys=["n", "N"] +# closed=true +# on-creation-closed="new-pane" +# on-focus="focus-self" +# --- END OF EXAMPLE --- + +# The name to display above the timeline +# default="" +# name="" + +# The type of the timeline +# valid: home, direct, local, federated, bookmarks, saved, favorited, notifications, +# lists, mentions, tag +# default="" +# type="" + +# Used for the tag type, so here you set the tag. If you have multiple you +# separate them with a space. +# default="" +# data="" + +# A list of keys to give this timeline focus. See under the input section to +# learn more about keys. +# default=[] +# keys=[] + +# A list of special-keys to give this timeline focus. See under the input +# section to learn more about special-keys. +# default=[] +# special-keys=[] + +# A shortcut to give this timeline focus with your leader-key + this shortcut. +# default="" +# shortcut="" + +# Hide boosts in this timeline. +# default="false" +# hide-boosts="false" + +# Hide replies in this timeline. +# default="false" +# hide-replies="false" + +# Don't open this timeline when you start tut. Use your keys or shortcut to open +# it. +# default="false" +# closed="false" + +# Don't open this timeline when you start tut. Use your keys or shortcut to open +# it. +# valid: new-pane, current-pane +# default="new-pane" +# on-creation-closed="new-pane" + +# Don't open this timeline when you start tut. Use your keys or shortcut to open +# it. +# valid: focus-pane, focus-self +# default="focus-pane" +# on-focus="focus-pane" + +# [[general.leader-actions]] +# You set actions leader-key with one or more leader-actions. +# +# The shortcuts are up to you, but keep them quite short and make sure they +# don't collide. If you have one shortcut that is "f" and an other one that is +# "fav", the one with "f" will always run and "fav" will never run. +# +# Some special actions that requires data to be set: +# pane is special as it's a shortcut for switching between the panes you've set +# under general and they are zero indexed. pane 0 = your first timeline, pane 1 +# = your second and so on. +# list-placement as it takes the argument top, right, bottom or left +# list-split as it takes the argument column or row +# proportions takes the arguments [int] [int], where the first integer is the +# list and the other content, e.g. proportions 1 3. See list-proportion above +# for more information. + +# --- START OF EXAMPLE --- +# [[general.leader-actions]] +# type="close-pane" +# shortcut="q" +# +# [[general.leader-actions]] +# type="list-split" +# data="row" +# shortcut="r" +# +# [[general.leader-actions]] +# type="list-split" +# data="column" +# shortcut="c" +# --- END OF EXAMPLE --- + +# The action you want to run. +# valid: blocking, boosts, clear-notifications, close-pane, compose, edit, favorited, +# favorites, followers, following, history, list-placement, list-split, lists, +# move-pane-left, move-pane-right, move-pane-up, move-pane-down, move-pane-home, +# move-pane-end, muting, newer, pane, preferences, profile, proportions, +# refetch, stick-to-top, tags +# default="" +# type="" + +# Data to pass to the action. +# default="" +# data="" + +# A shortcut to run this action with your leader-key + this shortcut. +# default="" +# shortcut="" + +[media] +# Media files will be removed directly after they've been opened. Some programs +# doesn't like this, so if your media doesn't open, try set this to false. Tut +# will remove all files once you close the program. +# default=true +delete-temp-files=true + +[media.image] +# The program to open images. TUT_OS_DEFAULT equals xdg-open on Linux, open on +# MacOS and start on Windows. +# default="TUT_OS_DEFAULT" +program="TUT_OS_DEFAULT" + +# Arguments to pass to the program. +# default="" +args="" + +# If the program runs in the terminal set this to true. +# default=false +terminal=false + +# If the program should be called multiple times when there is multiple files. +# If set to false all files will be passed as an argument, but not all programs +# support this. +# default=true +single=true + +# If the files should be passed in reverse order. This will make some programs +# display the files in the correct order. +# default=false +reverse=false + +[media.video] +# The program to open videos. TUT_OS_DEFAULT equals xdg-open on Linux, open on +# MacOS and start on Windows. +# default="TUT_OS_DEFAULT" +program="TUT_OS_DEFAULT" + +# Arguments to pass to the program. +# default="" +args="" + +# If the program runs in the terminal set this to true. +# default=false +terminal=false + +# If the program should be called multiple times when there is multiple files. +# If set to false all files will be passed as an argument, but not all programs +# support this. +# default=true +single=true + +# If the files should be passed in reverse order. This will make some programs +# display the files in the correct order. +# default=false +reverse=false + +[media.audio] +# The program to open audio. TUT_OS_DEFAULT equals xdg-open on Linux, open on +# MacOS and start on Windows. +# default="TUT_OS_DEFAULT" +program="TUT_OS_DEFAULT" + +# Arguments to pass to the program. +# default="" +args="" + +# If the program runs in the terminal set this to true. +# default=false +terminal=false + +# If the program should be called multiple times when there is multiple files. +# If set to false all files will be passed as an argument, but not all programs +# support this. +# default=true +single=true + +# If the files should be passed in reverse order. This will make some programs +# display the files in the correct order. +# default=false +reverse=false + +[media.link] +# The program to open links. TUT_OS_DEFAULT equals xdg-open on Linux, open on +# MacOS and start on Windows. +# default="TUT_OS_DEFAULT" +program="TUT_OS_DEFAULT" + +# Arguments to pass to the program. +# default="" +args="" + +# If the program runs in the terminal set this to true. +# default=false +terminal=false + +[desktop-notification] +# Enable notifications when someone follows you. +# default=false +followers=false + +# Enable notifications when one of your toots gets favorited. +# default=false +favorite=false + +# Enable notifications when someone mentions you. +# default=false +mention=false + +# Enable notifications when a post you have interacted with gets edited. +# default=false +update=false + +# Enable notifications when one of your toots gets boosted. +# default=false +boost=false + +# Enable notifications when a poll ends. +# default=false +poll=false + +# Enable notifications for new posts. +# default=false +posts=false + +[open-custom] +# --- START OF EXAMPLE --- +# [[open-custom.programs]] +# program = 'chromium' +# terminal = false +# hint = "[C]hrome" +# keys = ["c", "C"] +# +# [[open-custom.programs]] +# program = 'imv' +# terminal = false +# hint = "[I]mv" +# keys = ["i", "I"]" +# --- END OF EXAMPLE --- + +# [[open-custom.programs]] +# The program to open the file with. +# default="" +# program="" + +# Arguments to pass to the program. +# default="" +# args="" + +# If the program runs in the terminal set this to true. +# default=false +# terminal=false + +# What should the key hint in tut be for this program. See under the input +# section to learn more about hint. +# default="" +# hint="" + +# A list of keys to to open files with this program. See under the input section +# to learn more about keys. +# default=[] +# keys=[] + +# A list of special-keys to open files with this program. See under the input +# section to learn more about special-keys. +# default=[] +# special-keys=[] + +[open-pattern] +# [[open-pattern.programs]] +# Here you can set your own glob patterns for opening matching URLs in the +# program you want them to open up in. You could for example open Youtube videos +# in your video player instead of your default browser. To see the syntax for +# glob pattern you can follow this URL https://github.com/gobwas/glob#syntax. +# default="" +# matching="" + +# The program to open the file with. +# default="" +# program="" + +# Arguments to pass to the program. +# default="" +# args="" + +# If the program runs in the terminal set this to true. +# default=false +# terminal=false + +[style] +# All styles can be represented in their HEX value like #ffffff or with their +# name, so in this case white. The only special value is "default" which equals +# to transparent, so it will be the same color as your terminal. +# You can also use xrdb colors like this xrdb:color1 The program will use colors +# prefixed with an * first then look for URxvt or XTerm if it can't find any +# color prefixed with an asterisk. If you don't want tut to guess the prefix you +# can set the prefix yourself. If the xrdb color can't be found a preset color +# will be used. You'll have to set theme="none" for this to work. + +# The theme to use. You can use some themes that comes bundled with tut. Check +# out the themes available on the URL below. If a theme is named nord.toml you +# just write theme="nord". +# +# https://github.com/RasmusLindroth/tut/tree/master/config/themes +# +# You can also create a theme file in your config directory e.g. +# ~/.config/tut/themes/foo.toml and then set theme=foo. +# +# If you want to use your own theme but don't want to create a new file, set +# theme="none" and then you can create your own theme below. +# +# default="default" +theme="default" + +# The xrdb prefix used for colors in .Xresources. +# default="guess" +xrdb-prefix="guess" + +# The background color used on most elements. +# default="" +background="" + +# The text color used on most of the text. +# default="" +text="" + +# The color to display subtle elements or subtle text. Like lines and help text. +# default="" +subtle="" + +# The color for errors or warnings +# default="" +warning-text="" + +# This color is used to display username. +# default="" +text-special-one="" + +# This color is used to display username and key hints. +# default="" +text-special-two="" + +# The color of the bar at the top +# default="" +top-bar-background="" + +# The color of the text in the bar at the top. +# default="" +top-bar-text="" + +# The color of the bar at the bottom +# default="" +status-bar-background="" + +# The color of the text in the bar at the bottom. +# default="" +status-bar-text="" + +# The color of the bar at the bottom in view mode. +# default="" +status-bar-view-background="" + +# The color of the text in the bar at the bottom in view mode. +# default="" +status-bar-view-text="" + +# The color of the text in the command bar at the bottom. +# default="" +command-text="" + +# Background of selected list items. +# default="" +list-selected-background="" + +# The text color of selected list items. +# default="" +list-selected-text="" + +# The background color of selected list items that are out of focus. +# default="" +list-selected-inactive-background="" + +# The text color of selected list items that are out of focus. +# default="" +list-selected-inactive-text="" + +# The main color of the text for key hints +# default="" +controls-text="" + +# The highlight color of for key hints +# default="" +controls-highlight="" + +# The background color in drop-downs and autocompletions +# default="" +autocomplete-background="" + +# The text color in drop-downs at autocompletions +# default="" +autocomplete-text="" + +# The background color for selected value in drop-downs and autocompletions +# default="" +autocomplete-selected-background="" + +# The text color for selected value in drop-downs and autocompletions +# default="" +autocomplete-selected-text="" + +# The background color on selected button and the text color of unselected +# buttons +# default="" +button-color-one="" + +# The text color on selected button and the background color of unselected +# buttons +# default="" +button-color-two="" + +# The background on named timelines. +# default="" +timeline-name-background="" + +# The text color on named timelines +# default="" +timeline-name-text="" + +[input] +# In this section you set the keys to be used in tut. +# +# The hint option lets you set which part of the hint that will be highlighted +# in tut. E.g. [F]avorite results in a highlighted F and the rest of the text is +# displayed normally. +# Some of the options can be in two states, like favorites, so there you can set +# the hint-alt option to something like Un[F]avorite. +# +# Examples: +# "[D]elete" = Delete with a highlighted D +# "Un[F]ollow" = UnFollow with a highlighted F +# "[Enter]" = Enter where everything is highlighted +# "Yan[K]" = YanK with a highlighted K +# +# The keys option lets you define what key that should be pressed. This is +# limited to on character only and they are case sensitive. +# Example: +# keys=["j","J"] +# +# You can also set special-keys and they're for keys like Escape and Enter. To +# find the names of special keys you have to go to the following site and look +# for "var KeyNames = map[Key]string{" +# +# https://github.com/gdamore/tcell/blob/master/key.go + +[input.global-down] +# Keys for moving down + +# default=["j", "J"] +keys=["j","J"] + +# default=["Down"] +special-keys=["Down"] + +[input.global-up] +# Keys for moving down + +# default=["k", "K"] +keys=["k","K"] + +# default=["Up"] +special-keys=["Up"] + +[input.global-enter] +# To select items + +# default=["Enter"] +special-keys=["Enter"] + +[input.global-back] +# To go back + +# default="[Esc]" +hint="[Esc]" + +# default=["Esc"] +special-keys=["Esc"] + +[input.global-exit] +# To go back or exit + +# default="[Q]uit" +hint="[Q]uit" + +# default=["q", "Q"] +keys=["q","Q"] + +[input.main-home] +# Move to the top + +# default=["g"] +keys=["g"] + +# default=["Home"] +special-keys=["Home"] + +[input.main-end] +# Move to the bottom + +# default=["G"] +keys=["G"] + +# default=["End"] +special-keys=["End"] + +[input.main-prev-feed] +# Go to previous feed + +# default=["h", "H"] +keys=["h","H"] + +# default=["Left"] +special-keys=["Left"] + +[input.main-next-feed] +# Go to next feed + +# default=["l", "L"] +keys=["l","L"] + +# default=["Right"] +special-keys=["Right"] + +[input.main-prev-pane] +# Focus on the previous feed pane + +# default=["Backtab"] +special-keys=["Backtab"] + +[input.main-next-pane] +# Focus on the next feed pane + +# default=["Tab"] +special-keys=["Tab"] + +[input.main-next-account] +# Focus on the next account + +# default=["Ctrl-N"] +special-keys=["Ctrl-N"] + +[input.main-prev-account] +# Focus on the previous account + +# default=["Ctrl-P"] +special-keys=["Ctrl-P"] + +[input.main-compose] +# Compose a new toot + +# default=["c", "C"] +keys=["c","C"] + +[input.status-avatar] +# Open avatar + +# default="[A]vatar" +hint="[A]vatar" + +# default=["a", "A"] +keys=["a","A"] + +[input.status-boost] +# Boost a toot + +# default="[B]oost" +hint="[B]oost" + +# default=["b", "B"] +keys=["b","B"] + +[input.status-edit] +# Edit a toot + +# default="[E]dit" +hint="[E]dit" + +# default=["e", "E"] +keys=["e","E"] + +[input.status-delete] +# Delete a toot + +# default="[D]elete" +hint="[D]elete" + +# default=["d", "D"] +keys=["d","D"] + +[input.status-favorite] +# Favorite a toot + +# default="[F]avorite" +hint="[F]avorite" + +# default=["f", "F"] +keys=["f","F"] + +[input.status-media] +# Open toots media files + +# default="[M]edia" +hint="[M]edia" + +# default=["m", "M"] +keys=["m","M"] + +[input.status-links] +# Open links + +# default="[O]pen" +hint="[O]pen" + +# default=["o", "O"] +keys=["o","O"] + +[input.status-poll] +# Open poll + +# default="[P]oll" +hint="[P]oll" + +# default=["p", "P"] +keys=["p","P"] + +[input.status-reply] +# Reply to toot + +# default="[R]eply" +hint="[R]eply" + +# default=["r", "R"] +keys=["r","R"] + +[input.status-bookmark] +# Save/bookmark a toot + +# default="[S]ave" +hint="[S]ave" + +# default="Un[S]ave" +hint-alt="Un[S]ave" + +# default=["s", "S"] +keys=["s","S"] + +[input.status-thread] +# View thread + +# default="[T]hread" +hint="[T]hread" + +# default=["t", "T"] +keys=["t","T"] + +[input.status-user] +# Open user profile + +# default="[U]ser" +hint="[U]ser" + +# default=["u", "U"] +keys=["u","U"] + +[input.status-view-focus] +# Open the view mode + +# default="[V]iew" +hint="[V]iew" + +# default=["v", "V"] +keys=["v","V"] + +[input.status-yank] +# Yank the url of the toot + +# default="[Y]ank" +hint="[Y]ank" + +# default=["y", "Y"] +keys=["y","Y"] + +[input.status-toggle-cw] +# Show the content in a content warning + +# default="Press [Z] to toggle cw" +hint="Press [Z] to toggle cw" + +# default=["z", "Z"] +keys=["z","Z"] + +[input.status-show-filtered] +# Show the content of a filtered toot + +# default="Press [Z] to view filtered toot" +hint="Press [Z] to view filtered toot" + +# default=["z", "Z"] +keys=["z","Z"] + +[input.user-avatar] +# View avatar + +# default="[A]vatar" +hint="[A]vatar" + +# default=["a", "A"] +keys=["a","A"] + +[input.user-block] +# Block the user + +# default="[B]lock" +hint="[B]lock" + +# default="Un[B]lock" +hint-alt="Un[B]lock" + +# default=["b", "B"] +keys=["b","B"] + +[input.user-follow] +# Follow user + +# default="[F]ollow" +hint="[F]ollow" + +# default="Un[F]ollow" +hint-alt="Un[F]ollow" + +# default=["f", "F"] +keys=["f","F"] + +[input.user-follow-request-decide] +# Follow user + +# default="Follow [R]equest" +hint="Follow [R]equest" + +# default="Follow [R]equest" +hint-alt="Follow [R]equest" + +# default=["r", "R"] +keys=["r","R"] + +[input.user-mute] +# Mute user + +# default="[M]ute" +hint="[M]ute" + +# default="Un[M]ute" +hint-alt="Un[M]ute" + +# default=["m", "M"] +keys=["m","M"] + +[input.user-links] +# Open links + +# default="[O]pen" +hint="[O]pen" + +# default=["o", "O"] +keys=["o","O"] + +[input.user-user] +# View user profile + +# default="[U]ser" +hint="[U]ser" + +# default=["u", "U"] +keys=["u","U"] + +[input.user-view-focus] +# Open view mode + +# default="[V]iew" +hint="[V]iew" + +# default=["v", "V"] +keys=["v","V"] + +[input.user-yank] +# Yank the user URL + +# default="[Y]ank" +hint="[Y]ank" + +# default=["y", "Y"] +keys=["y","Y"] + +[input.list-open-feed] +# Open list + +# default="[O]pen" +hint="[O]pen" + +# default=["o", "O"] +keys=["o","O"] + +[input.list-user-list] +# List all users in a list + +# default="[U]sers" +hint="[U]sers" + +# default=["u", "U"] +keys=["u","U"] + +[input.list-user-add] +# Add user to list + +# default="[A]dd" +hint="[A]dd" + +# default=["a", "A"] +keys=["a","A"] + +[input.list-user-delete] +# Delete user from list + +# default="[D]elete" +hint="[D]elete" + +# default=["d", "D"] +keys=["d","D"] + +[input.link-open] +# Open URL + +# default="[O]pen" +hint="[O]pen" + +# default=["o", "O"] +keys=["o","O"] + +[input.link-yank] +# Yank the URL + +# default="[Y]ank" +hint="[Y]ank" + +# default=["y", "Y"] +keys=["y","Y"] + +[input.tag-open-feed] +# Open tag feed + +# default="[O]pen" +hint="[O]pen" + +# default=["o", "O"] +keys=["o","O"] + +[input.tag-follow] +# Toggle follow on tag + +# default="[F]ollow" +hint="[F]ollow" + +# default="Un[F]ollow" +hint-alt="Un[F]ollow" + +# default=["f", "F"] +keys=["f","F"] + +[input.compose-edit-cw] +# Edit content warning text on new toot + +# default="[C]W text" +hint="[C]W text" + +# default=["c", "C"] +keys=["c","C"] + +[input.compose-edit-text] +# Edit the text on new toot + +# default="[E]dit text" +hint="[E]dit text" + +# default=["e", "E"] +keys=["e","E"] + +[input.compose-include-quote] +# Include a quote when replying + +# default="[I]nclude quote" +hint="[I]nclude quote" + +# default=["i", "I"] +keys=["i","I"] + +[input.compose-media-focus] +# Focus on adding media to toot + +# default="[M]edia" +hint="[M]edia" + +# default=["m", "M"] +keys=["m","M"] + +[input.compose-post] +# Post the new toot + +# default="[P]ost" +hint="[P]ost" + +# default=["p", "P"] +keys=["p","P"] + +[input.compose-toggle-content-warning] +# Toggle content warning on toot + +# default="[T]oggle CW" +hint="[T]oggle CW" + +# default=["t", "T"] +keys=["t","T"] + +[input.compose-visibility] +# Edit the visibility on new toot + +# default="[V]isibility" +hint="[V]isibility" + +# default=["v", "V"] +keys=["v","V"] + +[input.compose-language] +# Edit the language of a toot + +# default="[L]ang" +hint="[L]ang" + +# default=["l", "L"] +keys=["l","L"] + +[input.compose-poll] +# Switch to creating a poll + +# default="P[O]ll" +hint="P[O]ll" + +# default=["o", "O"] +keys=["o","O"] + +[input.media-delete] +# Delete media file + +# default="[D]elete" +hint="[D]elete" + +# default=["d", "D"] +keys=["d","D"] + +[input.media-edit-desc] +# Edit the description on media file + +# default="[E]dit desc" +hint="[E]dit desc" + +# default=["e", "E"] +keys=["e","E"] + +[input.media-add] +# Add a new media file + +# default="[A]dd" +hint="[A]dd" + +# default=["a", "A"] +keys=["a","A"] + +[input.vote-vote] +# Vote on poll + +# default="[V]ote" +hint="[V]ote" + +# default=["v", "V"] +keys=["v","V"] + +[input.vote-select] +# Select item to vote on + +# default="[Enter] to select" +hint="[Enter] to select" + +# default=["Enter"] +special-keys=["Enter"] + +[input.poll-add] +# Add a new poll option + +# default="[A]dd" +hint="[A]dd" + +# default=["a", "A"] +keys=["a","A"] + +[input.poll-edit] +# Edit a poll option + +# default="[E]dit" +hint="[E]dit" + +# default=["e", "E"] +keys=["e","E"] + +[input.poll-delete] +# Delete a poll option + +# default="[D]elete" +hint="[D]elete" + +# default=["d", "D"] +keys=["d","D"] + +[input.poll-multi-toggle] +# Toggle voting on multiple options + +# default="Toggle [M]ultiple" +hint="Toggle [M]ultiple" + +# default=["m", "M"] +keys=["m","M"] + +[input.poll-expiration] +# Change the expiration of poll + +# default="E[X]pires" +hint="E[X]pires" + +# default=["x", "X"] +keys=["x","X"] + +[input.preference-name] +# Change display name + +# default="[N]ame" +hint="[N]ame" + +# default=["n", "N"] +keys=["n","N"] + +[input.preference-visibility] +# Change default visibility of toots + +# default="[V]isibility" +hint="[V]isibility" + +# default=["v", "V"] +keys=["v","V"] + +[input.preference-bio] +# Change bio in profile + +# default="[B]io" +hint="[B]io" + +# default=["b", "B"] +keys=["b","B"] + +[input.preference-save] +# Save your preferences + +# default="[S]ave" +hint="[S]ave" + +# default=["s", "S"] +keys=["s","S"] + +[input.preference-fields] +# Edit profile fields + +# default="[F]ields" +hint="[F]ields" + +# default=["f", "F"] +keys=["f","F"] + +[input.preference-fields-add] +# Add new field + +# default="[A]dd" +hint="[A]dd" + +# default=["a", "A"] +keys=["a","A"] + +[input.preference-fields-edit] +# Edit current field + +# default="[E]dit" +hint="[E]dit" + +# default=["e", "E"] +keys=["e","E"] + +[input.preference-fields-delete] +# Delete current field + +# default="[D]elete" +hint="[D]elete" + +# default=["d", "D"] +keys=["d","D"] + +[input.editor-exit] +# Exit the editor + +# default="[Esc] when done" +hint="[Esc] when done" + +# default=["Esc"] +special-keys=["Esc"] diff --git a/usercfg/config/yazi/keymap.toml b/usercfg/config/yazi/keymap.toml new file mode 100644 index 000000000..a803ae7b7 --- /dev/null +++ b/usercfg/config/yazi/keymap.toml @@ -0,0 +1,309 @@ +# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. +# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. +"$schema" = "https://yazi-rs.github.io/schemas/keymap.json" + +[manager] + +keymap = [ + { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ "" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, + { on = [ "q" ], run = "quit", desc = "Exit the process" }, + { on = [ "Q" ], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, + { on = [ "" ], run = "close", desc = "Close the current tab, or quit if it is last tab" }, + { on = [ "" ], run = "suspend", desc = "Suspend the process" }, + + # Navigation + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ "" ], run = "arrow -50%", desc = "Move cursor up half page" }, + { on = [ "" ], run = "arrow 50%", desc = "Move cursor down half page" }, + { on = [ "" ], run = "arrow -100%", desc = "Move cursor up one page" }, + { on = [ "" ], run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ "h" ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ "l" ], run = "enter", desc = "Enter the child directory" }, + + { on = [ "H" ], run = "back", desc = "Go back to the previous directory" }, + { on = [ "L" ], run = "forward", desc = "Go forward to the next directory" }, + + { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + { on = [ "" ], run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = [ "" ], run = "seek 5", desc = "Seek down 5 units in the preview" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + { on = [ "" ], run = "leave", desc = "Go back to the parent directory" }, + { on = [ "" ], run = "enter", desc = "Enter the child directory" }, + + { on = [ "g", "g" ], run = "arrow -99999999", desc = "Move cursor to the top" }, + { on = [ "G" ], run = "arrow 99999999", desc = "Move cursor to the bottom" }, + + # Selection + { on = [ "" ], run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" }, + { on = [ "v" ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, + { on = [ "V" ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, + { on = [ "" ], run = "select_all --state=true", desc = "Select all files" }, + { on = [ "" ], run = "select_all --state=none", desc = "Inverse selection of all files" }, + + # Operation + { on = [ "o" ], run = "open", desc = "Open the selected files" }, + { on = [ "O" ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ "" ], run = "open", desc = "Open the selected files" }, + { on = [ "" ], run = "open --interactive", desc = "Open the selected files interactively" }, + { on = [ "y" ], run = "yank", desc = "Copy the selected files" }, + { on = [ "Y" ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ "x" ], run = "yank --cut", desc = "Cut the selected files" }, + { on = [ "X" ], run = "unyank", desc = "Cancel the yank status of files" }, + { on = [ "p" ], run = "paste", desc = "Paste the files" }, + { on = [ "P" ], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, + { on = [ "-" ], run = "link", desc = "Symlink the absolute path of files" }, + { on = [ "_" ], run = "link --relative", desc = "Symlink the relative path of files" }, + { on = [ "d" ], run = "remove", desc = "Move the files to the trash" }, + { on = [ "D" ], run = "remove --permanently", desc = "Permanently delete the files" }, + { on = [ "a" ], run = "create", desc = "Create a file or directory (ends with / for directories)" }, + { on = [ "r" ], run = "rename --cursor=before_ext", desc = "Rename a file or directory" }, + { on = [ ";" ], run = "shell", desc = "Run a shell command" }, + { on = [ ":" ], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, + { on = [ "." ], run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, + { on = [ "s" ], run = "search fd", desc = "Search files by name using fd" }, + { on = [ "S" ], run = "search rg", desc = "Search files by content using ripgrep" }, + { on = [ "" ], run = "search none", desc = "Cancel the ongoing search" }, + { on = [ "z" ], run = "jump zoxide", desc = "Jump to a directory using zoxide" }, + { on = [ "Z" ], run = "jump fzf", desc = "Jump to a directory, or reveal a file using fzf" }, + + # Linemode + { on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" }, + { on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" }, + { on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" }, + { on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" }, + + # Copy + { on = [ "c", "c" ], run = "copy path", desc = "Copy the absolute path" }, + { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the path of the parent directory" }, + { on = [ "c", "f" ], run = "copy filename", desc = "Copy the name of the file" }, + { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, + + # Filter + { on = [ "f" ], run = "filter --smart", desc = "Filter the files" }, + + # Find + { on = [ "/" ], run = "find --smart", desc = "Find next file" }, + { on = [ "?" ], run = "find --previous --smart", desc = "Find previous file" }, + { on = [ "n" ], run = "find_arrow", desc = "Go to next found file" }, + { on = [ "N" ], run = "find_arrow --previous", desc = "Go to previous found file" }, + + # Sorting + { on = [ ",", "m" ], run = "sort modified --dir-first", desc = "Sort by modified time" }, + { on = [ ",", "M" ], run = "sort modified --reverse --dir-first", desc = "Sort by modified time (reverse)" }, + { on = [ ",", "c" ], run = "sort created --dir-first", desc = "Sort by created time" }, + { on = [ ",", "C" ], run = "sort created --reverse --dir-first", desc = "Sort by created time (reverse)" }, + { on = [ ",", "e" ], run = "sort extension --dir-first", desc = "Sort by extension" }, + { on = [ ",", "E" ], run = "sort extension --reverse --dir-first", desc = "Sort by extension (reverse)" }, + { on = [ ",", "a" ], run = "sort alphabetical --dir-first", desc = "Sort alphabetically" }, + { on = [ ",", "A" ], run = "sort alphabetical --reverse --dir-first", desc = "Sort alphabetically (reverse)" }, + { on = [ ",", "n" ], run = "sort natural --dir-first", desc = "Sort naturally" }, + { on = [ ",", "N" ], run = "sort natural --reverse --dir-first", desc = "Sort naturally (reverse)" }, + { on = [ ",", "s" ], run = "sort size --dir-first", desc = "Sort by size" }, + { on = [ ",", "S" ], run = "sort size --reverse --dir-first", desc = "Sort by size (reverse)" }, + + # Tabs + { on = [ "t" ], run = "tab_create --current", desc = "Create a new tab using the current path" }, + + { on = [ "1" ], run = "tab_switch 0", desc = "Switch to the first tab" }, + { on = [ "2" ], run = "tab_switch 1", desc = "Switch to the second tab" }, + { on = [ "3" ], run = "tab_switch 2", desc = "Switch to the third tab" }, + { on = [ "4" ], run = "tab_switch 3", desc = "Switch to the fourth tab" }, + { on = [ "5" ], run = "tab_switch 4", desc = "Switch to the fifth tab" }, + { on = [ "6" ], run = "tab_switch 5", desc = "Switch to the sixth tab" }, + { on = [ "7" ], run = "tab_switch 6", desc = "Switch to the seventh tab" }, + { on = [ "8" ], run = "tab_switch 7", desc = "Switch to the eighth tab" }, + { on = [ "9" ], run = "tab_switch 8", desc = "Switch to the ninth tab" }, + + { on = [ "[" ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, + { on = [ "]" ], run = "tab_switch 1 --relative", desc = "Switch to the next tab" }, + + { on = [ "{" ], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, + { on = [ "}" ], run = "tab_swap 1", desc = "Swap the current tab with the next tab" }, + + # Tasks + { on = [ "w" ], run = "tasks_show", desc = "Show the tasks manager" }, + + # Goto + { on = [ "g", "h" ], run = "cd ~", desc = "Go to the home directory" }, + { on = [ "g", "c" ], run = "cd ~/.config", desc = "Go to the config directory" }, + { on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to the downloads directory" }, + { on = [ "g", "t" ], run = "cd /tmp", desc = "Go to the temporary directory" }, + { on = [ "g", "" ], run = "cd --interactive", desc = "Go to a directory interactively" }, + + # Help + { on = [ "~" ], run = "help", desc = "Open help" }, +] + +[tasks] + +keymap = [ + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "" ], run = "close", desc = "Hide the task manager" }, + { on = [ "w" ], run = "close", desc = "Hide the task manager" }, + + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "inspect", desc = "Inspect the task" }, + { on = [ "x" ], run = "cancel", desc = "Cancel the task" }, + + { on = [ "~" ], run = "help", desc = "Open help" } +] + +[select] + +keymap = [ + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close", desc = "Cancel selection" }, + { on = [ "" ], run = "close --submit", desc = "Submit the selection" }, + + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "~" ], run = "help", desc = "Open help" } +] + +[input] + +keymap = [ + { on = [ "" ], run = "close", desc = "Cancel input" }, + { on = [ "" ], run = "close --submit", desc = "Submit the input" }, + { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + { on = [ "" ], run = "escape", desc = "Go back the normal mode, or cancel input" }, + + # Mode + { on = [ "i" ], run = "insert", desc = "Enter insert mode" }, + { on = [ "a" ], run = "insert --append", desc = "Enter append mode" }, + { on = [ "I" ], run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" }, + { on = [ "A" ], run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, + { on = [ "v" ], run = "visual", desc = "Enter visual mode" }, + { on = [ "V" ], run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" }, + + # Character-wise movement + { on = [ "h" ], run = "move -1", desc = "Move back a character" }, + { on = [ "l" ], run = "move 1", desc = "Move forward a character" }, + { on = [ "" ], run = "move -1", desc = "Move back a character" }, + { on = [ "" ], run = "move 1", desc = "Move forward a character" }, + { on = [ "" ], run = "move -1", desc = "Move back a character" }, + { on = [ "" ], run = "move 1", desc = "Move forward a character" }, + + # Word-wise movement + { on = [ "b" ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ "w" ], run = "forward", desc = "Move forward to the start of the next word" }, + { on = [ "e" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + { on = [ "" ], run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = [ "" ], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + + # Line-wise movement + { on = [ "0" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "$" ], run = "move 999", desc = "Move to the EOL" }, + { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, + { on = [ "" ], run = "move -999", desc = "Move to the BOL" }, + { on = [ "" ], run = "move 999", desc = "Move to the EOL" }, + + # Delete + { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, + { on = [ "" ], run = "backspace", desc = "Delete the character before the cursor" }, + { on = [ "" ], run = "backspace --under", desc = "Delete the character under the cursor" }, + + # Kill + { on = [ "" ], run = "kill bol", desc = "Kill backwards to the BOL" }, + { on = [ "" ], run = "kill eol", desc = "Kill forwards to the EOL" }, + { on = [ "" ], run = "kill backward", desc = "Kill backwards to the start of the current word" }, + { on = [ "" ], run = "kill forward", desc = "Kill forwards to the end of the current word" }, + + # Cut/Yank/Paste + { on = [ "d" ], run = "delete --cut", desc = "Cut the selected characters" }, + { on = [ "D" ], run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" }, + { on = [ "c" ], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, + { on = [ "C" ], run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" }, + { on = [ "x" ], run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" }, + { on = [ "y" ], run = "yank", desc = "Copy the selected characters" }, + { on = [ "p" ], run = "paste", desc = "Paste the copied characters after the cursor" }, + { on = [ "P" ], run = "paste --before", desc = "Paste the copied characters before the cursor" }, + + # Undo/Redo + { on = [ "u" ], run = "undo", desc = "Undo the last operation" }, + { on = [ "" ], run = "redo", desc = "Redo the last operation" }, + + # Help + { on = [ "~" ], run = "help", desc = "Open help" } +] + +[completion] + +keymap = [ + { on = [ "" ], run = "close", desc = "Cancel completion" }, + { on = [ "" ], run = "close --submit", desc = "Submit the completion" }, + { on = [ "" ], run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "~" ], run = "help", desc = "Open help" } +] + +[help] + +keymap = [ + { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ "" ], run = "escape", desc = "Clear the filter, or hide the help" }, + { on = [ "q" ], run = "close", desc = "Exit the process" }, + { on = [ "" ], run = "close", desc = "Hide the help" }, + + # Navigation + { on = [ "k" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "j" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "K" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "J" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + { on = [ "" ], run = "arrow -1", desc = "Move cursor up" }, + { on = [ "" ], run = "arrow 1", desc = "Move cursor down" }, + + { on = [ "" ], run = "arrow -5", desc = "Move cursor up 5 lines" }, + { on = [ "" ], run = "arrow 5", desc = "Move cursor down 5 lines" }, + + # Filtering + { on = [ "/" ], run = "filter", desc = "Apply a filter for the help items" }, +] diff --git a/usercfg/config/yazi/theme.toml b/usercfg/config/yazi/theme.toml new file mode 100644 index 000000000..6de4e1513 --- /dev/null +++ b/usercfg/config/yazi/theme.toml @@ -0,0 +1,146 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[manager] +cwd = { fg = "#83a598" } + +# Hovered +hovered = { fg = "#282828", bg = "#83a598" } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#b8bb26", italic = true } +find_position = { fg = "#fe8019", bg = "reset", italic = true } + +# Marker +marker_selected = { fg = "#b8bb26", bg = "#b8bb26" } +marker_copied = { fg = "#b8bb26", bg = "#b8bb26" } +marker_cut = { fg = "#fb4934", bg = "#fb4934" } + +# Tab +tab_active = { fg = "#282828", bg = "#504945" } +tab_inactive = { fg = "#a89984", bg = "#3c3836" } +tab_width = 1 + +# Border +border_symbol = "│" +border_style = { fg = "#665c54" } + +# Highlighting +# syntect_theme = "~/.config/yazi/Gruvbox-Dark.tmTheme" + +# : }}} + + +# : Status {{{ + +[status] +separator_open = "" +separator_close = "" +separator_style = { fg = "#3c3836", bg = "#3c3836" } + +# Mode +mode_normal = { fg = "#282828", bg = "#A89984", bold = true } +mode_select = { fg = "#282828", bg = "#b8bb26", bold = true } +mode_unset = { fg = "#282828", bg = "#d3869b", bold = true } + +# Progress +progress_label = { fg = "#ebdbb2", bold = true } +progress_normal = { fg = "#504945", bg = "#3c3836" } +progress_error = { fg = "#fb4934", bg = "#3c3836" } + +# Permissions +permissions_t = { fg = "#504945" } +permissions_r = { fg = "#b8bb26" } +permissions_w = { fg = "#fb4934" } +permissions_x = { fg = "#b8bb26" } +permissions_s = { fg = "#665c54" } + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#504945" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Select {{{ + +[select] +border = { fg = "#504945" } +active = { fg = "#fe8019" } +inactive = {} + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#504945" } +title = {} +hovered = { underline = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#3c3836" } +cand = { fg = "#83a598" } +rest = { fg = "#928374" } +desc = { fg = "#fe8019" } +separator = "  " +separator_style = { fg = "#504945" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#fe8019" } +exec = { fg = "#83a598" } +desc = { fg = "#928374" } +hovered = { bg = "#504945", bold = true } +footer = { fg = "#3c3836", bg = "#a89984" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#83a598" }, + + # Videos + { mime = "video/*", fg = "#b8bb26" }, + { mime = "audio/*", fg = "#b8bb26" }, + + # Archives + { mime = "application/zip", fg = "#fe8019" }, + { mime = "application/gzip", fg = "#fe8019" }, + { mime = "application/x-tar", fg = "#fe8019" }, + { mime = "application/x-bzip", fg = "#fe8019" }, + { mime = "application/x-bzip2", fg = "#fe8019" }, + { mime = "application/x-7z-compressed", fg = "#fe8019" }, + { mime = "application/x-rar", fg = "#fe8019" }, + + # Fallback + { name = "*", fg = "#a89984" }, + { name = "*/", fg = "#83a598" } +] + +# : }}} + diff --git a/usercfg/config/yazi/yazi.toml b/usercfg/config/yazi/yazi.toml new file mode 100644 index 000000000..641b7c50a --- /dev/null +++ b/usercfg/config/yazi/yazi.toml @@ -0,0 +1,188 @@ +# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. +# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. +"$schema" = "https://yazi-rs.github.io/schemas/yazi.json" + +[manager] +ratio = [ 1, 4, 3 ] +sort_by = "alphabetical" +sort_sensitive = false +sort_reverse = false +sort_dir_first = false +linemode = "none" +show_hidden = false +show_symlink = true +scrolloff = 5 + +[preview] +tab_size = 2 +max_width = 600 +max_height = 900 +cache_dir = "" +image_filter = "triangle" +image_quality = 75 +sixel_fraction = 15 +ueberzug_scale = 1 +ueberzug_offset = [ 0, 0, 0, 0 ] + +[opener] +edit = [ + { run = '${EDITOR} "$@"', desc = "$EDITOR", block = true, for = "unix" }, +] +open = [ + { run = 'xdg-open "$@"', desc = "Open", for = "linux" }, +] +reveal = [ + { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, +] +extract = [ + { run = 'unar "$1"', desc = "Extract here", for = "unix" }, +] +play = [ + { run = 'mpv "$@"', orphan = true, for = "unix" }, + { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, +] + +[open] +rules = [ + { name = "*/", use = [ "edit", "open", "reveal" ] }, + + { mime = "text/*", use = [ "edit", "reveal" ] }, + { mime = "image/*", use = [ "open", "reveal" ] }, + { mime = "video/*", use = [ "play", "reveal" ] }, + { mime = "audio/*", use = [ "play", "reveal" ] }, + { mime = "inode/x-empty", use = [ "edit", "reveal" ] }, + + { mime = "application/json", use = [ "edit", "reveal" ] }, + { mime = "*/javascript", use = [ "edit", "reveal" ] }, + + { mime = "application/zip", use = [ "extract", "reveal" ] }, + { mime = "application/gzip", use = [ "extract", "reveal" ] }, + { mime = "application/x-tar", use = [ "extract", "reveal" ] }, + { mime = "application/x-bzip", use = [ "extract", "reveal" ] }, + { mime = "application/x-bzip2", use = [ "extract", "reveal" ] }, + { mime = "application/x-7z-compressed", use = [ "extract", "reveal" ] }, + { mime = "application/x-rar", use = [ "extract", "reveal" ] }, + { mime = "application/xz", use = [ "extract", "reveal" ] }, + + { mime = "*", use = [ "open", "reveal" ] }, +] + +[tasks] +micro_workers = 10 +macro_workers = 25 +bizarre_retry = 5 +image_alloc = 536870912 # 512MB +image_bound = [ 0, 0 ] +suppress_preload = false + +[plugin] + +preloaders = [ + { name = "*", cond = "!mime", run = "mime", multi = true, prio = "high" }, + # Image + { mime = "image/vnd.djvu", run = "noop" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, +] +previewers = [ + { name = "*/", run = "folder", sync = true }, + # Code + { mime = "text/*", run = "code" }, + { mime = "*/xml", run = "code" }, + { mime = "*/javascript", run = "code" }, + { mime = "*/x-wine-extension-ini", run = "code" }, + # JSON + { mime = "application/json", run = "json" }, + # Image + { mime = "image/vnd.djvu", run = "noop" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Archive + { mime = "application/zip", run = "archive" }, + { mime = "application/gzip", run = "archive" }, + { mime = "application/x-tar", run = "archive" }, + { mime = "application/x-bzip", run = "archive" }, + { mime = "application/x-bzip2", run = "archive" }, + { mime = "application/x-7z-compressed", run = "archive" }, + { mime = "application/x-rar", run = "archive" }, + { mime = "application/xz", run = "archive" }, + # Fallback + { name = "*", run = "file" }, +] + +[input] +# cd +cd_title = "Change directory:" +cd_origin = "top-center" +cd_offset = [ 0, 2, 50, 3 ] + +# create +create_title = "Create:" +create_origin = "top-center" +create_offset = [ 0, 2, 50, 3 ] + +# rename +rename_title = "Rename:" +rename_origin = "hovered" +rename_offset = [ 0, 1, 50, 3 ] + +# trash +trash_title = "Move {n} selected file{s} to trash? (y/N)" +trash_origin = "top-center" +trash_offset = [ 0, 2, 50, 3 ] + +# delete +delete_title = "Delete {n} selected file{s} permanently? (y/N)" +delete_origin = "top-center" +delete_offset = [ 0, 2, 50, 3 ] + +# filter +filter_title = "Filter:" +filter_origin = "top-center" +filter_offset = [ 0, 2, 50, 3 ] + +# find +find_title = [ "Find next:", "Find previous:" ] +find_origin = "top-center" +find_offset = [ 0, 2, 50, 3 ] + +# search +search_title = "Search via {n}:" +search_origin = "top-center" +search_offset = [ 0, 2, 50, 3 ] + +# shell +shell_title = [ "Shell:", "Shell (block):" ] +shell_origin = "top-center" +shell_offset = [ 0, 2, 50, 3 ] + +# overwrite +overwrite_title = "Overwrite an existing file? (y/N)" +overwrite_origin = "top-center" +overwrite_offset = [ 0, 2, 50, 3 ] + +# quit +quit_title = "{n} task{s} running, sure to quit? (y/N)" +quit_origin = "top-center" +quit_offset = [ 0, 2, 50, 3 ] + +[select] +open_title = "Open with:" +open_origin = "hovered" +open_offset = [ 0, 1, 50, 7 ] + +[which] +sort_by = "none" +sort_sensitive = false +sort_reverse = false + +[log] +enabled = false + +[headsup] diff --git a/usercfg/config/zathura/zathurarc b/usercfg/config/zathura/zathurarc new file mode 100644 index 000000000..126e180bb --- /dev/null +++ b/usercfg/config/zathura/zathurarc @@ -0,0 +1,54 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom zathura config +## + +set font "mononoki Nerd Font 9" +set default-bg "#262626" #00 +set default-fg "#ebdbb2" #01 + +set statusbar-fg "#ebdbb2" #04 +set statusbar-bg "#262626" #01 + +set inputbar-bg "#262626" #00 currently not used +set inputbar-fg "#ebdbb2" #02 + +set notification-error-bg "#262626" #08 +set notification-error-fg "#cc241d" #00 + +set notification-warning-bg "#262626" #08 +set notification-warning-fg "#d79921" #00 + +set highlight-color "#262626" #0A +set highlight-active-color "#ebdbb2" #0D + +set completion-highlight-fg "#4e4e4e" #02 +set completion-highlight-bg "#87afaf" #0C + +set completion-bg "#4e4e4e" #02 +set completion-fg "#ebdbb2" #0C + +set notification-bg "#262626" #0B +set notification-fg "#458588" #00 + +set recolor-lightcolor "#262626" #00 +set recolor-darkcolor "#ebdbb2" #06 +set recolor "false" + +# setting recolor-keep true will keep any color your pdf has. +# if it is false, it'll just be black and white +set recolor-keephue "false" + +set selection-clipboard "clipboard" + +# keybindings +map [fullscreen] a adjust_window best-fit +map [fullscreen] s adjust_window width +map [fullscreen] f follow +map [fullscreen] toggle_index +map [fullscreen] j scroll down +map [fullscreen] k scroll up +map [fullscreen] h navigate previous +map [fullscreen] l navigate next