├── x
├── .xinitrc
├── .Xresources
└── .xprofile
├── ranger
└── .config
│ └── ranger
│ ├── plugins
│ ├── __init__.py
│ └── __pycache__
│ │ └── __init__.cpython-39.opt-1.pyc
│ ├── .gitignore
│ └── rc.conf
├── skhd
└── .config
│ └── skhd
│ └── skhdrc
├── scripts
└── .local
│ └── bin
│ ├── suckless-install
│ ├── sb-pacupdate
│ ├── sb-volume
│ ├── sb-kernel
│ ├── sb-memory
│ ├── mach-zsh-plugins-update
│ ├── sb-clock
│ ├── sb-upt
│ ├── dmenu_run_desktop
│ ├── linkgrabber
│ ├── mach-supports-256
│ ├── mach-ls-installed-progs
│ ├── st-urlhandler
│ ├── ueberzug
│ ├── xurls
│ └── getnf
├── gtk
└── .config
│ └── gtk-3.0
│ └── gtk.css
├── machfiles.png
├── .gitignore
├── git
└── .gitconfig
├── stylua
└── .config
│ └── stylua
│ └── stylua.toml
├── zsh
├── .config
│ └── zsh
│ │ ├── functions.zsh
│ │ ├── exports.zsh
│ │ └── aliases.zsh
└── .zshrc
├── .stow-local-ignore
├── ghostty
└── .config
│ └── ghostty
│ ├── themes
│ └── void
│ └── config
├── rofi
└── .config
│ └── rofi
│ ├── config.rasi
│ ├── onedarker_dmenu.rasi
│ ├── onedarker.rasi
│ └── center.rasi
├── README.md
├── fontconfig
└── .config
│ └── fontconfig
│ └── fonts.conf
├── brew
└── .Brewfile
├── programs
├── packages.list
└── .pacman.list
├── skippy
└── .config
│ └── skippy
│ └── skippy-xd.rc
├── alacritty
└── .config
│ └── alacritty
│ └── alacritty.yml
├── waybar
└── .config
│ └── waybar
│ ├── scripts
│ ├── spotify.sh
│ └── mediaplayer.py
│ ├── config
│ └── style.css
├── nvim
└── .config
│ └── nvim
│ └── lv-config.lua
├── kitty
└── .config
│ └── kitty
│ └── kitty.conf
├── wezterm.lua
├── cava
└── .config
│ └── cava
│ └── config
├── codium
└── .config
│ └── VSCodium
│ └── User
│ ├── keybindings.json
│ └── settings.json
├── hyprland
└── .config
│ └── hypr
│ └── hyprland.conf
├── picom
└── .config
│ └── picom
│ └── picom.conf
├── sway
└── .config
│ └── sway
│ └── config
├── amfora
└── .config
│ └── amfora
│ └── config.toml
└── dunst
└── .config
└── dunst
└── dunstrc
/x/.xinitrc:
--------------------------------------------------------------------------------
1 | dwm
2 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/plugins/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/.gitignore:
--------------------------------------------------------------------------------
1 | **/*.pyc
2 |
--------------------------------------------------------------------------------
/skhd/.config/skhd/skhdrc:
--------------------------------------------------------------------------------
1 | cmd - return : open -n -a "Ghostty"
2 |
--------------------------------------------------------------------------------
/scripts/.local/bin/suckless-install:
--------------------------------------------------------------------------------
1 | rm -rf config.h && sudo make clean install
2 |
--------------------------------------------------------------------------------
/gtk/.config/gtk-3.0/gtk.css:
--------------------------------------------------------------------------------
1 | headerbar.titlebar {
2 | background: #282c34;
3 | }
4 |
5 |
--------------------------------------------------------------------------------
/machfiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChristianChiarulli/machfiles/HEAD/machfiles.png
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-pacupdate:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cupd=$(checkupdates | wc -l)
4 | echo "$cupd "
5 |
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-volume:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | vol="$(pamixer --get-volume)"
4 | echo "${vol}% "
5 |
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-kernel:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | kern="$(uname -r | cut -d '-' -f1)"
4 | echo -e "$kern "
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | scripts/.local/bin/rust-analyzer
3 | scripts/.local/bin
4 | getnf/
5 | lazygit/.config/lazygit
6 |
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-memory:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | mem="$(free -h | awk '/^Mem:/ {print $3 "/" $2}')"
4 | echo -e "$mem "
5 |
--------------------------------------------------------------------------------
/git/.gitconfig:
--------------------------------------------------------------------------------
1 | [user]
2 | email = chris.machine@pm.me
3 | name = Christian Chiarulli
4 |
5 | [core]
6 | editor = nvim
7 | [color]
8 | ui = true
9 |
--------------------------------------------------------------------------------
/scripts/.local/bin/mach-zsh-plugins-update:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | find "$ZDOTDIR/plugins" -type d -exec test -e '{}/.git' ';' -print0 | xargs -I {} -0 git -C {} pull"
4 |
5 |
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-clock:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | #dte="$(date +"%a %B %d %l:%M%p"| sed 's/ / /g')"
4 | dte="$(date +"%a %B %d"| sed 's/ / /g')"
5 | echo -e "$dte "
6 |
--------------------------------------------------------------------------------
/stylua/.config/stylua/stylua.toml:
--------------------------------------------------------------------------------
1 | column_width = 120
2 | line_endings = "Unix"
3 | indent_type = "Spaces"
4 | indent_width = 2
5 | quote_style = "AutoPreferDouble"
6 | no_call_parentheses = true
7 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/plugins/__pycache__/__init__.cpython-39.opt-1.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChristianChiarulli/machfiles/HEAD/ranger/.config/ranger/plugins/__pycache__/__init__.cpython-39.opt-1.pyc
--------------------------------------------------------------------------------
/scripts/.local/bin/sb-upt:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | upt="$(uptime --pretty | sed -e 's/up //g' -e 's/ days/d/g' -e 's/ day/d/g' -e 's/ hours/h/g' -e 's/ hour/h/g' -e 's/ minutes/m/g' -e 's/, / /g')"
4 | echo -e "$upt "
5 |
--------------------------------------------------------------------------------
/scripts/.local/bin/dmenu_run_desktop:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | run=$(
3 | (
4 | ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -;
5 | ls ~/.local/share/applications | awk -F '.desktop' ' { print $1}' -;
6 | ) | dmenu
7 | )
8 | gtk-launch $run
9 |
--------------------------------------------------------------------------------
/scripts/.local/bin/linkgrabber:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | regex='(((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):]'
3 | url=$(grep -Po "$regex" | dmenu -p "Go:" -w "$WINDOWID") || exit
4 | echo $BROWSER
5 | echo $url
6 | $BROWSER "$url"
7 |
--------------------------------------------------------------------------------
/scripts/.local/bin/mach-supports-256:
--------------------------------------------------------------------------------
1 | for COLOR in {0..255}
2 | do
3 | for STYLE in "38;5"
4 | do
5 | TAG="\033[${STYLE};${COLOR}m"
6 | STR="${STYLE};${COLOR}"
7 | echo -ne "${TAG}${STR}${NONE} "
8 | done
9 | echo
10 | done
11 |
--------------------------------------------------------------------------------
/zsh/.config/zsh/functions.zsh:
--------------------------------------------------------------------------------
1 | function brew() {
2 | if [[ $1 == "add" ]]; then
3 | # Remove the first argument ("add")
4 | shift
5 | # Install the package
6 | command brew install "$@"
7 | # Update the global Brewfile
8 | command brew bundle dump --global --force
9 | else
10 | # Call the original brew command with all original arguments
11 | command brew "$@"
12 | fi
13 | }
14 |
--------------------------------------------------------------------------------
/.stow-local-ignore:
--------------------------------------------------------------------------------
1 | # ~./dotfiles/.stow.local.ignore: Files to be ignored by gnu 'stow'
2 | #
3 | # Comments and blank lines are allowed.
4 | #
5 | # See 'info stow' section "4 Ignore Lists" for more information
6 |
7 | RCS
8 | .+,v
9 |
10 | CVS
11 | \.\#.+ # CVS conflict files / emacs lock files
12 | \.cvsignore
13 |
14 | \.svn
15 | _darcs
16 | \.hg
17 |
18 | \.git
19 | \.gitignore
20 |
21 | .+~ # emacs backup files
22 | \#.*\# # emacs autosave files
23 |
24 | ^/README.*
25 | ^/LICENSE.*
26 | ^/COPYING
27 |
--------------------------------------------------------------------------------
/scripts/.local/bin/mach-ls-installed-progs:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | all_packages=( $(pacman -Qqe) )
3 | base_devel_packages=( $(pacman -Sg base-devel | cut -f 2 -d " ") )
4 | # Removes dupes from other array
5 | for i in "${base_devel_packages[@]}"; do
6 | all_packages=(${all_packages[@]//*$i*})
7 | done
8 | #delete=(linux linux -headers linux -firmware base)
9 | # ignore stuff I installed when installing arch
10 | #for del in "${delete[@]}"; do
11 | all_packages=("${all_packages[@]/"$del"}")
12 | #done
13 | printf "%s\n" "${all_packages[@]}" > ~/.pacman.list
14 |
15 | cat ~/.pacman.list
16 |
--------------------------------------------------------------------------------
/ghostty/.config/ghostty/themes/void:
--------------------------------------------------------------------------------
1 | palette = 0=#1E1E1E
2 | palette = 1=#b2555b
3 | palette = 2=#A6E3A1
4 | palette = 3=#ff9e64
5 | palette = 4=#6a92d7
6 | palette = 5=#bb9af7
7 | palette = 6=#7ccdfd
8 | palette = 7=#c0caf5
9 | palette = 8=#545c7e
10 | palette = 9=#b2555b
11 | palette = 10=#A6E3A1
12 | palette = 11=#d9ba73
13 | palette = 12=#6a92d7
14 | palette = 13=#bb9af7
15 | palette = 14=#7ccdfd
16 | palette = 15=#c0caf5
17 | background = #14161b
18 | foreground = #c6d0f5
19 | cursor-color = #f2d5cf
20 | cursor-text = #c6d0f5
21 | selection-background = #FFFACD
22 | selection-foreground = #14161b
23 |
--------------------------------------------------------------------------------
/rofi/.config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration {
2 | show-icons: true;
3 | terminal: "kitty";
4 | click-to-exit: true;
5 | steal-focus: true;
6 | display-drun: "";
7 | kb-remove-to-eol: "";
8 | kb-accept-entry: "Control+m,Return,KP_Enter";
9 | kb-row-up: "Up,Control+p,Control+k";
10 | kb-row-down: "Down,Control+n,Control+j";
11 | me-select-entry: "MouseDPrimary";
12 | me-accept-entry: "MousePrimary";
13 | timeout {
14 | action: "kb-cancel";
15 | // delay: 10;
16 | }
17 | filebrowser {
18 | directories-first: true;
19 | sorting-method: "name";
20 | }
21 | }
22 | @theme "center"
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Machfiles
2 |
3 | 
4 |
5 | ## Installing
6 |
7 | You will need `git` and GNU `stow`
8 |
9 | Clone into your `$HOME` directory or `~`
10 |
11 | ```bash
12 | git clone https://github.com/ChristianChiarulli/machfiles.git ~/.machfiles
13 | ```
14 |
15 | Run `stow` to symlink everything or just select what you want
16 |
17 | ```bash
18 | stow */ # Everything (the '/' ignores the README)
19 | ```
20 |
21 | ```bash
22 | stow zsh # Just my zsh config
23 | ```
24 |
25 | MacOS
26 |
27 | All of my packages for MacOS can be found in `brew/.Brewfile`
28 |
29 | - Install
30 |
31 | ```
32 | stow ~/.machfiles/brew
33 |
34 | brew bundle --global
35 | ```
36 |
37 | ## Linux
38 |
39 | An updated list of all the programs I use can be found in the `programs` directory
40 |
--------------------------------------------------------------------------------
/fontconfig/.config/fontconfig/fonts.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | serif
6 |
7 | Noto Color Emoji
8 |
9 |
10 |
11 | sans-serif
12 |
13 | Noto Color Emoji
14 |
15 |
16 |
17 | monospace
18 |
19 | Comic Code Ligatures
20 |
21 |
22 |
23 |
24 | MonoLisa-Regular
25 |
26 |
27 | 100
28 |
29 |
30 |
31 |
32 | MonoLisa-Bold
33 |
34 |
35 | 100
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/rofi/.config/rofi/onedarker_dmenu.rasi:
--------------------------------------------------------------------------------
1 | /**
2 | * ROFI Color theme
3 | * User: Qball
4 | * Copyright: Dave Davenport
5 | */
6 |
7 | * {
8 | background-color: rgb(30,34,42, 0.5);
9 | border-color: White;
10 | text-color: #AbAbAf;
11 | font: "Comic Code Ligatures 12";
12 | }
13 | window {
14 | anchor: north;
15 | location: north;
16 | width: 100%;
17 | padding: 4px;
18 | children: [ horibox ];
19 | }
20 | horibox {
21 | orientation: horizontal;
22 | children: [ prompt, entry, listview ];
23 | }
24 | listview {
25 | layout: horizontal;
26 | spacing: 5px;
27 | lines: 100;
28 | }
29 | entry {
30 | expand: false;
31 | width: 10em;
32 | }
33 | element {
34 | padding: 0px 2px;
35 | }
36 | element selected {
37 | background-color: #083C5A;
38 | }
39 |
40 | element-text, element-icon {
41 | background-color: inherit;
42 | text-color: inherit;
43 | }
44 |
--------------------------------------------------------------------------------
/x/.Xresources:
--------------------------------------------------------------------------------
1 | xterm*selectToClipboard: true
2 | xterm*disallowedWindowOps: 20,21,SetXProp
3 | *.font: Monospace:pixelsize=25:antialias=true:autohint=true;
4 | *.fontalt0:Braille:pixelsize=24:antialias=true:autohint=true;
5 | /* *.fontalt1:JoyPixels:pixelsize=24:antialias=true:autohint=true; */
6 | *.alpha: 0.90
7 |
8 | ! colors
9 |
10 | ! special
11 | *.foreground: #B8BEC9
12 | *.background: #212121
13 | *.cursorColor: #ECEFF4
14 | *.revCursorColor: #555555
15 |
16 | ! black
17 | *.color0: #4C566A
18 | *.color8: #6C768A
19 |
20 | ! red
21 | *.color1: #BF616A
22 | *.color9: #af7370
23 |
24 | ! green
25 | *.color2: #A3BE8C
26 | *.color10: #B5CEA8
27 |
28 | ! yellow
29 | *.color3: #D7BA7D
30 | *.color11: #E7cb93
31 |
32 | ! blue
33 | *.color4: #5e81ac
34 | *.color12: #69A8C6
35 |
36 | ! magenta
37 | *.color5: #B48EAD
38 | *.color13: #939ede
39 |
40 | ! cyan
41 | *.color6: #88c0d0
42 | *.color14: #69BAC8
43 |
44 | ! white
45 | *.color7: #ABB2BF
46 | *.color15: #D8DEE9
47 |
48 |
--------------------------------------------------------------------------------
/scripts/.local/bin/st-urlhandler:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | urlregex="(((http|https|gopher|gemini|ftp|ftps|git)://|www\\.)[a-zA-Z0-9.]*[:]?[a-zA-Z0-9./@$&%?$\#=_~-]*)|((magnet:\\?xt=urn:btih:)[a-zA-Z0-9]*)"
4 |
5 | urls="$(sed 's/.*│//g' | tr -d '\n' | # First remove linebreaks and mutt sidebars:
6 | echo "hi"
7 | grep -aEo "$urlregex" | # grep only urls as defined above.
8 | uniq | # Ignore neighboring duplicates.
9 | sed "s/\(\.\|,\|;\|\!\\|\?\)$//;
10 | s/^www./http:\/\/www\./")" # xdg-open will not detect url without http
11 |
12 | [ -z "$urls" ] && exit 1
13 |
14 | while getopts "hoc" o; do case "${o}" in
15 | h) printf "Optional arguments for custom use:\\n -c: copy\\n -o: xdg-open\\n -h: Show this message\\n" && exit 1 ;;
16 | # o) chosen="$(echo "$urls" | dmenu -i -p 'Follow which url?' -l 10)"
17 | o) chosen="$(echo "$urls" | dmenu -p 'Follow which url?' -l 10)"
18 | setsid xdg-open "$chosen" >/dev/null 2>&1 & ;;
19 | c) echo "$urls" | dmenu -p 'Copy which url?' -l 10 | tr -d '\n' | xclip -selection clipboard ;;
20 | *) printf "Invalid option: -%s\\n" "$OPTARG" && exit 1 ;;
21 | esac done
22 |
--------------------------------------------------------------------------------
/scripts/.local/bin/ueberzug:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | # EASY-INSTALL-ENTRY-SCRIPT: 'ueberzug==18.1.9','console_scripts','ueberzug'
3 | import re
4 | import sys
5 |
6 | # for compatibility with easy_install; see #2198
7 | __requires__ = 'ueberzug==18.1.9'
8 |
9 | try:
10 | from importlib.metadata import distribution
11 | except ImportError:
12 | try:
13 | from importlib_metadata import distribution
14 | except ImportError:
15 | from pkg_resources import load_entry_point
16 |
17 |
18 | def importlib_load_entry_point(spec, group, name):
19 | dist_name, _, _ = spec.partition('==')
20 | matches = (
21 | entry_point
22 | for entry_point in distribution(dist_name).entry_points
23 | if entry_point.group == group and entry_point.name == name
24 | )
25 | return next(matches).load()
26 |
27 |
28 | globals().setdefault('load_entry_point', importlib_load_entry_point)
29 |
30 |
31 | if __name__ == '__main__':
32 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
33 | sys.exit(load_entry_point('ueberzug==18.1.9', 'console_scripts', 'ueberzug')())
34 |
--------------------------------------------------------------------------------
/ghostty/.config/ghostty/config:
--------------------------------------------------------------------------------
1 | # Docs: https://ghostty.org/docs/config.
2 |
3 | # Reload by pressing:
4 | # ctrl+shift+, (Linux)
5 | # cmd+shift+, (macOS)
6 |
7 | # font-family = MonoLisa
8 | font-family = Comic Code Ligatures
9 | font-family = AppleColorEmoji
10 | font-size = 18
11 | window-padding-x = 8
12 | window-padding-y = 8
13 | window-decoration = auto
14 | window-width = 70
15 | window-height = 16
16 | mouse-hide-while-typing = true
17 | theme = void
18 | adjust-cell-height = 35%
19 | # confirm-close-surface = always
20 | # adjust-cell-width = 5%
21 | bold-is-bright = true
22 |
23 | adjust-cursor-height = 35%
24 | font-thicken = false
25 | cursor-style = block
26 | cursor-style-blink = false
27 | cursor-invert-fg-bg = true
28 | shell-integration-features = no-cursor
29 |
30 | ## macOS
31 | macos-option-as-alt = true
32 | macos-titlebar-style = tabs
33 | macos-non-native-fullscreen = visible-menu
34 | keybind = cmd+w=quit
35 |
36 | ## Clipboard
37 | clipboard-write = allow
38 | clipboard-read = ask
39 | clipboard-paste-protection = false
40 |
41 | ## Shell integration
42 | shell-integration = zsh
43 | shell-integration-features = no-cursor
44 |
45 |
--------------------------------------------------------------------------------
/zsh/.config/zsh/exports.zsh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # HISTFILE="$XDG_DATA_HOME"/zsh/history
3 | HISTSIZE=1000000
4 | SAVEHIST=1000000
5 | export EDITOR="nvim"
6 | export TERMINAL="kitty"
7 | # export BROWSER="firefox"
8 | export PATH="$HOME/.local/bin":$PATH
9 | export PATH="$HOME/.docker/bin":$PATH
10 | # export PATH="$HOME/.local/nvim-macos-arm64/bin":$PATH
11 | export MANPAGER='nvim +Man!'
12 | export MANWIDTH=999
13 | export PATH=$HOME/.cargo/bin:$PATH
14 | export PATH=$HOME/.local/share/go/bin:$PATH
15 | export GOPATH=$HOME/.local/share/go
16 | export PATH=$HOME/.fnm:$PATH
17 | export PATH="$HOME/.local/share/neovim/bin":$PATH
18 | export PATH="$HOME/.local/share/bob/nvim-bin":$PATH
19 | export XDG_CURRENT_DESKTOP="Wayland"
20 | export HOMEBREW_NO_ANALYTICS=1
21 | export HOMEBREW_NO_ENV_HINTS=1
22 | #export PATH="$PATH:./node_modules/.bin"
23 | eval "$(fnm env)"
24 | eval "$(zoxide init zsh)"
25 | # eval "`pip completion --zsh`"
26 |
27 | case "$(uname -s)" in
28 |
29 | Darwin)
30 | # echo 'Mac OS X'
31 | export DYLD_LIBRARY_PATH=/opt/homebrew/lib/
32 | export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib
33 | ;;
34 |
35 | Linux)
36 | ;;
37 |
38 | CYGWIN* | MINGW32* | MSYS* | MINGW*)
39 | # echo 'MS Windows'
40 | ;;
41 | *)
42 | # echo 'Other OS'
43 | ;;
44 | esac
45 |
--------------------------------------------------------------------------------
/zsh/.config/zsh/aliases.zsh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | alias j='z'
3 | alias f='zi'
4 | alias g='lazygit'
5 | alias zsh-update-plugins="find "$ZDOTDIR/plugins" -type d -exec test -e '{}/.git' ';' -print0 | xargs -I {} -0 git -C {} pull -q"
6 | alias nvimrc='nvim ~/.config/nvim/'
7 | alias nman='bob'
8 | alias sshk="kitty +kitten ssh"
9 | # alias lvim="env TERM=wezterm lvim"
10 | # alias nvim="env TERM=wezterm nvim"
11 |
12 | # Remarkable
13 | alias remarkable_ssh='ssh root@10.11.99.1'
14 | alias restream='restream -p'
15 |
16 | # Colorize grep output (good for log files)
17 | alias grep='grep --color=auto'
18 | alias egrep='egrep --color=auto'
19 | alias fgrep='fgrep --color=auto'
20 |
21 | # confirm before overwriting something
22 | alias cp="cp -i"
23 | alias mv='mv -i'
24 | alias rm='rm -i'
25 |
26 | # easier to read disk
27 | alias df='df -h' # human-readable sizes
28 | alias free='free -m' # show sizes in MB
29 |
30 | # get top process eating memory
31 | alias psmem='ps auxf | sort -nr -k 4 | head -5'
32 |
33 | # get top process eating cpu ##
34 | alias pscpu='ps auxf | sort -nr -k 3 | head -5'
35 |
36 | # systemd
37 | alias mach_list_systemctl="systemctl list-unit-files --state=enabled"
38 |
39 | alias mach_java_mode="export SDKMAN_DIR="$HOME/.sdkman" && [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh""
40 |
41 |
42 | case "$(uname -s)" in
43 |
44 | Darwin)
45 | # echo 'Mac OS X'
46 | alias ls='ls -G'
47 | ;;
48 |
49 | Linux)
50 | alias ls='ls --color=auto'
51 | ;;
52 |
53 | CYGWIN* | MINGW32* | MSYS* | MINGW*)
54 | # echo 'MS Windows'
55 | ;;
56 | *)
57 | # echo 'Other OS'
58 | ;;
59 | esac
60 |
--------------------------------------------------------------------------------
/x/.xprofile:
--------------------------------------------------------------------------------
1 | # Status Bar
2 | dwmblocks &
3 |
4 | # Random Photo Every Login
5 | # feh --bg-fill --randomize ~/Pictures/wallpapers/* &
6 |
7 | feh --bg-fill ~/Pictures/wallpapers/mac/Mojave\ Night.jpg --bg-fill ~/Pictures/wallpapers/macos-cataline-night-6k.jpg/
8 |
9 | # Monitor Config
10 | # xrandr --auto --output DVI-D-0 --mode 2560x1440 --left-of HDMI-0
11 |
12 | xrandr --output DVI-D-0 --mode 2560x1440 --rate 59.95
13 | xrandr --auto --output HDMI-0 --mode 2560x1440 --right-of DVI-D-0
14 |
15 | # Network Manager Applet
16 | nm-applet --indicator &
17 |
18 | # Don't Randomly Turn off
19 | xset s off
20 | xset -dpms
21 | xset s noblank
22 |
23 | # Speedy keys
24 | xset r rate 210 40
25 |
26 | # Environment variables set everywhere
27 | export EDITOR="nvim"
28 | export TERMINAL="kitty"
29 | export BROWSER="brave"
30 |
31 | # For QT Themes
32 | # export QT_QPA_PLATFORMTHEME=qt5ct
33 |
34 | # XDG Paths
35 | export XDG_CONFIG_HOME=$HOME/.config
36 | export XDG_CACHE_HOME=$HOME/.cache
37 | export XDG_DATA_HOME=$HOME/.local/share
38 |
39 | # Compositor
40 | picom -b
41 |
42 | # Hide mouse when typing
43 | # xbanish &
44 |
45 | # Screenshots
46 | flameshot &
47 |
48 | # Bluetooth systray icon
49 | # blueman-applet &
50 |
51 | # helps with puls audio
52 | # pasystray &
53 |
54 | # Easy file sharing
55 | # pcloudcc -u chris.machine@pm.me -m ~/Cloud -d
56 |
57 | # Screenkey applet (this will break everything)
58 | # screenkey --start-disabled
59 |
60 | # remap caps to escape
61 | setxkbmap -option caps:escape
62 | # swap escape and caps
63 | # setxkbmap -option caps:swapescape
64 |
65 | # load Xresources
66 | # xrdb ~/.Xresources
67 |
68 | # zsh config dir
69 | # export ZDOTDIR=$HOME/.config/zsh
70 |
--------------------------------------------------------------------------------
/brew/.Brewfile:
--------------------------------------------------------------------------------
1 | tap "filosottile/musl-cross"
2 | tap "homebrew/bundle"
3 | tap "koekeishiya/formulae"
4 | tap "tako8ki/tap"
5 | brew "libpng"
6 | brew "freetype"
7 | brew "fontconfig"
8 | brew "cairo"
9 | brew "create-dmg"
10 | brew "eza"
11 | brew "fd"
12 | brew "flyctl"
13 | brew "fnm"
14 | brew "fzf"
15 | brew "gh"
16 | brew "git"
17 | brew "gitui"
18 | brew "gnupg"
19 | brew "go"
20 | brew "gobject-introspection"
21 | brew "graphene"
22 | brew "gum"
23 | brew "helix"
24 | brew "htop"
25 | brew "imagemagick"
26 | brew "jpeg"
27 | brew "jq"
28 | brew "just"
29 | brew "lazygit"
30 | brew "libffi"
31 | brew "luajit"
32 | brew "luarocks"
33 | brew "makensis"
34 | brew "nginx"
35 | brew "ollama"
36 | brew "pango"
37 | brew "pdm"
38 | brew "pipx"
39 | brew "pngquant"
40 | brew "pyenv"
41 | brew "python@3.11"
42 | brew "ripgrep"
43 | brew "sqlc"
44 | brew "stow"
45 | brew "tree"
46 | brew "typescript"
47 | brew "wget"
48 | brew "zlib"
49 | brew "zoxide"
50 | brew "filosottile/musl-cross/musl-cross"
51 | brew "koekeishiya/formulae/skhd"
52 | cask "alt-tab"
53 | cask "chromium"
54 | cask "db-browser-for-sqlite"
55 | cask "discord"
56 | cask "element"
57 | cask "firefox"
58 | cask "firefox@nightly"
59 | cask "gimp"
60 | cask "inkscape"
61 | cask "ivpn"
62 | cask "keycastr"
63 | cask "kitty"
64 | cask "krita"
65 | cask "logi-options-plus"
66 | cask "mullvad-browser"
67 | cask "obs"
68 | cask "obsidian"
69 | cask "raycast"
70 | cask "rectangle"
71 | cask "scroll-reverser"
72 | cask "signal"
73 | cask "slack"
74 | cask "spotify"
75 | cask "tableplus"
76 | cask "telegram"
77 | cask "utm"
78 | cask "visual-studio-code"
79 | vscode "1yib.rust-bundle"
80 | vscode "dustypomerleau.rust-syntax"
81 | vscode "rust-lang.rust-analyzer"
82 | vscode "serayuzgur.crates"
83 | vscode "tamasfe.even-better-toml"
84 | vscode "vscodevim.vim"
85 |
--------------------------------------------------------------------------------
/zsh/.zshrc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | [ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh"
3 |
4 |
5 | # history
6 | HISTFILE=~/.zsh_history
7 |
8 | # source
9 | plug "$HOME/.config/zsh/aliases.zsh"
10 | plug "$HOME/.config/zsh/exports.zsh"
11 | # plug "$HOME/.config/zsh/functions.zsh"
12 |
13 | # plugins
14 | plug "esc/conda-zsh-completion"
15 | plug "zsh-users/zsh-autosuggestions"
16 | plug "hlissner/zsh-autopair"
17 | plug "zap-zsh/supercharge"
18 | plug "zap-zsh/vim"
19 | plug "zap-zsh/zap-prompt"
20 | # plug "zap-zsh/atmachine"
21 | plug "zap-zsh/fzf"
22 | plug "zap-zsh/exa"
23 | plug "zsh-users/zsh-syntax-highlighting"
24 | plug "zsh-users/zsh-history-substring-search"
25 |
26 | # keybinds
27 | bindkey '^ ' autosuggest-accept
28 |
29 | export PATH="$HOME/.local/bin":$PATH
30 |
31 | if command -v bat &> /dev/null; then
32 | alias cat="bat -pp --theme \"Visual Studio Dark+\""
33 | alias catt="bat --theme \"Visual Studio Dark+\""
34 | fi
35 |
36 | bindkey '^[[A' history-substring-search-up
37 | bindkey '^[[B' history-substring-search-down
38 |
39 | bindkey -M vicmd 'k' history-substring-search-up
40 | bindkey -M vicmd 'j' history-substring-search-down
41 |
42 | #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
43 | export SDKMAN_DIR="$HOME/.sdkman"
44 | [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
45 |
46 | # bun completions
47 | [ -s "/Users/chris/.bun/_bun" ] && source "/Users/chris/.bun/_bun"
48 |
49 | # bun
50 | export BUN_INSTALL="$HOME/.bun"
51 | export PATH="$BUN_INSTALL/bin:$PATH"
52 |
53 | # pnpm
54 | export PNPM_HOME="/home/christian/.local/share/pnpm"
55 | case ":$PATH:" in
56 | *":$PNPM_HOME:"*) ;;
57 | *) export PATH="$PNPM_HOME:$PATH" ;;
58 | esac
59 | # pnpm end
60 |
61 | # bun
62 | export BUN_INSTALL="$HOME/.bun"
63 | export PATH="$BUN_INSTALL/bin:$PATH"
64 |
--------------------------------------------------------------------------------
/programs/packages.list:
--------------------------------------------------------------------------------
1 | amd-ucode
2 | pacman-contrib
3 | arc-gtk-theme
4 | blueman
5 | bluez
6 | bluez-utils
7 | brave-bin
8 | cava-git
9 | chromium
10 | cmatrix
11 | cmus
12 | colorpicker
13 | cowsay
14 | cups
15 | dialog
16 | discord
17 | docker
18 | dosfstools
19 | dunst
20 | efibootmgr
21 | element-desktop-nightly-bin
22 | fd
23 | feh
24 | figlet
25 | flameshot
26 | fnm-bin
27 | fzf
28 | gimp
29 | git
30 | github-cli
31 | glances
32 | gotop
33 | gping
34 | grub
35 | htop
36 | kdenlive
37 | kvantum-theme-arc
38 | lazygit
39 | librewolf-bin
40 | libxft-bgra
41 | linux
42 | linux-firmware
43 | linux-headers
44 | lxappearance
45 | mediainfo
46 | mpv
47 | mtools
48 | nautilus
49 | ncdu
50 | ncmpcpp
51 | neofetch
52 | neovide-bin
53 | network-manager-applet
54 | networkmanager
55 | newsboat
56 | nmon
57 | noto-fonts-emoji
58 | npm
59 | ntfs-3g
60 | nvidia
61 | nvidia-settings
62 | nvtop
63 | obs-studio
64 | obs-multi-rtmp
65 | openssh
66 | os-prober
67 | pamixer
68 | pandoc-bin
69 | pasystray
70 | pavucontrol
71 | pcloudcc-git
72 | picom-ibhagwan-git
73 | prettier
74 | python-pip
75 | ranger
76 | reflector
77 | rofi
78 | ruby
79 | scrcpy
80 | screenkey
81 | session-desktop-bin
82 | shfmt
83 | signal-desktop-beta-bin
84 | skippy-xd-git
85 | slock
86 | snownews
87 | solidity
88 | spotify
89 | stow
90 | syncthing
91 | telegram-desktop-bin
92 | tree
93 | ttf-dejavu
94 | ttf-joypixels
95 | ttf-ms-fonts
96 | ttf-ubraille
97 | ttf-unifont
98 | ueberzug
99 | unzip
100 | ventoy-bin
101 | vi
102 | vim
103 | virtualbox
104 | virtualbox-bin-guest-iso
105 | vscodium-bin
106 | vscodium-bin-marketplace
107 | wget
108 | wireless_tools
109 | wpa_supplicant
110 | xbanish
111 | xcape
112 | xclip
113 | xorg-bdftopcf
114 | xorg-docs
115 | xorg-font-util
116 | xorg-fonts-100dpi
117 | xorg-fonts-75dpi
118 | xorg-iceauth
119 | xorg-mkfontscale
120 | xorg-server-devel
121 | xorg-server-xephyr
122 | xorg-server-xnest
123 | xorg-server-xvfb
124 | xorg-sessreg
125 | xorg-smproxy
126 | xorg-x11perf
127 | xorg-xbacklight
128 | xorg-xcmsdb
129 | xorg-xcursorgen
130 | xorg-xdpyinfo
131 | xorg-xdriinfo
132 | xorg-xev
133 | xorg-xgamma
134 | xorg-xhost
135 | xorg-xinit
136 | xorg-xinput
137 | xorg-xkbevd
138 | xorg-xkbutils
139 | xorg-xkill
140 | xorg-xlsatoms
141 | xorg-xlsclients
142 | xorg-xpr
143 | xorg-xprop
144 | xorg-xrandr
145 | xorg-xrefresh
146 | xorg-xset
147 | xorg-xsetroot
148 | xorg-xvinfo
149 | xorg-xwayland
150 | xorg-xwd
151 | xorg-xwininfo
152 | xorg-xwud
153 | xterm
154 | yapf
155 | yarn
156 | youtube-dl
157 | zathura
158 | zip
159 | zsh
160 | zsh-completions-git
161 |
--------------------------------------------------------------------------------
/scripts/.local/bin/xurls:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 |
3 | use warnings;
4 |
5 | $hostchars = '[a-z0-9-._+]';
6 | $pathchars = '[a-z0-9-._+#=?&:;%/!,~]';
7 |
8 | sub scan($$$)
9 | {
10 | my ($file, $lineno, $line) = @_;
11 |
12 | chomp $line;
13 |
14 | while($line =~ s!
15 | ([a-z]+://)?
16 |
17 | # http://
18 |
19 | $hostchars+\.[a-z]+
20 |
21 | # www.tim.google.com - the [a-z].com is the main anchor for the whole regex - incase http:// is omitted
22 | # note no trailing slash
23 |
24 | ($pathchars+/\?)*
25 |
26 | # check for the index.php? part
27 |
28 | ($pathchars+|\($pathchars+\))*
29 |
30 | # check for pathchars, or a set of nested parens
31 | !!xoi){ # allow space + comments, compile once, strcasecmp
32 |
33 | my($p,$m,$e) = ($`,$&,$');
34 |
35 | $e = '.' . $e if $m =~ s/\.$//;
36 |
37 | if($opt{fname} && $file){
38 | print "$col{red}$file$col{none}:";
39 | }
40 |
41 | if($opt{lineno}){
42 | print "$col{green}$lineno$col{none}: ";
43 | }elsif($opt{fname} && $file){
44 | print ' ';
45 | }
46 |
47 | if($opt{hl}){
48 | print "$p$col{brown}$m$col{none}$e\n";
49 | }else{
50 | print "$m\n";
51 | }
52 | }
53 | }
54 |
55 | sub usage(){
56 | $printme =<<"!";
57 | Usage: $0 -[Chn] [FILES...]
58 | -h: highlight
59 | -c: force colour on (for pipes)
60 | -C: colour off (only makes sense with -h)
61 | -n: show line number
62 | !
63 | print STDERR $printme;
64 | exit 1;
65 | }
66 |
67 |
68 | %opt = (
69 | colour => 1,
70 | lineno => 0,
71 | fname => 0,
72 | hl => 0
73 | );
74 | %col = (
75 | brown => "\e[0;31m", # hl
76 | red => "\e[0;35m", # fname
77 | green => "\e[0;32m", # lineno
78 | none => "\e[0;0m"
79 | );
80 |
81 | for $arg (@ARGV){
82 | if($arg eq '-h'){
83 | $opt{hl} = 1;
84 | }elsif($arg eq '-n'){
85 | $opt{lineno} = 1;
86 | }elsif($arg eq '-C'){
87 | $opt{colour} = 0;
88 | }elsif($arg eq '-c'){
89 | usage() if $opt{colour} == 0;
90 | $opt{colour} = 2; # force on
91 | }elsif($arg eq '--help'){
92 | usage();
93 | }else{
94 | push @files, $arg;
95 | }
96 | }
97 |
98 | usage() if $opt{hl} && !$opt{colour};
99 |
100 | $opt{fname} = 1 if $#files > 0 || $opt{lineno};
101 | if(!$opt{colour} || ($opt{colour} == 1 && !-t STDOUT)){
102 | $col{$_} = '' for keys %col;
103 | }
104 |
105 | $| = 1;
106 |
107 | if(@files){
108 | for my $f (@files){
109 | my $n = 1;
110 | open F, '<', $f or warn "$f: $!\n";
111 | scan($f, $n++, $_) for ;
112 | close F;
113 | }
114 | }else{
115 | scan(undef, $., $_) while ;
116 | }
117 |
--------------------------------------------------------------------------------
/skippy/.config/skippy/skippy-xd.rc:
--------------------------------------------------------------------------------
1 | # Copy this to ~/.config/skippy-xd/skippy-xd.rc and edit it to your liking
2 | #
3 | # Notes:
4 | #
5 | # - colors can be anything XAllocNamedColor can handle
6 | # (like "black" or "#000000")
7 | #
8 | # - distance is a relative number, and is scaled according to the scale
9 | # factor applied to windows
10 | #
11 | # - fonts are Xft font descriptions
12 | #
13 | # - booleans are "true" or anything but "true" (-> false)
14 | #
15 | # - opacity is an integer in the range of 0-255
16 | #
17 | # - brighness is a floating point number (with 0.0 as neutral)
18 | #
19 | # - if the update frequency is a negative value, the mini-windows will only
20 | # be updated when they're explicitly rendered (like, when they gain or
21 | # lose focus).
22 | #
23 | # - the 'shadowText' option can be a color or 'none', in which case the
24 | # drop-shadow effect is disabled
25 | #
26 | # - Picture specification:
27 | # [WIDTHxHEIGHT] [orig|scale|scalek|tile] [left|mid|right] [left|mid|right]
28 | # [COLOR|#FFFFFFFF] [PATH]
29 | #
30 | # Examples:
31 | # background = 500x400 tile right mid #FF0000 /home/richard/screenshots/256.png
32 | # background = orig mid mid #FF000080
33 | #
34 | # - Bindings in [bindings] section can bind to "no" (do nothing), "focus"
35 | # (focus to window), "iconify", "shade-ewmh" (toggle window shade state),
36 | # "close-icccm" (close window with ICCCM method), "close-ewmh" (close
37 | # window with EWMH method), or "destroy" (forcefully destroy the window).
38 | #
39 |
40 | [general]
41 | distance = 50
42 | useNetWMFullscreen = true
43 | ignoreSkipTaskbar = true
44 | updateFreq = 10.0
45 | lazyTrans = false
46 | pipePath = /tmp/skippy-xd-fifo
47 | movePointerOnStart = true
48 | movePointerOnSelect = true
49 | movePointerOnRaise = true
50 | switchDesktopOnActivate = false
51 | useNameWindowPixmap = false
52 | forceNameWindowPixmap = false
53 | includeFrame = true
54 | allowUpscale = true
55 | showAllDesktops = false
56 | showUnmapped = true
57 | preferredIconSize = 48
58 | clientDisplayModes = thumbnail icon filled none
59 | iconFillSpec = orig mid mid #00FFFF
60 | fillSpec = orig mid mid #FFFFFF
61 | background =
62 |
63 | [xinerama]
64 | showAll = true
65 |
66 | [normal]
67 | tint = black
68 | tintOpacity = 0
69 | opacity = 200
70 |
71 | [highlight]
72 | tint = #101020
73 | tintOpacity = 64
74 | opacity = 255
75 |
76 | [tooltip]
77 | show = false
78 | followsMouse = true
79 | offsetX = 20
80 | offsetY = 20
81 | align = left
82 | border = #ffffff
83 | background = #404040
84 | opacity = 128
85 | text = #ffffff
86 | textShadow = black
87 | font = fixed-11:weight=bold
88 |
89 | [bindings]
90 | miwMouse1 = focus
91 | miwMouse2 = close-ewmh
92 | miwMouse3 = iconify
93 |
--------------------------------------------------------------------------------
/rofi/.config/rofi/onedarker.rasi:
--------------------------------------------------------------------------------
1 | /**
2 | * ROFI Color theme
3 | * User: Qball
4 | * Copyright: Dave Davenport
5 | */
6 |
7 | * {
8 | font: "Times New Roman 15";
9 | text-color: #abb2bf;
10 | background-color: #2c2c2c;
11 | dark: #1b1f27;
12 | // Black
13 | black: #212121;
14 | lightblack: #777777;
15 | //
16 | // Red
17 | red: #bf616a;
18 | lightred: #bf616a;
19 | //
20 | // Green
21 | green: #A3BE8C;
22 | lightgreen: #A3BE8C;
23 | //
24 | // Yellow
25 | yellow: #C68A75;
26 | lightyellow: #D7BA7D;
27 | //
28 | // Blue
29 | blue: #2d4059;
30 | lightblue: #3281ea;
31 | //
32 | // Magenta
33 | magenta: #B48EAD;
34 | lightmagenta: #B48EAD;
35 | //
36 | // Cyan
37 | cyan: #88c0d0;
38 | lightcyan: #88c0d0;
39 | //
40 | // White
41 | white: #abb2bf;
42 | lightwhite: #abb2bf;
43 | //
44 | // Bold, Italic, Underline
45 | highlight: bold #D7BA7D;
46 | }
47 |
48 | element-icon {
49 | /** change size to 128 pixels. */
50 | size: 18px;
51 | cursor: inherit;
52 | padding: 0.2em;
53 | }
54 |
55 | window {
56 | height: 30%;
57 | width: 15em;
58 | location: northwest;
59 | anchor: northwest;
60 | border: 1px 1px 1px 1px;
61 | border-color: @lightblack;
62 | text-color: @lightwhite;
63 | margin: 0.3em;
64 | border-radius: 0.4em;
65 | }
66 | /* mode-switcher { */
67 | /* border: 2px 0px 0px 0px; */
68 | /* background-color: @lightblack; */
69 | /* padding: 4px; */
70 | /* } */
71 | button selected {
72 | border-color: @lightgreen;
73 | text-color: @lightgreen;
74 | }
75 | inputbar {
76 | /* background-color: @lightyellow; */
77 | text-color: @lightgreen;
78 | /* padding: 1px; */
79 | /* border: 0px 0px 2px 0px; */
80 | }
81 | /* mainbox { */
82 | /* expand: true; */
83 | /* background-color: #1c1c1cee; */
84 | /* spacing: 1em; */
85 | /* } */
86 | listview {
87 | padding: 0em 0.2em 0em 0.7em;
88 | dynamic: false;
89 | lines: 0;
90 | }
91 | element-text {
92 | background-color: inherit;
93 | text-color: inherit;
94 | }
95 | element selected normal {
96 | background-color: @blue;
97 | }
98 | element normal active {
99 | text-color: @lightblue;
100 | }
101 | element normal urgent {
102 | text-color: @lightred;
103 | }
104 | element alternate normal {
105 | }
106 | element alternate active {
107 | text-color: @lightblue;
108 | }
109 | element alternate urgent {
110 | text-color: @lightred;
111 | }
112 | element selected active {
113 | background-color: @lightblue;
114 | text-color: @dark;
115 | }
116 | element selected urgent {
117 | background-color: @lightred;
118 | text-color: @dark;
119 | }
120 | error-message {
121 | expand: true;
122 | background-color: red;
123 | border-color: darkred;
124 | border: 2px;
125 | padding: 1em;
126 | }
127 |
--------------------------------------------------------------------------------
/scripts/.local/bin/getnf:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #defining variables
4 | nerdfontsrepo='https://api.github.com/repos/ryanoasis/nerd-fonts'
5 | aFontInstalled="False"
6 | keepArchives="False"
7 | distDir="$HOME/.local/share/fonts"
8 | downDir="$HOME/Downloads/NerdFonts"
9 |
10 | # help message
11 | usage() {
12 | echo "getNF: A Better way to install NerdFonts"
13 | echo ""
14 | echo "Usage:"
15 | echo "-h print this help message and exit"
16 | echo "-k Keep the downloaded archives"
17 | echo ""
18 | }
19 |
20 | # setting flags
21 | while getopts :hk option; do
22 | case "${option}" in
23 | h) usage && exit 0 ;;
24 | k) keepArchives="True" ;;
25 | *) usage && exit 0
26 | esac
27 | done
28 |
29 | # Check if the distDir exists, if it doesn't, creat it
30 | [ -e "$distDir" ] && echo "Fonts Directory exists, good" || mkdir -p $HOME/.local/share/fonts
31 |
32 | # get font names
33 | nerdFonts=$(curl --silent "$nerdfontsrepo/contents/patched-fonts?ref=master" | \
34 | grep "name" | \
35 | awk -F":" '{print $2}' | \
36 | sed 's/["",]//g;/install\.ps1/d')
37 |
38 | #get the latest release number from NerdFonts github repo
39 | release=$(curl --silent "$nerdfontsrepo/releases/latest" | \
40 | grep -Po '"tag_name": "\K.*?(?=")')
41 |
42 | # use fzf to select the fonts to be installed
43 | listFonts=$(printf '%s\n' "${nerdFonts[@]}" | fzf -m)
44 |
45 | #loop over the selected fonts in listFonts, download and install them
46 | for i in $listFonts; do
47 | checkFont=$(fc-list | grep -i "$i")
48 | if [ -z "$checkFont" ]; then #If the font already is installed, skip it
49 | echo "$i font download started" &&
50 | #download the font
51 | curl -LJO -\# "https://github.com/ryanoasis/nerd-fonts/releases/download/$release/$i.zip" \
52 | -o $i.zip --output-dir "$downDir" --create-dirs &&
53 | echo "$i font download finished" &&
54 | echo "$i font unziping started" &&
55 | #Unzipe the downloaded archive
56 | unzip -qq $downDir/$i.zip -d $distDir &&
57 | echo "$i font unzipping finished" &&
58 | echo "Font $i Installed" &&
59 | echo "$i provides:" &&
60 | installedFontName=$(curl --silent "$nerdfontsrepo/contents/patched-fonts/$i/Regular/complete?ref=master" | \
61 | grep ".ttf" | \
62 | awk -F ":" 'FNR == 1 {print $2}' | \
63 | awk '{print $1}' | \
64 | sed 's/"//g') &&
65 | fc-list | grep -i $installedFontName | \
66 | awk -F "/" '{print $7}' | \
67 | sed 's/style\=//' | \
68 | awk -F ":" 'BEGIN {print "FONT NAME" " | " "FILE NAME" " | " "STYLE"} {print $2 " | " $1 " | " $3}' | \
69 | column -s "|" -t -o "|" &&
70 | #set this variable to true so that the font cache get's updated
71 | aFontInstalled=True
72 | else
73 | echo "Font $i already installed"
74 | fi
75 | done
76 |
77 | # If a font was installed, Update the cach and remove the archive
78 | if [ "$aFontInstalled" = "True" ]; then
79 | fc-cache -fv >/dev/null 2>&1 && echo "fc-chache: succeeded"
80 | #check if the user hasn't chooen to keep the updated, if not, remove them
81 | if [ "$keepArchives" = "False" ]; then
82 | rm $downDir/*.zip
83 | else
84 | echo "The archive files are in $downDir"
85 | fi
86 | fi
87 |
88 | echo "done"
89 |
--------------------------------------------------------------------------------
/alacritty/.config/alacritty/alacritty.yml:
--------------------------------------------------------------------------------
1 | # Colors (One Darker)
2 | # Note I am using alacritty-ligatures until ligatures make it upstream
3 | colors:
4 | # Default colors
5 | primary:
6 | # background: "#232731"
7 | background: "#1f2227"
8 | foreground: "#abb2bf"
9 |
10 | # Normal colors
11 | # Nord
12 | normal:
13 | black: "#4C566A"
14 | red: "#bf616a"
15 | green: "#A3BE8C"
16 | yellow: "#D7BA7D"
17 | blue: "#5e81ac"
18 | magenta: "#B48EAD"
19 | cyan: "#88c0d0"
20 | white: "#abb2bf"
21 |
22 | # Bright colors
23 | bright:
24 | black: "#4C566A"
25 | red: "#bf616a"
26 | green: "#A3BE8C"
27 | yellow: "#D7BA7D"
28 | blue: "#5e81ac"
29 | magenta: "#B48EAD"
30 | cyan: "#88c0d0"
31 | white: "#abb2bf"
32 |
33 | # normal:
34 | # black: "#4b5263"
35 | # red: "#e06c75"
36 | # green: "#98C379"
37 | # yellow: "#E5C07B"
38 | # blue: "#61AFEF"
39 | # magenta: "#C678DD"
40 | # cyan: "#56B6C2"
41 | # white: "#abb2bf"
42 | #
43 | # # Bright colors
44 | # bright:
45 | # black: "#4b5263"
46 | # red: "#e06c75"
47 | # green: "#98C379"
48 | # yellow: "#E5C07B"
49 | # blue: "#61AFEF"
50 | # magenta: "#C678DD"
51 | # cyan: "#56B6C2"
52 | # white: "#abb2bf"
53 |
54 | # background_opacity: 1.0
55 |
56 | # Change cursor colors
57 | cursor:
58 | text: "#3B4252"
59 | cursor: "#ECEFF4"
60 |
61 | cursor:
62 | style:
63 | blinking: Never
64 |
65 | font:
66 | # The normal (roman) font face to use.
67 | normal:
68 | family: monospace
69 | # Style can be specified to pick a specific face.
70 | style: Regular
71 |
72 | # The bold font face
73 | bold:
74 | family: monospace
75 | # Style can be specified to pick a specific face.
76 | style: Bold
77 |
78 | # The italic font face
79 | italic:
80 | family: monospace
81 | # Style can be specified to pick a specific face.
82 | style: Italic
83 |
84 | size: 13.0
85 |
86 | ligatures: true
87 |
88 | offset:
89 | x: 0
90 | y: 0
91 | glyph_offset:
92 | x: 0
93 | y: 0
94 | window:
95 | padding:
96 | x: 2
97 | y: 2
98 | # scrolling:
99 | # # Maximum number of lines in the scrollback buffer.
100 | # # Specifying '0' will disable scrolling.
101 | history: 10000
102 | # # Number of lines the viewport will move for every line scrolled when
103 | # # scrollback is enabled (history > 0).
104 | # multiplier: 10
105 |
106 | # Allow terminal applications to change Alacritty's window title.
107 | dynamic_title: true
108 |
109 | # # If `true`, bold text is drawn using the bright color variants.
110 | # draw_bold_text_with_bright_colors: true
111 |
112 | # selection:
113 | semantic_escape_chars: ',│`|:"'' ()[]{}<>'
114 | save_to_clipboard: true
115 | live_config_reload: true
116 | key_bindings:
117 | - { key: V, mods: Control|Shift, action: Paste }
118 | - { key: C, mods: Control|Shift, action: Copy }
119 | - { key: Key0, mods: Control, action: ResetFontSize }
120 | - { key: Equals, mods: Control, action: IncreaseFontSize }
121 | - { key: Minus, mods: Control, action: DecreaseFontSize }
122 | # - { key: Add, mods: Control, action: IncreaseFontSize }
123 | # - { key: Subtract, mods: Control, action: DecreaseFontSize }
124 | # - { key: N, mods: Control, action: SpawnNewInstance }
125 |
--------------------------------------------------------------------------------
/waybar/.config/waybar/scripts/spotify.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # install playerctl
3 |
4 | # player_status=$(playerctl status 2> /dev/null)
5 | # if [ "$player_status" = "Playing" ]; then
6 | # echo "$(playerctl metadata artist) - $(playerctl metadata title)"
7 | # elif [ "$player_status" = "Paused" ]; then
8 | # echo " $(playerctl metadata artist) - $(playerctl metadata title)"
9 | # fi
10 |
11 | #!/usr/bin/env bash
12 | # exec 2>"$XDG_RUNTIME_DIR/waybar-playerctl.log"
13 | # IFS=$'\n\t'
14 | #
15 | # while true; do
16 | #
17 | # while read -r playing position length name artist title arturl hpos hlen; do
18 | # # remove leaders
19 | # playng=${playing:1} position=${position:1} length=${length:1} name=${name:1}
20 | # artist=${artist:1} title=${title:1} arturl=${arturl:1} hpos=${hpos:1} hlen=${hlen:1}
21 | #
22 | # # build line
23 | # line="${artist:+$artist ${title:+- }}${title:+$title }${hpos:+$hpos${hlen:+|}}$hlen"
24 | #
25 | # # json escaping
26 | # line="${line//\"/\\\"}"
27 | # ((percentage = length ? (100 * (position % length)) / length : 0))
28 | #
29 | # if [ -z "$line" ]
30 | # then
31 | # text=""
32 | # else
33 | # text=" $line"
34 | # fi
35 | # #
36 | # # integrations for other services (nwg-wrapper)
37 | # if [[ $title != "$ptitle" || $artist != "$partist" || $parturl != "$arturl" ]]; then
38 | # typeset -p playing length name artist title arturl >"$XDG_RUNTIME_DIR/waybar-playerctl.info"
39 | # pkill -8 nwg-wrapper
40 | # ptitle=$title partist=$artist parturl=$arturl
41 | # fi
42 | #
43 | # # exit if print fails
44 | # printf '{"text":"%s","tooltip":"%s","class":"%s","percentage":%s}\n' \
45 | # "$text" "$playing $name | $line" "$percentage" "$percentage" || break 2
46 | #
47 | # done < <(
48 | # # requires playerctl>=2.0
49 | # # Add non-space character ":" before each parameter to prevent 'read' from skipping over them
50 | # playerctl --follow metadata --player playerctld --format \
51 | # $':{{emoji(status)}}\t:{{position}}\t:{{mpris:length}}\t:{{playerName}}\t:{{markup_escape(artist)}}\t:{{markup_escape(title)}}\t:{{mpris:artUrl}}\t:{{duration(position)}}\t:{{duration(mpris:length)}}' &
52 | # echo $! >"$XDG_RUNTIME_DIR/waybar-playerctl.pid"
53 | # )
54 | #
55 | # # no current players
56 | # # exit if print fails
57 | # echo '⏹' || break
58 | # sleep 15
59 | #
60 | # done
61 | #
62 | # kill "$(<"$XDG_RUNTIME_DIR/waybar-playerctl.pid")"
63 |
64 | #!/usr/bin/env bash
65 | # exec 2>"$XDG_RUNTIME_DIR/waybar-playerctl.log"
66 | # IFS=$'\n\t'
67 | #
68 | # while true; do
69 | #
70 | # while read -r playing position length name artist title arturl hpos hlen; do
71 |
72 | while true; do
73 |
74 | player_status=$(playerctl status 2>/dev/null)
75 |
76 | if [ -z "$(playerctl metadata album)" ]; then
77 | if [ "$player_status" = "Playing" ]; then
78 | echo "$(playerctl metadata artist) - $(playerctl metadata title)"
79 | elif [ "$player_status" = "Paused" ]; then
80 | echo " $(playerctl metadata artist) - $(playerctl metadata title)"
81 | else
82 | echo ""
83 | fi
84 | else
85 | if [ "$player_status" = "Playing" ]; then
86 | echo " $(playerctl metadata artist) - $(playerctl metadata title)"
87 | elif [ "$player_status" = "Paused" ]; then
88 | echo " $(playerctl metadata artist) - $(playerctl metadata title)"
89 | else
90 | echo ""
91 | fi
92 | fi
93 |
94 | sleep 1
95 |
96 | done
97 |
98 | # done
99 | #
100 | # kill "$(<"$XDG_RUNTIME_DIR/waybar-playerctl.pid")"
101 |
--------------------------------------------------------------------------------
/programs/.pacman.list:
--------------------------------------------------------------------------------
1 | alacritty
2 | amd-ucode
3 | amdgpu-pro-libgl
4 | arc-gtk-theme
5 | asciiquarium
6 | aura-bin
7 | base
8 | bat
9 | bibata-cursor-theme
10 | blender
11 | bluedevil
12 | blueman
13 | bluez-utils
14 | bottom
15 | brave-bin
16 | btop
17 | buildah
18 | calcurse
19 | cava-git
20 | chromium
21 | cmatrix
22 | cmus
23 | colorpicker
24 | cowsay
25 | cups
26 | dialog
27 | discord
28 | dmenu
29 | docker
30 | dunst
31 | efibootmgr
32 | element-desktop-nightly-bin
33 | exa
34 | exfat-utils
35 | fastfetch
36 | fd
37 | feh
38 | figlet
39 | flake8
40 | flameshot
41 | fnm-bin
42 | fuse-overlayfs
43 | fzf
44 | gammastep
45 | gdb
46 | gimp
47 | git
48 | github-cli
49 | gitui
50 | glances
51 | google-java-format
52 | gotop
53 | gping
54 | grim-git
55 | grub
56 | gst-plugin-pipewire
57 | helix
58 | hollywood
59 | htop
60 | hyprpicker-git
61 | inetutils
62 | iwd
63 | joycond-git
64 | jq
65 | kdenlive
66 | kitty
67 | kvantum-theme-arc
68 | lazygit
69 | libpulse
70 | librewolf-bin
71 | libxft-bgra
72 | linux
73 | linux-firmware
74 | linux-headers
75 | lldb
76 | lutris
77 | lxappearance
78 | ly
79 | macchina-bin
80 | mediainfo
81 | micro
82 | mpv
83 | nano
84 | ncdu
85 | ncmpcpp
86 | neofetch
87 | net-tools
88 | network-manager-applet
89 | networkmanager
90 | newsboat
91 | nmap
92 | nmon
93 | noto-fonts-cjk
94 | noto-fonts-sc
95 | npm
96 | ntfs-3g
97 | nushell
98 | obs-linuxbrowser-bin
99 | obs-studio
100 | obsidian
101 | openboard
102 | orchis-theme-git
103 | os-prober
104 | p7zip
105 | pamixer
106 | pandoc-bin
107 | paru
108 | pasystray
109 | pavucontrol
110 | pcloudcc-git
111 | pcmanfm
112 | pipewire
113 | pipewire-alsa
114 | pipewire-enable-bluez5
115 | pipewire-jack
116 | pipewire-pulse
117 | podman
118 | podman-tui
119 | polkit-gnome
120 | prettier
121 | protonmail-bridge
122 | python-black
123 | python-pip
124 | qt5ct
125 | qt6-wayland
126 | ranger
127 | redshift-wayland-git
128 | reflector
129 | rofi-lbonn-wayland-git
130 | rpi-imager
131 | rsync
132 | ruby
133 | scrcpy
134 | screenfetch
135 | screenkey
136 | session-desktop-bin
137 | shellcheck-bin
138 | shfmt
139 | showmethekey
140 | signal-desktop-beta-bin
141 | skippy-xd-git
142 | slock
143 | slurp-git
144 | smartmontools
145 | snownews
146 | solidity
147 | spotify
148 | steam
149 | stow
150 | stylua
151 | swappy-git
152 | swaybg
153 | syncthing
154 | telegram-desktop-bin
155 | tree
156 | ttf-cascadia-code
157 | ttf-dejavu
158 | ttf-iosevka
159 | ttf-joypixels
160 | ttf-ms-fonts
161 | ttf-ubraille
162 | ttf-victor-mono
163 | ueberzug
164 | unzip
165 | ventoy-bin
166 | vi
167 | vim
168 | virtualbox
169 | virtualbox-bin-guest-iso
170 | virtualbox-guest-iso
171 | vscodium-bin
172 | vscodium-bin-marketplace
173 | vulkan-amdgpu-pro
174 | vulkan-radeon
175 | vulkan-tools
176 | waybar-hyprland-git
177 | wayland-protocols
178 | wezterm
179 | wf-recorder
180 | wget
181 | wine
182 | wine-mono
183 | wireless_tools
184 | wireplumber
185 | wl-clipboard
186 | wlrobs
187 | wlroots
188 | wshowkeys-git
189 | xbanish
190 | xcape
191 | xclip
192 | xdg-desktop-portal-hyprland-git
193 | xdg-utils
194 | xf86-video-amdgpu
195 | xorg-bdftopcf
196 | xorg-docs
197 | xorg-font-util
198 | xorg-fonts-100dpi
199 | xorg-fonts-75dpi
200 | xorg-iceauth
201 | xorg-mkfontscale
202 | xorg-server
203 | xorg-server-devel
204 | xorg-server-xephyr
205 | xorg-server-xnest
206 | xorg-server-xvfb
207 | xorg-sessreg
208 | xorg-smproxy
209 | xorg-x11perf
210 | xorg-xbacklight
211 | xorg-xcmsdb
212 | xorg-xcursorgen
213 | xorg-xdpyinfo
214 | xorg-xdriinfo
215 | xorg-xev
216 | xorg-xgamma
217 | xorg-xinit
218 | xorg-xinput
219 | xorg-xkbevd
220 | xorg-xkbutils
221 | xorg-xkill
222 | xorg-xlsatoms
223 | xorg-xlsclients
224 | xorg-xpr
225 | xorg-xrefresh
226 | xorg-xsetroot
227 | xorg-xvinfo
228 | xorg-xwayland
229 | xorg-xwd
230 | xorg-xwininfo
231 | xorg-xwud
232 | xterm
233 | yapf
234 | yarn
235 | youtube-dl
236 | zathura
237 | zip
238 | zoxide
239 | zram-generator
240 | zsh
241 | zsh-completions-git
242 |
--------------------------------------------------------------------------------
/nvim/.config/nvim/lv-config.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | O is the global options object
3 |
4 | Formatters and linters should be
5 | filled in as strings with either
6 | a global executable or a path to
7 | an executable
8 | ]] -- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
9 | -- general
10 | O.auto_complete = true
11 | O.colorscheme = 'spacegray'
12 | O.auto_close_tree = 0
13 | O.wrap_lines = false
14 | O.timeoutlen = 100
15 | O.document_highlight = true
16 | O.leader_key = ' '
17 | O.ignore_case = true
18 | O.smart_case = true
19 | O.lushmode = true
20 |
21 | -- After changing plugin config it is recommended to run :PackerCompile
22 | O.plugin.hop.active = true
23 | O.plugin.dial.active = true
24 | O.plugin.dashboard.active = true
25 | O.plugin.matchup.active = true
26 | O.plugin.colorizer.active = true
27 | O.plugin.numb.active = true
28 | O.plugin.ts_playground.active = true
29 | O.plugin.indent_line.active = false
30 | O.plugin.gitlinker.active = true
31 | O.plugin.debug.active = true
32 | O.plugin.bqf.active = true
33 | O.plugin.ranger.active = true
34 | O.plugin.spectre.active = true
35 | O.plugin.dap_install.active = true
36 | O.plugin.telescope_project.active = true
37 | O.plugin.trouble.active = true
38 | O.plugin.telescope_fzy.active = true
39 | O.plugin.lsp_rooter.active = true
40 | O.plugin.lazygit.active = true
41 | O.plugin.zen.active = true
42 | O.plugin.markdown_preview.active = true
43 |
44 | -- dashboard
45 | -- O.dashboard.custom_header = {""}
46 | -- O.dashboard.footer = {""}
47 |
48 | -- if you don't want all the parsers change this to a table of the ones you want
49 | O.treesitter.ensure_installed = "all"
50 | O.treesitter.ignore_install = {"haskell"}
51 | O.treesitter.highlight.enabled = true
52 |
53 | O.lang.clang.diagnostics.virtual_text = false
54 | O.lang.clang.diagnostics.signs = false
55 | O.lang.clang.diagnostics.underline = false
56 |
57 | -- python
58 | -- add things like O.python.formatter.yapf.exec_path
59 | -- add things like O.python.linter.flake8.exec_path
60 | -- add things like O.python.formatter.isort.exec_path
61 | O.lang.python.formatter = 'yapf'
62 | -- O.python.linter = 'flake8'
63 | O.lang.python.isort = true
64 | O.lang.python.autoformat = true
65 | O.lang.python.diagnostics.virtual_text = true
66 | O.lang.python.diagnostics.signs = true
67 | O.lang.python.diagnostics.underline = true
68 | O.lang.python.analysis.type_checking = "off"
69 | O.lang.python.analysis.auto_search_paths = true
70 | O.lang.python.analysis.use_library_code_types = true
71 |
72 |
73 | -- lua
74 | -- TODO look into stylua
75 | O.lang.lua.formatter = 'lua-format'
76 | -- O.lua.formatter = 'lua-format'
77 | O.lang.lua.autoformat = false
78 |
79 | -- javascript
80 | O.lang.tsserver.formatter = 'prettier'
81 | O.lang.tsserver.linter = nil
82 | O.lang.tsserver.autoformat = true
83 |
84 | -- json
85 | O.lang.json.autoformat = true
86 |
87 | -- ruby
88 | O.lang.ruby.autoformat = true
89 |
90 | -- go
91 | O.lang.go.autoformat = true
92 |
93 | -- rust
94 | O.lang.rust.autoformat = true
95 | -- create custom autocommand field (This would be easy with lua)
96 |
97 | -- Turn off relative_numbers
98 | -- O.relative_number = false
99 |
100 | -- Turn off cursorline
101 | -- O.cursorline = false
102 |
103 | -- Neovim turns the default cursor to 'Block'
104 | -- when switched back into terminal.
105 | -- This below line fixes that. Uncomment if needed.
106 |
107 | -- vim.cmd('autocmd VimLeave,VimSuspend * set guicursor=a:ver90') -- Beam
108 | -- vim.cmd('autocmd VimLeave,VimSuspend * set guicursor=a:hor20') -- Underline
109 |
110 | -- NOTE: Above code doesn't take a value from the terminal's cursor and
111 | -- replace it. It hardcodes the cursor shape.
112 | -- And I think `ver` means vertical and `hor` means horizontal.
113 | -- The numbers didn't make a difference in alacritty. Please change
114 | -- the number to something that suits your needs if it looks weird.
115 |
116 | -- TODO
117 | -- custom autocommands
118 | -- user defined plugin config
119 | -- custom settings
120 |
121 |
--------------------------------------------------------------------------------
/waybar/.config/waybar/config:
--------------------------------------------------------------------------------
1 | {
2 | // NOTE: Icons: https://github.com/Alexays/Waybar/issues/350
3 | "height": 30, // Waybar height (to be removed for auto height)
4 | "spacing": 4, // Gaps between modules (4px)
5 | // "modules-left": ["custom/launcher", "wlr/workspaces", "hyprland/window"],
6 | // "modules-left": ["custom/launcher", "wlr/workspaces"],
7 | "modules-left": ["custom/launcher", "wlr/workspaces"],
8 | /* "modules-center": ["custom/spotify"], */
9 | "modules-right": ["tray", "pulseaudio", "network", "clock"],
10 | "wlr/workspaces": {
11 | "format": "{icon}",
12 | "on-click": "activate",
13 | /* "format-icons": { */
14 | /* "1": "", */
15 | /* "2": "", */
16 | /* "3": "", */
17 | /* "4": "", */
18 | /* "5": "", */
19 | /* "urgent": "", */
20 | /* "active": "", */
21 | /* "default": "" */
22 | /* } */
23 | },
24 | "hyprland/window": {
25 | "format": "{}"
26 | },
27 | "tray": {
28 | // "icon-size": 21,
29 | "spacing": 10
30 | },
31 | "clock": {
32 | // "format": " {:%a %b %d}",
33 | // "format-alt": " {:%I:%M %p}"
34 | "format": "{:%a %b %d}",
35 | "format-alt": "{:%I:%M %p}"
36 | },
37 | // "clock": {
38 | // // "timezone": "America/New_York",
39 | // "tooltip-format": "{:%Y %B}\n{calendar}",
40 | // "format-alt": "{:%Y-%m-%d}"
41 | // },
42 | "backlight": {
43 | // "device": "acpi_video1",
44 | "format": "{icon} {percent}%",
45 | "format-icons": ["", "", "", "", "", "", "", "", ""]
46 | },
47 | "network": {
48 | // "interface": "wlp2*", // (Optional) To force the use of this interface
49 |
50 | "format-wifi": "直 {signalStrength}%",
51 | // "format-ethernet": " {ifname}: {ipaddr}/{cidr}",
52 | // "format-ethernet": " {ifname}",
53 | // "format-ethernet": " wired",
54 | "format-ethernet": "",
55 | "format-disconnected": "睊",
56 | // "on-click": "nmtui"
57 | // "format-wifi": "{essid} ({signalStrength}%) ",
58 | // "format-ethernet": "{ipaddr}/{cidr} ",
59 | // "tooltip-format": "{ifname} via {gwaddr} ",
60 | // "format-linked": "{ifname} (No IP) ",
61 | // "format-disconnected": "Disconnected ⚠",
62 | "format-alt": "{ifname}: {ipaddr}/{cidr}"
63 | },
64 | "pulseaudio": {
65 | // "scroll-step": 1, // %, can be a float
66 | // "format": "{volume}% {icon} {format_source}",
67 | // "format": "{volume}% {icon}",
68 | "format": "{icon} {volume}%",
69 | "format-bluetooth": "{icon} {volume}% {format_source}",
70 | "format-bluetooth-muted": " {icon} {format_source}",
71 | "format-muted": "婢",
72 | // "format-source": "{volume}% ",
73 | // "format-source-muted": "",
74 | "format-icons": {
75 | "headphone": "",
76 | "hands-free": "",
77 | "headset": "",
78 | "phone": "",
79 | "portable": "",
80 | "car": "",
81 | "default": ["", "", ""]
82 | },
83 | "on-click": "pavucontrol"
84 | },
85 | "custom/launcher": {
86 | // "exec": "$HOME/.config/waybar/scripts/spotify.sh",
87 | // "return-type": "json",
88 | // "max-length": 40,
89 | // "format": " ",
90 | // "format": "",
91 | // "format": "",
92 | "format": "",
93 | // "format": " 異",
94 | // "format": " ",
95 | "on-click": "rofi -show drun",
96 | },
97 | "custom/spotify": {
98 | "exec": "$HOME/.config/waybar/scripts/spotify.sh",
99 | // "return-type": "json",
100 | "max-length": 40,
101 | "format": " {}",
102 | "on-click": "playerctl play-pause",
103 | "on-double-click": "playerctl next",
104 | "on-right-click": "on-click-right"
105 | },
106 | }
107 |
108 |
--------------------------------------------------------------------------------
/rofi/.config/rofi/center.rasi:
--------------------------------------------------------------------------------
1 | * {
2 | foreground: #ffffff;
3 | backlight: #ccffeedd;
4 | background-color: transparent;
5 | dark: #1c1c1c;
6 | // Black
7 | black: #2c2c2c;
8 | lightblack: #2c2c2c;
9 | tlightblack: #1a1a1add;
10 | //
11 | // Red
12 | red: #cd5c5c;
13 | lightred: #cc5533;
14 | //
15 | // Green
16 | green: #86af80;
17 | lightgreen: #88cc22;
18 | //
19 | // Yellow
20 | yellow: #e8ae5b;
21 | lightyellow: #ffa75d;
22 | //
23 | // Blue
24 | /* blue: #3c3c3c; */
25 | blue: #444444;
26 | lightblue: #87ceeb;
27 | //
28 | // Magenta
29 | magenta: #deb887;
30 | lightmagenta: #996600;
31 | //
32 | // Cyan
33 | cyan: #b0c4de;
34 | tcyan: #ccb0c4de;
35 | lightcyan: #b0c4de;
36 | //
37 | // White
38 | white: #bbaa99;
39 | lightwhite: #ddccbb;
40 | //
41 | // Bold, Italic, Underline
42 | /* highlight: underline bold #ffffff; */
43 | highlight: #ffffff;
44 |
45 | transparent: rgba(0,0,0,0);
46 | font: "Source Code Pro 18";
47 | }
48 | window {
49 | height: 20%;
50 | width: 20%;
51 | location: center;
52 | anchor: center;
53 | transparency: "screenshot";
54 | border: 0px;
55 | border-radius: 10px;
56 | /* color: @magenta; */
57 | background-color: @transparent;
58 | spacing: 0;
59 | children: [mainbox];
60 | orientation: horizontal;
61 | }
62 | mainbox {
63 | spacing: 0;
64 | children: [ inputbar, message, listview ];
65 | }
66 | message {
67 | border-color: @foreground;
68 | border: 1px;
69 | // border-radius: 10px;
70 | padding: 5;
71 | background-color: @tcyan;
72 | }
73 |
74 | message {
75 | font: "Source Code Pro 8";
76 | color: @black;
77 | }
78 |
79 | inputbar {
80 | color: @foreground;
81 | padding: 11px;
82 | background-color: @tlightblack;
83 | border: 1px;
84 | border-radius: 15px 15px 0px 0px;
85 | border-color: #666666;
86 | font: "Source Code Pro 18";
87 | }
88 |
89 | entry,prompt,case-indicator {
90 | text-font: inherit;
91 | text-color:inherit;
92 | }
93 |
94 | prompt {
95 | margin: 0px 0.3em 0em 0em ;
96 | }
97 |
98 | listview {
99 | padding: 8px 8px 0 8px;
100 | border-radius: 0px 0px 15px 15px;
101 | border-color: #666666;
102 | border: 0px 1px 1px 1px;
103 | background-color: @tlightblack;
104 | dynamic: false;
105 | lines: 10;
106 | }
107 |
108 | element {
109 | padding: 0.3em;
110 | vertical-align: 0.5;
111 | border-radius: 0.3em;
112 | background-color: transparent;
113 | color: @foreground;
114 | font:inherit;
115 | }
116 |
117 | element-icon {
118 | /** change size to 128 pixels. */
119 | size: 28;
120 | cursor: inherit;
121 | padding: 0 0.3em 0 0;
122 | }
123 |
124 | element-text {
125 | background-color: inherit;
126 | text-color: inherit;
127 | }
128 |
129 | element selected.normal {
130 | background-color: @blue;
131 | }
132 |
133 | element normal active {
134 | foreground: @lightblue;
135 | }
136 |
137 | element normal urgent {
138 | foreground: @lightred;
139 | }
140 |
141 | element alternate normal {
142 | }
143 |
144 | element alternate active {
145 | foreground: @lightblue;
146 | }
147 |
148 | element alternate urgent {
149 | foreground: @lightred;
150 | }
151 |
152 | element selected active {
153 | background-color: @lightblue;
154 | foreground: @dark;
155 | }
156 |
157 | element selected urgent {
158 | background-color: @lightred;
159 | foreground: @dark;
160 | }
161 |
162 | element normal normal {
163 |
164 | }
165 |
166 | vertb {
167 | expand: false;
168 | children: [ dummy0, mode-switcher, dummy1 ];
169 | }
170 |
171 | mode-switcher {
172 | expand: false;
173 | orientation: vertical;
174 | spacing: 0px;
175 | border: 0px 0px 0px 0px;
176 | }
177 | button selected normal {
178 | color: @dark;
179 | border: 2px 0px 2px 2px;
180 | background-color: @backlight;
181 | border-color: @foreground;
182 | }
183 | error-message {
184 | expand: true;
185 | background-color: red;
186 | border-color: darkred;
187 | border: 2px;
188 | padding: 1em;
189 | }
190 |
191 |
--------------------------------------------------------------------------------
/waybar/.config/waybar/scripts/mediaplayer.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | import argparse
3 | import logging
4 | import sys
5 | import signal
6 | import gi
7 | import json
8 | gi.require_version('Playerctl', '2.0')
9 | from gi.repository import Playerctl, GLib
10 |
11 | logger = logging.getLogger(__name__)
12 |
13 |
14 | def write_output(text, player):
15 | logger.info('Writing output')
16 |
17 | output = {'text': text,
18 | 'class': 'custom-' + player.props.player_name,
19 | 'alt': player.props.player_name}
20 |
21 | sys.stdout.write(json.dumps(output) + '\n')
22 | sys.stdout.flush()
23 |
24 |
25 | def on_play(player, status, manager):
26 | logger.info('Received new playback status')
27 | on_metadata(player, player.props.metadata, manager)
28 |
29 |
30 | def on_metadata(player, metadata, manager):
31 | logger.info('Received new metadata')
32 | track_info = ''
33 |
34 | if player.props.player_name == 'spotify' and \
35 | 'mpris:trackid' in metadata.keys() and \
36 | ':ad:' in player.props.metadata['mpris:trackid']:
37 | track_info = 'AD PLAYING'
38 | elif player.get_artist() != '' and player.get_title() != '':
39 | track_info = '{artist} - {title}'.format(artist=player.get_artist(),
40 | title=player.get_title())
41 | else:
42 | track_info = player.get_title()
43 |
44 | if player.props.status != 'Playing' and track_info:
45 | track_info = ' ' + track_info
46 | write_output(track_info, player)
47 |
48 |
49 | def on_player_appeared(manager, player, selected_player=None):
50 | if player is not None and (selected_player is None or player.name == selected_player):
51 | init_player(manager, player)
52 | else:
53 | logger.debug("New player appeared, but it's not the selected player, skipping")
54 |
55 |
56 | def on_player_vanished(manager, player):
57 | logger.info('Player has vanished')
58 | sys.stdout.write('\n')
59 | sys.stdout.flush()
60 |
61 |
62 | def init_player(manager, name):
63 | logger.debug('Initialize player: {player}'.format(player=name.name))
64 | player = Playerctl.Player.new_from_name(name)
65 | player.connect('playback-status', on_play, manager)
66 | player.connect('metadata', on_metadata, manager)
67 | manager.manage_player(player)
68 | on_metadata(player, player.props.metadata, manager)
69 |
70 |
71 | def signal_handler(sig, frame):
72 | logger.debug('Received signal to stop, exiting')
73 | sys.stdout.write('\n')
74 | sys.stdout.flush()
75 | # loop.quit()
76 | sys.exit(0)
77 |
78 |
79 | def parse_arguments():
80 | parser = argparse.ArgumentParser()
81 |
82 | # Increase verbosity with every occurrence of -v
83 | parser.add_argument('-v', '--verbose', action='count', default=0)
84 |
85 | # Define for which player we're listening
86 | parser.add_argument('--player')
87 |
88 | return parser.parse_args()
89 |
90 |
91 | def main():
92 | arguments = parse_arguments()
93 |
94 | # Initialize logging
95 | logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
96 | format='%(name)s %(levelname)s %(message)s')
97 |
98 | # Logging is set by default to WARN and higher.
99 | # With every occurrence of -v it's lowered by one
100 | logger.setLevel(max((3 - arguments.verbose) * 10, 0))
101 |
102 | # Log the sent command line arguments
103 | logger.debug('Arguments received {}'.format(vars(arguments)))
104 |
105 | manager = Playerctl.PlayerManager()
106 | loop = GLib.MainLoop()
107 |
108 | manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player))
109 | manager.connect('player-vanished', on_player_vanished)
110 |
111 | signal.signal(signal.SIGINT, signal_handler)
112 | signal.signal(signal.SIGTERM, signal_handler)
113 | signal.signal(signal.SIGPIPE, signal.SIG_DFL)
114 |
115 | for player in manager.props.player_names:
116 | if arguments.player is not None and arguments.player != player.name:
117 | logger.debug('{player} is not the filtered player, skipping it'
118 | .format(player=player.name)
119 | )
120 | continue
121 |
122 | init_player(manager, player)
123 |
124 | loop.run()
125 |
126 |
127 | if __name__ == '__main__':
128 | main()
129 |
--------------------------------------------------------------------------------
/kitty/.config/kitty/kitty.conf:
--------------------------------------------------------------------------------
1 | # Reload: fn+ctrl+shift+f5
2 | cursor_blink_interval 0
3 | wayland_titlebar_color background
4 | linux_display_server X11
5 | window_border_width 1
6 | window_margin_width 6
7 | window_padding_width 1
8 | update_check_interval 0
9 | macos_titlebar_color background
10 | macos_option_as_alt yes
11 | remember_window_size no
12 | initial_window_width 900
13 | initial_window_height 600
14 | allow_remote_control yes
15 |
16 | # symbol_map U+e000-U+f8ff JetBrainsMono Nerd Font Mono
17 | # symbol_map U+f0000-U+ffffd JetBrainsMono Nerd Font Mono
18 | # symbol_map U+100000-U+10fffd JetBrainsMono Nerd Font Mono
19 |
20 | font_size 18.0
21 | # font_family Monolisa Nerd Font
22 | font_family Comic Code Ligatures
23 | # font_family FiraCode Nerd Font Mono
24 | # font_family JetBrainsMono Nerd Font Mono
25 |
26 | # 0 g
27 | font_features MonolisaNF-Regular calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
28 | font_features MonolisaNF-Medium calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
29 | font_features MonolisaNF-Black calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
30 | font_features MonolisaNF-BlackItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
31 | font_features MonolisaNF-Bold calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
32 | font_features MonolisaNF-BoldItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
33 | font_features MonolisaNF-ExtraBold calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
34 | font_features MonolisaNF-ExtraBoldItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
35 | font_features MonolisaNF-ExtraLight calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
36 | font_features MonolisaNF-ExtraLightItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
37 | font_features MonolisaNF-Italic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
38 | font_features MonolisaNF-Light calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
39 | font_features MonolisaNF-LightItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
40 | font_features MonolisaNF-Medium calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
41 | font_features MonolisaNF-MediumItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
42 | font_features MonolisaNF-SemiBold calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
43 | font_features MonolisaNF-SemiBoldItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
44 | font_features MonolisaNF-Thin calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
45 | font_features MonolisaNF-ThinItalic calt liga zero -ss01 ss02 -ss03 ss04 ss05 -ss06 -ss07 -ss08 -ss09 ss10 ss11 ss12 -ss13 ss14 ss15 ss16 ss17 ss18
46 |
47 | # font_features FiraCodeNFM-Reg ss02
48 | # font_features FiraCodeNFM-Med ss02
49 | # font_features FiraCodeNF-Ret ss02
50 |
51 | # background #1e1e1e
52 | background #14161b
53 | foreground #c8c8c8
54 |
55 | color0 #1E1E1E
56 | color8 #545c7e
57 | color1 #b2555b
58 | color9 #b2555b
59 | color2 #A6E3A1
60 | color10 #A6E3A1
61 | color3 #ff9e64
62 | color11 #e0af68
63 | color4 #6a92d7
64 | color12 #6a92d7
65 | color5 #bb9af7
66 | color13 #bb9af7
67 | color6 #7ccdfd
68 | color14 #7ccdfd
69 | color7 #c0caf5
70 | color15 #c0caf5
71 |
72 | ## Tab Bar
73 | tab_bar_edge top
74 | tab_bar_style fade
75 | tab_fade 0 1 1 1
76 |
77 | active_tab_foreground #c8c8c8
78 | active_tab_background #303030
79 | active_tab_font_style bold
80 | inactive_tab_foreground #808080
81 | inactive_tab_background #252525
82 | inactive_tab_font_style normal
83 |
84 | map ctrl+shift+t new_tab
85 | map ctrl+shift+w close_tab
86 | map ctrl+right next_tab
87 | map ctrl+left previous_tab
88 |
89 | map ctrl+shift+l next_tab
90 | map ctrl+shift+h previous_tab
91 | # map ctrl+shift+j new_tab
92 | # map ctrl+shift+k close_tab
93 |
94 |
--------------------------------------------------------------------------------
/wezterm.lua:
--------------------------------------------------------------------------------
1 | local wezterm = require("wezterm")
2 |
3 | local config = {}
4 |
5 | if wezterm.config_builder then
6 | config = wezterm.config_builder()
7 | end
8 |
9 | local fonts = {
10 | "MonoLisa",
11 | "Geist Mono",
12 | "SF Mono",
13 | "Monaspace Neon",
14 | "Monaspace Xenon",
15 | "Monaspace Krypton",
16 | "Monaspace Radon",
17 | "Monaspace Argon",
18 | "Comic Code Ligatures",
19 | -- "Liga SFMono Nerd Font",
20 | -- "Fira Code Retina",
21 | -- "DankMono Nerd Font",
22 | -- "Monego Ligatures",
23 | -- "Operator Mono Lig",
24 | -- "Gintronic",
25 | -- "Cascadia Code",
26 | -- "JetBrainsMono Nerd Font Mono",
27 | -- "Victor Mono",
28 | -- "Inconsolata",
29 | -- "TempleOS",
30 | -- "Apercu Pro",
31 | }
32 | local emoji_fonts = { "Apple Color Emoji", "Joypixels", "Twemoji", "Noto Color Emoji", "Noto Emoji" }
33 |
34 | -- https://www.monolisa.dev/playground
35 | -- https://fontdrop.info/#/?darkmode=true
36 | -- https://helpx.adobe.com/fonts/using/open-type-syntax.html
37 | -- SF Mono
38 | -- config.harfbuzz_features =
39 | -- { "-c2sc", "liga", "ccmp", "locl", "-smcp", "-ss03", "-ss04", "ss05", "ss06", "ss07", "-ss08", "-ss09" }
40 | -- Fira Code
41 | -- https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets
42 | -- config.harfbuzz_features = { "cv01", "cv02", "cv06", "cv10", "cv13", "ss01", "ss04", "ss05", "ss02" }
43 | -- monaspace
44 | -- config.harfbuzz_features =
45 | -- { "calt", "liga", "dlig", "zero", "ss01", "ss02", "ss03", "ss04", "ss05", "ss06", "ss07", "ss08" }
46 | -- geist /> === // 0O
47 | -- config.harfbuzz_features =
48 | -- { "calt", "liga", "dlig", "zero", "ss01", "ss02", "ss03", "ss04", "ss05", "ss06", "ss07", "ss08", "-ss09" }
49 | -- monolisa
50 | -- @ <=0xF \\ \n
51 | config.harfbuzz_features =
52 | { "calt", "liga", "zero", "-ss01", "ss02", "-ss03", "ss04", "ss05", "-ss06", "-ss07", "-ss08", "-ss09", "ss10", "ss11", "ss12", "-ss13", "ss14", "ss15", "ss16", "ss17", "ss18" }
53 | config.font = wezterm.font_with_fallback({ fonts[1], emoji_fonts[1], emoji_fonts[2] })
54 | -- config.disable_default_key_bindings = true
55 | config.front_end = "WebGpu"
56 | config.enable_scroll_bar = false
57 | config.scrollback_lines = 10240
58 | config.font_size = 18
59 | config.enable_tab_bar = false
60 | config.hide_tab_bar_if_only_one_tab = false
61 | config.automatically_reload_config = true
62 | config.default_cursor_style = "BlinkingBar"
63 | config.initial_cols = 80
64 | config.initial_rows = 25
65 | config.use_fancy_tab_bar = true
66 | config.tab_bar_at_bottom = false
67 | -- config.window_decorations = "RESIZE|TITLE"
68 | -- config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
69 | config.window_padding = {
70 | left = 30,
71 | right = 30,
72 | top = 30,
73 | bottom = 30,
74 | }
75 | config.window_frame = {
76 | font = wezterm.font({ family = "SF Mono" }),
77 | -- font = wezterm.font({ family = "Geist Mono" }),
78 | active_titlebar_bg = "#1e1e1e",
79 | inactive_titlebar_bg = "#1e1e1e",
80 | font_size = 15.0,
81 | }
82 |
83 | config.color_scheme = "OneDark (base16)"
84 | config.color_scheme = "OneDark"
85 | config.color_schemes = {
86 | ["OneDark"] = {
87 | foreground = "#f0f6fc",
88 | background = "#1e1e1e",
89 | -- background = "#21262d",
90 | -- background = "#1e1e2e",
91 | -- background = "#1a1b26",
92 | cursor_bg = "#b1cad8",
93 | cursor_fg = "#21262d",
94 | cursor_border = "#CF7277",
95 | selection_fg = "#21262d",
96 | selection_bg = "#2A4668",
97 | scrollbar_thumb = "#30363d",
98 | split = "#6e7681",
99 |
100 | ansi = {
101 | "#8b949e",
102 | "#ff7b72",
103 | "#aff5b4",
104 | "#FFE08C",
105 | "#79c0ff",
106 | "#d2a8ff",
107 | "#a5d6ff",
108 | "#c9d1d9",
109 | },
110 | brights = {
111 |
112 | "#8b949e",
113 | "#ff7b72",
114 | "#aff5b4",
115 | "#FFE08C",
116 | "#79c0ff",
117 | "#d2a8ff",
118 | "#a5d6ff",
119 | "#c9d1d9",
120 | },
121 | },
122 | }
123 |
124 | config.colors = {
125 | tab_bar = {
126 | background = "#808080",
127 | active_tab = {
128 | bg_color = "#1e1e1e",
129 | fg_color = "#c8c8c8",
130 | },
131 | inactive_tab = {
132 | bg_color = "#30363d",
133 | fg_color = "#8b949e",
134 | },
135 | inactive_tab_hover = {
136 | bg_color = "#484f58",
137 | fg_color = "#b1bac4",
138 | },
139 | new_tab = {
140 | bg_color = "#30363d",
141 | fg_color = "#8b949e",
142 | },
143 | new_tab_hover = {
144 | bg_color = "#484f58",
145 | fg_color = "#b1bac4",
146 | },
147 | },
148 | }
149 |
150 | -- local act = wezterm.action
151 |
152 | -- config.keys = {
153 | -- { key = "a", mods = "ctrl", action = act.ActivateTabRelative(-1) },
154 | -- { key = "b", mods = "ctrl", action = act.ActivateTabRelative(1) },
155 | -- }
156 |
157 | return config
158 |
159 |
--------------------------------------------------------------------------------
/cava/.config/cava/config:
--------------------------------------------------------------------------------
1 | ## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
2 |
3 |
4 | [general]
5 |
6 | # Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
7 | ; mode = normal
8 |
9 | # Accepts only non-negative values.
10 | ; framerate = 60
11 |
12 | # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
13 | # new as of 0.6.0 autosens of low values (dynamic range)
14 | # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
15 | ; autosens = 1
16 | ; overshoot = 20
17 |
18 | # Manual sensitivity in %. Autosens must be turned off for this to take effect.
19 | # 200 means double height. Accepts only non-negative values.
20 | ; sensitivity = 100
21 |
22 | # The number of bars (0-200). 0 sets it to auto (fill up console).
23 | # Bars' width and space between bars in number of characters.
24 | ; bars = 0
25 | ; bar_width = 2
26 | ; bar_spacing = 1
27 |
28 |
29 | # Lower and higher cutoff frequencies for lowest and highest bars
30 | # the bandwidth of the visualizer.
31 | # Note: there is a minimum total bandwidth of 43Mhz x number of bars.
32 | # Cava will automatically increase the higher cutoff if a too low band is specified.
33 | ; lower_cutoff_freq = 50
34 | ; higher_cutoff_freq = 10000
35 |
36 |
37 | # Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
38 | # only check for input once per second. Cava will wake up once input is detected. 0 = disable.
39 | ; sleep_timer = 0
40 |
41 |
42 | [input]
43 |
44 | # Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
45 | # Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
46 | #
47 | # All input methods uses the same config variable 'source'
48 | # to define where it should get the audio.
49 | #
50 | # For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
51 | # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
52 | #
53 | # For alsa 'source' will be the capture device.
54 | # For fifo 'source' will be the path to fifo-file.
55 | # For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
56 | ; method = pulse
57 | ; source = auto
58 |
59 | ; method = alsa
60 | ; source = hw:Loopback,1
61 |
62 | ; method = fifo
63 | ; source = /tmp/mpd.fifo
64 | ; sample_rate = 44100
65 | ; sample_bits = 16
66 |
67 | ; method = shmem
68 | ; source = /squeezelite-AA:BB:CC:DD:EE:FF
69 |
70 | ; method = portaudio
71 | ; source = auto
72 |
73 |
74 | [output]
75 |
76 | # Output method. Can be 'ncurses', 'noncurses' or 'raw'.
77 | # 'noncurses' uses a custom framebuffer technique and draws only changes
78 | # from frame to frame. 'ncurses' is default if supported
79 | #
80 | # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
81 | # stream of the bar heights that can be used to send to other applications.
82 | # 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
83 | ; method = ncurses
84 |
85 | # Visual channels. Can be 'stereo' or 'mono'.
86 | # 'stereo' mirrors both channels with low frequencies in center.
87 | # 'mono' outputs left to right lowest to highest frequencies.
88 | # 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
89 | ; channels = stereo
90 | ; mono_option = average
91 |
92 | # Raw output target. A fifo will be created if target does not exist.
93 | ; raw_target = /dev/stdout
94 |
95 | # Raw data format. Can be 'binary' or 'ascii'.
96 | ; data_format = binary
97 |
98 | # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
99 | ; bit_format = 16bit
100 |
101 | # Ascii max value. In 'ascii' mode range will run from 0 to value specified here
102 | ; ascii_max_range = 1000
103 |
104 | # Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
105 | # Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
106 | ; bar_delimiter = 59
107 | ; frame_delimiter = 10
108 |
109 |
110 |
111 | [color]
112 |
113 | # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
114 | # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
115 | # ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
116 | # if supported, ncurses mode will be forced on if user defined colors are used.
117 | # default is to keep current terminal color
118 | ; background = default
119 | ; foreground = default
120 |
121 | # Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
122 | # background must also be defined in hex or remain commented out. 1 = on, 0 = off.
123 | # You can define as many as 8 different colors. They range from bottom to top of screen
124 | gradient = 1
125 | gradient_count = 8
126 | gradient_color_1 = '#f7768e'
127 | gradient_color_2 = '#9d7cd8'
128 | gradient_color_3 = '#2ac3de'
129 | gradient_color_4 = '#0db9d7'
130 | gradient_color_5 = '#7dcfff'
131 | gradient_color_6 = '#ff9e64'
132 | gradient_color_7 = '#e0af68'
133 | gradient_color_8 = '#9ece6a'
134 |
135 |
136 |
137 | [smoothing]
138 |
139 | # Percentage value for integral smoothing. Takes values from 0 - 100.
140 | # Higher values means smoother, but less precise. 0 to disable.
141 | ; integral = 77
142 |
143 | # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
144 | ; monstercat = 0
145 | ; waves = 0
146 |
147 | # Set gravity percentage for "drop off". Higher values means bars will drop faster.
148 | # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
149 | ; gravity = 100
150 |
151 |
152 | # In bar height, bars that would have been lower that this will not be drawn.
153 | ; ignore = 0
154 |
155 |
156 | [eq]
157 |
158 | # This one is tricky. You can have as much keys as you want.
159 | # Remember to uncomment more then one key! More keys = more precision.
160 | # Look at readme.md on github for further explanations and examples.
161 | ; 1 = 1 # bass
162 | ; 2 = 1
163 | ; 3 = 1 # midtone
164 | ; 4 = 1
165 | ; 5 = 1 # treble
166 |
--------------------------------------------------------------------------------
/codium/.config/VSCodium/User/keybindings.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "key": "shift+ctrl+e",
4 | "command": "actions.findWithSelection"
5 | },
6 | {
7 | "key": "ctrl+e",
8 | "command": "-actions.findWithSelection"
9 | },
10 | {
11 | "key": "ctrl+e",
12 | "command": "workbench.view.explorer"
13 | },
14 | {
15 | "key": "shift+ctrl+e",
16 | "command": "-workbench.view.explorer"
17 | },
18 | {
19 | "key": "r",
20 | "command": "renameFile",
21 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
22 | },
23 | {
24 | "key": "enter",
25 | "command": "-renameFile",
26 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
27 | },
28 | {
29 | "key": "j",
30 | "command": "list.focusDown",
31 | "when": "listFocus && !inputFocus"
32 | },
33 | {
34 | "key": "k",
35 | "command": "list.focusUp",
36 | "when": "listFocus && !inputFocus"
37 | },
38 | {
39 | "key": "ctrl+j",
40 | "command": "selectNextSuggestion",
41 | "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
42 | },
43 | {
44 | "key": "ctrl+k",
45 | "command": "selectPrevSuggestion",
46 | "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
47 | },
48 | {
49 | "key": "ctrl+j",
50 | "command": "workbench.action.quickOpenNavigateNext",
51 | "when": "inQuickOpen"
52 | },
53 | {
54 | "key": "tab",
55 | "command": "selectNextSuggestion",
56 | "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
57 | },
58 | {
59 | "key": "tab",
60 | "command": "workbench.action.quickOpenNavigateNext",
61 | "when": "inQuickOpen"
62 | },
63 | {
64 | "key": "shift+tab",
65 | "command": "selectPrevSuggestion",
66 | "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
67 | },
68 | {
69 | "key": "shift+tab",
70 | "command": "selectPrevSuggestion",
71 | "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
72 | },
73 | {
74 | "key": "shift+tab",
75 | "command": "workbench.action.quickOpenNavigatePrevious",
76 | "when": "inQuickOpen"
77 | },
78 | {
79 | "key": "ctrl+k",
80 | "command": "workbench.action.quickOpenNavigatePrevious",
81 | "when": "inQuickOpen"
82 | },
83 | {
84 | "key": "enter",
85 | "command": "list.select",
86 | "when": "explorerViewletVisible && filesExplorerFocus"
87 | },
88 | {
89 | "key": "l",
90 | "command": "list.select",
91 | "when": "!inputFocus"
92 | },
93 | {
94 | "key": "o",
95 | "command": "list.toggleExpand",
96 | "when": "!inputFocus"
97 | },
98 | {
99 | "key": "h",
100 | "command": "list.collapse",
101 | "when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
102 | },
103 | {
104 | "key": "d",
105 | "command": "deleteFile",
106 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
107 | },
108 | {
109 | "key": "y",
110 | "command": "filesExplorer.copy",
111 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
112 | },
113 | {
114 | "key": "x",
115 | "command": "filesExplorer.cut",
116 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
117 | },
118 | {
119 | "key": "p",
120 | "command": "filesExplorer.paste",
121 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
122 | },
123 | {
124 | "key": "v",
125 | "command": "explorer.openToSide",
126 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
127 | },
128 | {
129 | "key": "a",
130 | "command": "explorer.newFile",
131 | "when": "filesExplorerFocus && !inputFocus"
132 | },
133 | {
134 | "key": "shift+a",
135 | "command": "explorer.newFolder",
136 | "when": "filesExplorerFocus && !inputFocus"
137 | },
138 | {
139 | "key": "shift+;",
140 | "command": "insertPrevSuggestion",
141 | "when": "hasOtherSuggestions && textInputFocus && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'"
142 | },
143 | {
144 | "key": "ctrl+l",
145 | "when": "sideBarFocus",
146 | "command": "workbench.action.focusActiveEditorGroup"
147 | },
148 | {
149 | "key": "ctrl+k",
150 | "command": "workbench.action.focusActiveEditorGroup",
151 | "when": "terminalFocus"
152 | },
153 | {
154 | "key": "ctrl+j",
155 | "command": "-editor.action.insertLineAfter",
156 | "when": "editorTextFocus && neovim.ctrlKeysInsert && !neovim.recording && neovim.mode == 'insert'"
157 | },
158 | {
159 | "key": "alt+j",
160 | "command": "workbench.action.terminal.focus",
161 | "when": "!terminalFocus"
162 | },
163 | {
164 | "key": "ctrl+t",
165 | "command": "workbench.action.togglePanel"
166 | },
167 | {
168 | "key": "ctrl+j",
169 | "command": "-workbench.action.togglePanel"
170 | },
171 | {
172 | "key": "shift+k",
173 | "command": "editor.action.showHover",
174 | "when": "editorTextFocus && neovim.mode != 'insert'"
175 | },
176 | {
177 | "key": "ctrl+k ctrl+i",
178 | "command": "-editor.action.showHover",
179 | "when": "editorTextFocus"
180 | },
181 | {
182 | "key": "shift+tab",
183 | "command": "-acceptAlternativeSelectedSuggestion",
184 | "when": "suggestWidgetVisible && textInputFocus && textInputFocus"
185 | },
186 | {
187 | "key": "ctrl+f",
188 | "command": "-vscode-neovim.ctrl-f",
189 | "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'"
190 | },
191 | {
192 | "key": "shift+delete",
193 | "command": "-deleteFile",
194 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
195 | },
196 | {
197 | "key": "shift+escape",
198 | "command": "notebook.cell.quitEdit",
199 | "when": "inputFocus && notebookEditorFocused && !editorHasSelection && !editorHoverVisible"
200 | },
201 | {
202 | "key": "escape",
203 | "command": "-notebook.cell.quitEdit",
204 | "when": "inputFocus && notebookEditorFocused && !editorHasSelection && !editorHoverVisible"
205 | },
206 | {
207 | "key": "ctrl+shift+l",
208 | "command": "workbench.action.increaseViewSize"
209 | },
210 | {
211 | "key": "ctrl+shift+h",
212 | "command": "workbench.action.decreaseViewSize"
213 | },
214 | {
215 | "key": "ctrl+shift+t",
216 | "command": "-workbench.action.reopenClosedEditor"
217 | },
218 | {
219 | "key": "ctrl+shift+t",
220 | "command": "workbench.action.toggleMaximizedPanel"
221 | },
222 | {
223 | "key": "space",
224 | "command": "whichkey.show",
225 | "when": "neovim.mode != 'insert' && !inputFocus"
226 | },
227 | ]
228 |
229 |
--------------------------------------------------------------------------------
/waybar/.config/waybar/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | /* `otf-font-awesome` is required to be installed for icons */
3 | font-family: 'Roboto Mono Medium', 'Ubuntu Nerd Font';
4 | font-size: 22;
5 | border: none;
6 | padding: 0;
7 | margin: 0;
8 | }
9 |
10 | window#waybar {
11 | background-color: rgba(0, 0, 0, 0.3);
12 | /* background-color: rgba(26, 27, 38, 0); */
13 | /* background-color: #1e1e1e; */
14 | /* background-color: #1e1e1e; */
15 | /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
16 | color: #ffffff;
17 | transition-property: background-color;
18 | transition-duration: 0.5s;
19 | }
20 |
21 | window#waybar.hidden {
22 | opacity: 0.2;
23 | }
24 |
25 | #workspaces {
26 | background-color: rgba(0, 0, 0, 0.15);
27 | border-radius: 10px;
28 | }
29 |
30 | #workspaces button {
31 | padding: 0 10px;
32 | /* padding-right: 10px; */
33 | background-color: transparent;
34 | color: #a9a9a9;
35 | /* Use box-shadow instead of border so the text isn't offset */
36 | box-shadow: inset 0 -3px transparent;
37 | /* Avoid rounded borders under each workspace name */
38 | border: none;
39 | border-radius: 0;
40 | }
41 |
42 | /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
43 | #workspaces button:hover {
44 | /* cursor: pointer; */
45 | border-radius: 10px;
46 | background: rgba(0, 0, 0, 0.2);
47 | /* box-shadow: inset 0 -3px #ffffff; */
48 | /* color: #bf616a; */
49 | color: #ffffff;
50 | }
51 |
52 | #workspaces button.focused {
53 | /* background-color: #64727d; */
54 | color: #ffffff;
55 | /* box-shadow: inset 0 -3px #ffffff; */
56 | }
57 |
58 | #workspaces button.active {
59 | /* color: #ff9e64; */
60 | color: #ffffff;
61 | }
62 |
63 | #workspaces button.urgent {
64 | background-color: #eb4d4b;
65 | }
66 |
67 | /* #mode { */
68 | /* background-color: #64727d; */
69 | /* border-bottom: 3px solid #ffffff; */
70 | /* } */
71 |
72 | #window {
73 | /* border-radius: 20px; */
74 | /* padding-left: 10px; */
75 | /* padding-right: 10px; */
76 | color: #64727d;
77 | }
78 |
79 | #clock,
80 | #battery,
81 | #cpu,
82 | #memory,
83 | #disk,
84 | #temperature,
85 | #backlight,
86 | #network,
87 | #pulseaudio,
88 | #custom-media,
89 | #tray,
90 | #mode,
91 | #idle_inhibitor,
92 | #mpd {
93 | padding: 0 10px;
94 | color: #ffffff;
95 | }
96 |
97 | #window,
98 | #workspaces {
99 | margin: 0 4px;
100 | }
101 |
102 | /* If workspaces is the leftmost module, omit left margin */
103 | .modules-left > widget:first-child > #workspaces {
104 | margin-left: 0;
105 | }
106 |
107 | /* If workspaces is the rightmost module, omit right margin */
108 | .modules-right > widget:last-child > #workspaces {
109 | margin-right: 0;
110 | }
111 |
112 | #clock {
113 | /* color: #c0caf5; */
114 | color: #ffffff;
115 | /* color: #bf616a; */
116 | }
117 |
118 | #clock:hover {
119 | /* cursor: pointer; */
120 | background: rgba(0, 0, 0, 0.2);
121 | /* border: None; */
122 | box-shadow: None;
123 | /* box-shadow: inset 0 -3px #ffffff; */
124 | /* color: #bf616a; */
125 | }
126 |
127 | #battery {
128 | color: #a3be8c;
129 | /* background-color: #90b1b1; */
130 | }
131 |
132 | #battery.charging,
133 | #battery.plugged {
134 | color: #26a65b;
135 | /* background-color: #26a65b; */
136 | }
137 |
138 | @keyframes blink {
139 | to {
140 | background-color: rgba(30, 34, 42, 0.5);
141 | color: #abb2bf;
142 | }
143 | }
144 |
145 | #battery.critical:not(.charging) {
146 | background-color: #f53c3c;
147 | color: #abb2bf;
148 | animation-name: blink;
149 | animation-duration: 0.5s;
150 | animation-timing-function: linear;
151 | animation-iteration-count: infinite;
152 | animation-direction: alternate;
153 | }
154 |
155 | label:focus {
156 | background-color: #000000;
157 | }
158 |
159 | #cpu {
160 | background-color: #2ecc71;
161 | color: #000000;
162 | }
163 |
164 | #memory {
165 | background-color: #9b59b6;
166 | }
167 |
168 | #disk {
169 | background-color: #964b00;
170 | }
171 |
172 | #backlight {
173 | /* background-color: #90b1b1; */
174 | color: #d7ba7d;
175 | }
176 |
177 | #network {
178 | padding: 2.5px;
179 | /* color: #1abc9c; */
180 | color: #ffffff;
181 | }
182 |
183 | #network:hover {
184 | /* cursor: pointer; */
185 | background: rgba(0, 0, 0, 0.2);
186 | /* border: None; */
187 | box-shadow: None;
188 | /* box-shadow: inset 0 -3px #ffffff; */
189 | /* color: #bf616a; */
190 | }
191 |
192 | #custom-launcher {
193 | color: #ffffff;
194 | /* border: None; */
195 | /* margin-right: 0px; */
196 | /* padding-right: 0px; */
197 | padding: 0 10px;
198 | }
199 |
200 | #custom-launcher:hover {
201 | /* padding-right: 1px; */
202 | /* cursor: pointer; */
203 | background: rgba(0, 0, 0, 0.2);
204 | /* border: None; */
205 | box-shadow: None;
206 | /* box-shadow: inset 0 -3px #ffffff; */
207 | /* color: #bf616a; */
208 | }
209 |
210 | #network.disconnected {
211 | background-color: #f53c3c;
212 | }
213 |
214 | #pulseaudio {
215 | /* padding: 1px; */
216 | /* background-color: #B48EAD; */
217 | /* color: #bb9af7; */
218 | color: #ffffff;
219 | }
220 |
221 | #pulseaudio:hover {
222 | /* cursor: pointer; */
223 | background: rgba(0, 0, 0, 0.2);
224 | /* border: None; */
225 | box-shadow: None;
226 | /* box-shadow: inset 0 -3px #ffffff; */
227 | /* color: #bf616a; */
228 | }
229 |
230 | #pulseaudio.muted {
231 | /* background-color: #90b1b1; */
232 | /* color: #2a5c45; */
233 | color: #f53c3c;
234 | }
235 |
236 | #custom-media {
237 | background-color: #66cc99;
238 | color: #2a5c45;
239 | min-width: 100px;
240 | }
241 |
242 | #custom-media.custom-spotify {
243 | background-color: #66cc99;
244 | }
245 |
246 | #custom-media.custom-vlc {
247 | background-color: #ffa000;
248 | }
249 |
250 | #temperature {
251 | background-color: #f0932b;
252 | }
253 |
254 | #temperature.critical {
255 | background-color: #eb4d4b;
256 | }
257 |
258 | #tray > .passive {
259 | -gtk-icon-effect: dim;
260 | }
261 |
262 | #tray > .needs-attention {
263 | -gtk-icon-effect: highlight;
264 | background-color: #eb4d4b;
265 | }
266 |
267 | #idle_inhibitor {
268 | background-color: #2d3436;
269 | }
270 |
271 | #idle_inhibitor.activated {
272 | background-color: #ecf0f1;
273 | color: #2d3436;
274 | }
275 |
276 | #mpd {
277 | background-color: #66cc99;
278 | color: #2a5c45;
279 | }
280 |
281 | #mpd.disconnected {
282 | background-color: #f53c3c;
283 | }
284 |
285 | #mpd.stopped {
286 | background-color: #90b1b1;
287 | }
288 |
289 | #mpd.paused {
290 | background-color: #51a37a;
291 | }
292 |
293 | #language {
294 | background: #00b093;
295 | color: #740864;
296 | padding: 0 5px;
297 | margin: 0 5px;
298 | min-width: 16px;
299 | }
300 |
301 | #keyboard-state {
302 | background: #97e1ad;
303 | color: #000000;
304 | padding: 0 0px;
305 | margin: 0 5px;
306 | min-width: 16px;
307 | }
308 |
309 | #keyboard-state > label {
310 | padding: 0 5px;
311 | }
312 |
313 | #custom-spotify {
314 | padding: 0 10px;
315 | margin: 0 4px;
316 | /* background-color: #1db954; */
317 | color: #abb2bf;
318 | }
319 |
320 | #keyboard-state > label.locked {
321 | background: rgba(0, 0, 0, 0.2);
322 | }
323 |
--------------------------------------------------------------------------------
/hyprland/.config/hypr/hyprland.conf:
--------------------------------------------------------------------------------
1 | monitor=DP-2,1920x1080@60,0x0,1
2 | monitor=DP-1,3840x2160@60,1920x0,1
3 | exec-once=waybar
4 | exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg
5 | exec-once=swaybg -o "DP-1" -i ~/Pictures/wallpapers/bigsur.jpg
6 | # exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/cat-waves.png
7 | exec-once=dunst
8 | # gsettings set org.gnome.desktop.interface gtk-theme "Orchis-Dark"
9 | # gsettings set org.gnome.desktop.wm.preferences theme "Orchis-dark"
10 | # gsettings set org.gnome.desktop.interface icon-theme "Arc-X-D"
11 |
12 | input {
13 |
14 | kb_options=caps:escape
15 | repeat_rate=50
16 | repeat_delay=240
17 |
18 | touchpad {
19 |
20 | disable_while_typing=1
21 | natural_scroll=1
22 | clickfinger_behavior=1
23 | middle_button_emulation=0
24 | tap-to-click=0
25 | }
26 | }
27 |
28 | gestures {
29 | workspace_swipe=true
30 | workspace_swipe_min_speed_to_force=4
31 | workspace_swipe_create_new=false
32 | workspace_swipe_forever=true
33 | }
34 |
35 | general {
36 |
37 | layout=master
38 | sensitivity=1.8 # for mouse cursor
39 | main_mod=SUPER
40 |
41 | gaps_in=5
42 | gaps_out=20
43 | border_size=2
44 | # col.active_border=0xff7aacdf
45 | # col.active_border=0x66ee8131
46 | col.active_border=0xff5e81ac
47 | col.inactive_border=0x66333333
48 |
49 | apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse)
50 | }
51 |
52 | decoration {
53 | rounding=10
54 | blur=1
55 | blur_size=3 # minimum 1
56 | blur_passes=1 # minimum 1, more passes = more resource intensive.
57 | # Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
58 | # if you want heavy blur, you need to up the blur_passes.
59 | # the more passes, the more you can up the blur_size without noticing artifacts.
60 | }
61 |
62 | animations {
63 | enabled=1
64 | animation=windows,1,7,default
65 | animation=fade,1,10,default
66 | animation=workspaces,1,6,default
67 | }
68 |
69 | dwindle {
70 | pseudotile=0 # enable pseudotiling on dwindle
71 | force_split=2
72 | # preserve_split=1
73 | }
74 |
75 | master {
76 | new_on_top=true
77 | no_gaps_when_only = true
78 | }
79 |
80 | misc {
81 | disable_hyprland_logo=true
82 | disable_splash_rendering=true
83 | mouse_move_enables_dpms=true
84 | }
85 |
86 | # example window rules
87 | # for windows named/classed as abc and xyz
88 | #windowrule=move 69 420,abc
89 | #windowrule=size 420 69,abc
90 | windowrule=tile,kitty
91 | windowrule=tile,reStream
92 | windowrule=tile,ffplay
93 | blurls=rofi
94 | # windowrule=pinned,class:^(kitty)$,title:^(kitty)$
95 | # windowrulev2 = opacity 0.80,class:^(kitty)$
96 | # windowrulev2 = opacity 0.80,class:^(kitty)$,title:^.*(nvim).*$
97 |
98 | windowrule=tile,librewolf
99 | windowrule=tile,discord
100 | windowrule=tile,spotify
101 | # windowrule=opacity 0.90,zsh
102 | # windowrule=opacity 0.90,kitty
103 | # windowrule=opacity 1,neovim
104 | windowrule=opacity 0.80,alacritty
105 | windowrule=opacity 0.80,rofi
106 | # windowrule=animation popin,kitty
107 | # windowrule=animation slide right,kitty
108 | windowrule=size 50%,pavucontrol
109 | windowrule=float,pavucontrol
110 | windowrule=center,pavucontrol
111 | windowrule=size 50%,blueman-manager
112 | windowrule=float,blueman-manager
113 | windowrule=center,blueman-manager
114 | #windowrule=pseudo,abc
115 | #windowrule=monitor 0,xyz
116 | # windowrule=opacity 0.2,kitty
117 | bindm=SUPER,mouse:272,movewindow
118 | bindm=SUPER,mouse:273,resizewindow
119 |
120 | # example binds
121 | bind=SUPER,Q,killactive
122 | bind=SUPER,F,fullscreen,1
123 | bind=SUPERSHIFT,F,fullscreen,0
124 | bind=SUPER,g,exec,/home/chris/.local/bin/toggle_gaps.sh
125 | bind=SUPER,s,exec,/home/chris/.local/bin/shorts.sh
126 | bind=SUPER,RETURN,exec,kitty
127 | bind=SUPER,C,killactive,
128 | bind=SUPERSHIFT,Q,exit,
129 | bind=SUPER,E,exec,pcmanfm
130 | bind=SUPER,P,exec,pavucontrol
131 | bind=SUPER,O,exec,obs
132 | bind=SUPER,W,killactive
133 | bind=SUPER,b,exec,brave
134 | bind=SUPERSHIFT,b,exec,/home/chris/.local/bin/toggle_waybar.sh
135 | bind=SUPERSHIFT,V,togglefloating,
136 | bind=SUPER,space,exec,rofi -show drun
137 | bind=SUPER,d,exec,blueman-manager
138 | # bindsym $mod+space exec wofi --show drun --insensitive --allow-images --prompt=""
139 | # bind=SUPER,P,pseudo,
140 | bind=SUPER,R,exec,/home/chris/Repos/reStream/reStream.sh
141 | bind=SUPER,ESCAPE,exec,sudo systemctl suspend
142 | bind=SUPER,Y,exec,grim -g "$(slurp)" - | swappy -f -
143 | bind=,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle
144 | bind=,XF86AudioLowerVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ -5%
145 | bind=,XF86AudioRaiseVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ +5%
146 | bind=,XF86AudioMicMute,exec,pactl set-source-mute @DEFAULT_SOURCE@ toggle
147 | # bind=,F10,exec,pactl set-source-mute @DEFAULT_SOURCE@ toggle
148 | bind=,F10,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle
149 | bind=,F11,exec,pactl set-sink-volume @DEFAULT_SINK@ -5%
150 | bind=,F12,exec,pactl set-sink-volume @DEFAULT_SINK@ +5%
151 | bind=,XF86MonBrightnessUp,exec,brightnessctl -q set +5% # increase screen brightness
152 | bind=,XF86MonBrightnessDown,exec,brightnessctl -q set 5%- # decrease screen brightnes
153 | bind=SUPERSHIFT,R,exec,wf-recorder -g "$(slurp)"
154 | bind=SUPERSHIFT,E,exec,wlogout
155 | # bind=SUPERSHIFT,L,exec,swaylock
156 |
157 | bind=SUPERSHIFT,RETURN,layoutmsg,swapwithmaster
158 | bind=SUPER,j,layoutmsg,cyclenext
159 | bind=SUPER,k,layoutmsg,cycleprev
160 |
161 | bind=SUPER,h,movefocus,l
162 | bind=SUPER,l,movefocus,r
163 |
164 | bind=SUPER,left,resizeactive,-40 0
165 | bind=SUPER,right,resizeactive,40 0
166 |
167 | bind=SUPERSHIFT,h,movewindow,l
168 | bind=SUPERSHIFT,l,movewindow,r
169 | bind=SUPERSHIFT,k,movewindow,u
170 | bind=SUPERSHIFT,j,movewindow,d
171 |
172 | # bind=SUPER,s,movetoworkspace,special
173 | # bind=SUPER,n,togglespecialworkspace,
174 |
175 | wsbind=1,DP-1
176 | wsbind=2,DP-1
177 | wsbind=3,DP-1
178 | wsbind=4,DP-1
179 | wsbind=5,DP-1
180 | wsbind=6,DP-1
181 | wsbind=7,DP-1
182 | wsbind=8,DP-1
183 | wsbind=9,DP-2
184 |
185 | workspace=DP-1,1
186 | # workspace=DP-1,2
187 | # workspace=DP-1,3
188 | # workspace=DP-1,4
189 | # workspace=DP-1,5
190 | # workspace=DP-1,6
191 | # workspace=DP-1,7
192 | # workspace=DP-1,8
193 | workspace=DP-2,9
194 |
195 | bind=SUPER,1,focusmonitor,DP-1
196 | bind=SUPER,1,workspace,1
197 | bind=SUPER,2,focusmonitor,DP-1
198 | bind=SUPER,2,workspace,2
199 | bind=SUPER,3,focusmonitor,DP-1
200 | bind=SUPER,3,workspace,3
201 | bind=SUPER,4,focusmonitor,DP-1
202 | bind=SUPER,4,workspace,4
203 | bind=SUPER,5,focusmonitor,DP-1
204 | bind=SUPER,5,workspace,5
205 | bind=SUPER,6,focusmonitor,DP-1
206 | bind=SUPER,6,workspace,6
207 | bind=SUPER,7,focusmonitor,DP-1
208 | bind=SUPER,7,workspace,7
209 | bind=SUPER,8,focusmonitor,DP-1
210 | bind=SUPER,8,workspace,8
211 | bind=SUPER,9,focusmonitor,DP-2
212 | bind=SUPER,9,workspace,9
213 |
214 | bind=SUPERSHIFT,1,movetoworkspacesilent,1
215 | bind=SUPERSHIFT,2,movetoworkspacesilent,2
216 | bind=SUPERSHIFT,3,movetoworkspacesilent,3
217 | bind=SUPERSHIFT,4,movetoworkspacesilent,4
218 | bind=SUPERSHIFT,5,movetoworkspacesilent,5
219 | bind=SUPERSHIFT,6,movetoworkspacesilent,6
220 | bind=SUPERSHIFT,7,movetoworkspacesilent,7
221 | bind=SUPERSHIFT,8,movetoworkspacesilent,8
222 | bind=SUPERSHIFT,9,movetoworkspacesilent,9
223 | bind=SUPERSHIFT,0,movetoworkspacesilent,10
224 |
225 |
226 | # bind=SUPER,left,resizeactive,-20 0
227 | # bind=SUPER,right,resizeactive,20 0
228 |
229 |
230 |
--------------------------------------------------------------------------------
/picom/.config/picom/picom.conf:
--------------------------------------------------------------------------------
1 | #################################
2 | #
3 | # Backend
4 | #
5 | #################################
6 |
7 | # Backend to use: "xrender" or "glx".
8 | # GLX backend is typically much faster but depends on a sane driver.
9 | # backend = "xrender";
10 | backend = "glx";
11 | # backend = "xrender"
12 |
13 | #################################
14 | #
15 | # GLX backend
16 | #
17 | #################################
18 |
19 | glx-no-stencil = false;
20 |
21 | # GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
22 | # My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
23 | # but a 20% increase when only 1/4 is.
24 | # My tests on nouveau show terrible slowdown.
25 | glx-copy-from-front = false;
26 |
27 | # GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
28 | # My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
29 | # May break VSync and is not available on some drivers.
30 | # Overrides --glx-copy-from-front.
31 | # glx-use-copysubbuffermesa = true;
32 |
33 | # GLX backend: Avoid rebinding pixmap on window damage.
34 | # Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
35 | # Recommended if it works.
36 | # glx-no-rebind-pixmap = true;
37 |
38 | # GLX backend: GLX buffer swap method we assume.
39 | # Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
40 | # undefined is the slowest and the safest, and the default value.
41 | # copy is fastest, but may fail on some drivers,
42 | # 2-6 are gradually slower but safer (6 is still faster than 0).
43 | # Usually, double buffer means 2, triple buffer means 3.
44 | # buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
45 | # Useless with --glx-use-copysubbuffermesa.
46 | # Partially breaks --resize-damage.
47 | # Defaults to undefined.
48 | #glx-swap-method = "undefined";
49 |
50 | #################################
51 | #
52 | # Shadows
53 | #
54 | #################################
55 | # shadow = true;
56 | # no-dnd-shadow = true;
57 | # no-dock-shadow = true;
58 | # clear-shadow = true;
59 | # shadow-radius = 10;
60 | # shadow-offset-x = 0;
61 | # shadow-offset-y = 0;
62 |
63 | log-level = "warn";
64 | #change your username here
65 | #log-file = "/home/erik/.config/compton.log";
66 |
67 | # The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
68 | # (most applications are fine, only apps that do weird things with xshapes or argb are affected).
69 | # This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
70 | shadow-exclude = [
71 | "! name~=''",
72 | "name = 'Notification'",
73 | "name = 'Plank'",
74 | "name = 'Docky'",
75 | "name = 'Kupfer'",
76 | "name = 'xfce4-notifyd'",
77 | "name *= 'VLC'",
78 | "name *= 'compton'",
79 | # "name *= 'Chromium'",
80 | # "name *= 'Chrome'",
81 | # "class_g = 'Firefox' && argb",
82 | "class_g = 'Conky'",
83 | "class_g = 'Kupfer'",
84 | "class_g = 'Synapse'",
85 | "class_g ?= 'Notify-osd'",
86 | "class_g ?= 'Cairo-dock'",
87 | "class_g = 'Cairo-clock'",
88 | "class_g ?= 'Xfce4-notifyd'",
89 | "class_g ?= 'Xfce4-power-manager'",
90 | # "_GTK_FRAME_EXTENTS@:c",
91 | # "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
92 | ];
93 | # Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
94 | shadow-ignore-shaped = false;
95 |
96 | #################################
97 | #
98 | # Opacity
99 | #
100 | #################################
101 |
102 | # inactive-opacity = 1;
103 | # active-opacity = 1;
104 | # frame-opacity = 1;
105 | # inactive-opacity-override = false;
106 |
107 | # Dim inactive windows. (0.0 - 1.0)
108 | # inactive-dim = 0.2;
109 | # Do not let dimness adjust based on window opacity.
110 | # inactive-dim-fixed = true;
111 | # Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
112 | corner-radius = 5;
113 | # blur-background = true;
114 | # # blur
115 | # blur: {
116 | # method = "dual_kawase";
117 | # strength = 12;
118 | # background = true;
119 | # background-frame = true;
120 | # background-fixed = false;
121 | # kern = "3x3box";
122 | # }
123 | # blur:
124 | # {
125 | # method = "kawase";
126 | # strength = 100;
127 | # background = true;
128 | # background-frame = true;
129 | # background-fixed = true;
130 | # }
131 | # Blur background of opaque windows with transparent frames as well.
132 | # blur-background-frame = true;
133 | # Do not let blur radius adjust based on window opacity.
134 | # blur-background-fixed = true;
135 | blur-background-exclude = [
136 | "window_type = 'dock'",
137 | "window_type = 'desktop'",
138 | "_GTK_FRAME_EXTENTS@:c"
139 | ];
140 |
141 | #################################
142 | #
143 | # Fading
144 | #
145 | #################################
146 |
147 | # Fade windows during opacity changes.
148 | fading = true;
149 | # The time between steps in a fade in milliseconds. (default 10).
150 | fade-delta = 3;
151 | # Opacity change between steps while fading in. (default 0.028).
152 | fade-in-step = 0.03;
153 | # Opacity change between steps while fading out. (default 0.03).
154 | fade-out-step = 0.03;
155 | # Fade windows in/out when opening/closing
156 | # no-fading-openclose = true;
157 |
158 | # Specify a list of conditions of windows that should not be faded.
159 | fade-exclude = [ ];
160 |
161 | #################################
162 | #
163 | # Other
164 | #
165 | #################################
166 |
167 | # Try to detect WM windows and mark them as active.
168 | mark-wmwin-focused = true;
169 | # Mark all non-WM but override-redirect windows active (e.g. menus).
170 | mark-ovredir-focused = true;
171 | # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
172 | # Usually more reliable but depends on a EWMH-compliant WM.
173 | use-ewmh-active-win = true;
174 | # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
175 | detect-rounded-corners = true;
176 |
177 | # Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
178 | # This prevents opacity being ignored for some apps.
179 | # For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
180 | detect-client-opacity = true;
181 |
182 | # Specify refresh rate of the screen.
183 | # If not specified or 0, compton will try detecting this with X RandR extension.
184 | refresh-rate = 0;
185 |
186 | # Vertical synchronization: match the refresh rate of the monitor
187 | # this breaks transparency in virtualbox - put a "#" before next line to fix that
188 | vsync = false;
189 |
190 | # Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
191 | # Reported to have no effect, though.
192 | dbe = false;
193 |
194 | # Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
195 | # This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
196 | # unless you wish to specify a lower refresh rate than the actual value.
197 | #sw-opti = true;
198 |
199 | # Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
200 | # Known to cause flickering when redirecting/unredirecting windows.
201 | unredir-if-possible = false;
202 |
203 | # Specify a list of conditions of windows that should always be considered focused.
204 | focus-exclude = [ ];
205 |
206 | # Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
207 | detect-transient = true;
208 | # Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
209 | # WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
210 | detect-client-leader = true;
211 |
212 | #################################
213 | #
214 | # Window type settings
215 | #
216 | #################################
217 |
218 | wintypes:
219 | {
220 | tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true;};
221 | dock = { shadow = false; }
222 | dnd = { shadow = false; }
223 | popup_menu = { opacity = 0.9; }
224 | dropdown_menu = { opacity = 0.9; }
225 | };
226 |
227 | rounded-corners-exclude = [
228 | "class_g = 'dwm'",
229 | "class_g = 'dwmsystray'",
230 | "window_type = 'dock'"
231 | ];
232 |
233 | ######################
234 | #
235 | # XSync
236 | # See: https://github.com/yshui/compton/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
237 | #
238 | ######################
239 |
240 | # Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
241 | xrender-sync-fence = false;
242 |
243 | opacity-rule = [
244 | # "90:class_g = 'alacitty' && focused",
245 | # "60:class_g = 'alacitty' && !focused"
246 | # "100:name *?= 'zsh' && focused",
247 | "100:name *?= 'nvim'",
248 | "100:name *?= 'vim'",
249 | "100:name *?= 'vi'",
250 | "100:name *?= 'nano'",
251 | "90:class_g = 'Alacritty'",
252 | # "95:class_g = 'st'",
253 | "95:class_g = 'Dunst'",
254 | "100:class_g = 'dwm'",
255 | "100:class_g = 'dwmsystray'",
256 | "90:class_g = 'kitty'"
257 | ];
258 |
259 | # blur:{ method = "dual_kawase"; strength = 3;}
260 |
261 |
--------------------------------------------------------------------------------
/sway/.config/sway/config:
--------------------------------------------------------------------------------
1 | # https://github.com/swaywm/sway/wiki
2 |
3 | ### Dynamic behavior
4 | exec_always $HOME/.local/bin/i3ipc-dynamic-tiling --tabbed-hide-polybar true
5 | ### Autotiling
6 | # exec_always autotiling
7 |
8 | exec nm-applet --indicator
9 | exec libinput-gestures-setup autostart start
10 | exec protonmail-bridge
11 | exec pcloudcc -u chris.machine@pm.me -m ~/Cloud -d
12 | exec blueman-applet
13 | exec pasystray &
14 | exec sh $HOME/.config/sway/export_vars.sh
15 |
16 | ### Clamshell Mode
17 | set $laptop eDP-1
18 | bindswitch --reload --locked lid:on output $laptop disable
19 | bindswitch --reload --locked lid:off output $laptop enable
20 | # exec_always $HOME/.local/bin/sway_toggle_laptop
21 |
22 | ### use xwayland
23 | xwayland enable
24 | exec mako
25 |
26 | ### Variables
27 |
28 | set $mod Mod4
29 | # set $mod Mod1 # Alt
30 |
31 | workspace_auto_back_and_forth yes
32 | show_marks yes
33 |
34 | set $left h
35 | set $down j
36 | set $up k
37 | set $right l
38 |
39 | set $term kitty
40 | set $browser brave
41 | set $music spotify
42 | set $files io.elementary.files
43 | set $email thunderbird
44 | # set $record wf-recorder --audio --file=$HOME/Video/recordings/recording_with_audio.mp4
45 |
46 | # set $menu dmenu_path | dmenu | xargs swaymsg exec --
47 |
48 | ### Output configuration
49 | #
50 | # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
51 | # output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
52 | output * bg $HOME/Pictures/wallpapers/GO2KU7M.jpg fill
53 | # feh --bg-fill --randomize ~/Pictures/wallpapers/* &
54 |
55 | #
56 | # Example configuration:
57 | #
58 | # output HDMI-A-1 resolution 1920x1080 position 1920,0
59 | #
60 | # You can get the names of your outputs by running: swaymsg -t get_outputs
61 |
62 | ### Idle configuration
63 | #
64 | # Example configuration:
65 | #
66 | exec swayidle -w \
67 | timeout 2700 'swaylock -f -c 000000' \
68 | timeout 5400 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
69 | before-sleep 'swaylock -f -c 000000'
70 | #
71 | # This will lock your screen after 45 mins of inactivity, then turn off
72 | # your displays after another 45 mins, and turn your screens back on when
73 | # resumed. It will also lock your screen before your computer goes to sleep.
74 |
75 | ### Input configuration
76 |
77 | input "type:keyboard" {
78 | repeat_delay 210
79 | repeat_rate 40
80 | xkb_options caps:escape
81 | }
82 |
83 | input "type:touchpad" {
84 | natural_scroll enabled
85 | dwt enabled
86 | middle_emulation disabled
87 | click_method clickfinger
88 | tap enabled
89 | tap_button_map lrm
90 | }
91 |
92 | # You can get the names of your inputs by running: swaymsg -t get_inputs
93 |
94 | ### Key bindings
95 | #
96 | # Basics:
97 | #
98 | # Start a terminal
99 | bindsym $mod+Return exec $term
100 |
101 | # Kill focused window
102 | bindsym $mod+q kill
103 |
104 | # Start your launcher
105 | # bindsym $mod+d exec $menu
106 | bindsym $mod+space exec wofi --show drun --insensitive --allow-images --prompt=""
107 |
108 | # Drag floating windows by holding down $mod and left mouse button.
109 | # Resize them with right mouse button + $mod.
110 | # Despite the name, also works for non-floating windows.
111 | # Change normal to inverse to use left mouse button for resizing and right
112 | # mouse button for dragging.
113 | floating_modifier $mod normal
114 |
115 | # Reload the configuration file
116 | bindsym $mod+Shift+c reload
117 |
118 | # Exit sway (logs you out of your Wayland session)
119 | # bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
120 |
121 | # Logout
122 | bindsym $mod+Shift+e exec wlogout
123 |
124 | #
125 | # Moving around:
126 | #
127 |
128 | # Focus next cycle.
129 | bindsym $mod+j nop i3ipc_focus next
130 |
131 | # Move next.
132 | # bindsym $mod+shift+j nop i3ipc_move next
133 |
134 | # Focus previous cycle.
135 | bindsym $mod+k nop i3ipc_focus prev
136 |
137 | # Move previous.
138 | # bindsym $mod+shift+k nop i3ipc_move prev
139 |
140 | # Focus previous window toggle.
141 | bindsym $mod+i nop i3ipc_focus toggle
142 |
143 | # Focus the other container.
144 | bindsym $mod+o nop i3ipc_focus other
145 |
146 | # Move to the other container.
147 | bindsym $mod+shift+o nop i3ipc_move other
148 |
149 | # Swap window with the other container.
150 | bindsym $mod+Shift+Return nop i3ipc_move swap
151 |
152 | # Toggle tabbed mode.
153 | bindsym $mod+Shift+t nop i3ipc_tabbed_toggle
154 |
155 | # Toggle fullscreen mode.
156 | bindsym $mod+Shift+f fullscreen toggle
157 |
158 | # Toggle monocle mode.
159 | bindsym $mod+f nop i3ipc_monocle_toggle
160 |
161 | # Toggle workspace.
162 | bindsym $mod+Tab workspace back_and_forth
163 |
164 | # Move your focus around
165 | bindsym $mod+$left focus left
166 | # bindsym $mod+$down focus down
167 | # bindsym $mod+$up focus up
168 | bindsym $mod+$right focus right
169 |
170 | # Arrow keys
171 | bindsym Shift+Left exec swaymsg -t command workspace prev_on_output
172 | bindsym Shift+Right exec swaymsg -t command workspace next_on_output
173 | bindsym $mod+Left exec swaymsg -t command workspace prev_on_output
174 | bindsym $mod+Right exec swaymsg -t command workspace next_on_output
175 | bindsym $mod+Up exec --no-startup-id pactl set-sink-volume 0 +5%
176 | bindsym $mod+Down exec --no-startup-id pactl set-sink-volume 0 -5%
177 |
178 | # Swap Windows
179 | bindsym $mod+Shift+$left mark --add "_swap", focus left, swap container with mark "_swap", focus left, unmark "_swap"
180 | bindsym $mod+Shift+$down mark --add "_swap", focus down, swap container with mark "_swap", focus down, unmark "_swap"
181 | bindsym $mod+Shift+$up mark --add "_swap", focus up, swap container with mark "_swap", focus up, unmark "_swap"
182 | bindsym $mod+Shift+$right mark --add "_swap", focus right, swap container with mark "_swap", focus right, unmark "_swap"
183 |
184 |
185 | # Move the focused window with the same, but add Shift
186 | bindsym $mod+Shift+Left move left
187 | bindsym $mod+Shift+Down move down
188 | bindsym $mod+Shift+Up move up
189 | bindsym $mod+Shift+Right move right
190 |
191 | # Brightness controls
192 | bindsym XF86MonBrightnessUp exec brightnessctl -q set +5% # increase screen brightness
193 | bindsym XF86MonBrightnessDown exec brightnessctl -q set 5%- # decrease screen brightnes
194 |
195 | # Pulse Audio controls
196 | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
197 | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
198 | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
199 | #
200 | # Workspaces:
201 | #
202 | # Switch to workspace
203 | bindsym $mod+1 workspace number 1
204 | bindsym $mod+2 workspace number 2
205 | bindsym $mod+3 workspace number 3
206 | bindsym $mod+4 workspace number 4
207 | bindsym $mod+5 workspace number 5
208 | bindsym $mod+6 workspace number 6
209 | bindsym $mod+7 workspace number 7
210 | bindsym $mod+8 workspace number 8
211 | bindsym $mod+9 workspace number 9
212 | bindsym $mod+0 workspace number 10
213 | # Move focused container to workspace
214 | bindsym $mod+Shift+1 move container to workspace number 1
215 | bindsym $mod+Shift+2 move container to workspace number 2
216 | bindsym $mod+Shift+3 move container to workspace number 3
217 | bindsym $mod+Shift+4 move container to workspace number 4
218 | bindsym $mod+Shift+5 move container to workspace number 5
219 | bindsym $mod+Shift+6 move container to workspace number 6
220 | bindsym $mod+Shift+7 move container to workspace number 7
221 | bindsym $mod+Shift+8 move container to workspace number 8
222 | bindsym $mod+Shift+9 move container to workspace number 9
223 | bindsym $mod+Shift+0 move container to workspace number 10
224 | # Note: workspaces can have any name you want, not just numbers.
225 | # We just use 1-10 as the default.
226 | #
227 | # Layout stuff:
228 | #
229 | # You can "split" the current object of your focus with
230 | # $mod+b or $mod+v, for horizontal and vertical splits
231 | # respectively.
232 | # bindsym $mod+b splith
233 | # bindsym $mod+v splitv
234 |
235 | bindsym $mod+w exec $browser
236 | bindsym $mod+m exec $music
237 | bindsym $mod+b exec $email
238 | bindsym $mod+e exec $files
239 | # bindsym $mod+v exec $record
240 |
241 | # Switch the current container between different layout styles
242 | # bindsym $mod+s layout stacking
243 | # bindsym $mod+w layout tabbed
244 | bindsym $mod+t layout toggle split
245 |
246 | # Make the current focus fullscreen
247 | # bindsym $mod+f fullscreen
248 |
249 | bindsym $mod+y exec grim -g "$(slurp)" - | swappy -f -
250 |
251 | # Toggle the current focus between tiling and floating mode
252 | bindsym $mod+semicolon floating toggle
253 |
254 | # Swap focus between the tiling area and the floating area
255 | bindsym $mod+Shift+semicolon focus mode_toggle
256 |
257 | # Move focus to the parent container
258 | bindsym $mod+a focus parent
259 | #
260 | # Scratchpad:
261 | #
262 | # Sway has a "scratchpad", which is a bag of holding for windows.
263 | # You can send windows there and get them back later.
264 |
265 | # Move the currently focused window to the scratchpad
266 | bindsym $mod+Shift+minus move scratchpad
267 |
268 | # Show the next scratchpad window or hide the focused scratchpad window.
269 | # If there are multiple scratchpad windows, this command cycles through them.
270 | bindsym $mod+minus scratchpad show
271 | #
272 | # Resizing containers:
273 | #
274 | mode "resize" {
275 | # left will shrink the containers width
276 | # right will grow the containers width
277 | # up will shrink the containers height
278 | # down will grow the containers height
279 | bindsym $left resize shrink width 10px
280 | bindsym $down resize grow height 10px
281 | bindsym $up resize shrink height 10px
282 | bindsym $right resize grow width 10px
283 |
284 | # Ditto, with arrow keys
285 | bindsym Left resize shrink width 10px
286 | bindsym Down resize grow height 10px
287 | bindsym Up resize shrink height 10px
288 | bindsym Right resize grow width 10px
289 |
290 | # Return to default mode
291 | bindsym Return mode "default"
292 | bindsym Escape mode "default"
293 | }
294 | bindsym $mod+r mode "resize"
295 |
296 | ### No titlebars
297 | # default_border none
298 | default_border pixel 3
299 | for_window [title="^.*"] title_format " "
300 | #default_border normal 0
301 | # default_floating_border normal 0
302 | default_border pixel 3
303 |
304 | ### Gaps
305 |
306 | gaps inner 10
307 | gaps outer 10
308 | gaps horizontal 10
309 | gaps vertical 10
310 | gaps top 10
311 | gaps right 10
312 | gaps bottom 10
313 | gaps left 10
314 |
315 | ### Opacity
316 | # set $opacity 0.97
317 | # for_window [class="kitty"] opacity $opacity
318 | # for_window [class="nvim"] opacity 1
319 | # for_window [app_id="nvim"] opacity .5
320 |
321 | ### Status Bar:
322 |
323 | bar {
324 | swaybar_command waybar
325 | }
326 |
327 | # bar {
328 | # position top
329 | #
330 | # # When the status_command prints a new line to stdout, swaybar updates.
331 | # # The default just shows the current date and time.
332 | # status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
333 | #
334 | # colors {
335 | # statusline #ffffff
336 | # background #323232
337 | # inactive_workspace #32323200 #32323200 #5c5c5c
338 | # }
339 | # }
340 |
341 | seat * hide_cursor when-typing enable
342 | # seat * hide_cursor 8000
343 |
344 | include /etc/sway/config.d/*
345 |
--------------------------------------------------------------------------------
/amfora/.config/amfora/config.toml:
--------------------------------------------------------------------------------
1 | # This is the default config file.
2 | # It also shows all the default values, if you don't create the file.
3 |
4 | # All URL values may omit the scheme and/or port, as well as the beginning double slash
5 | # Valid URL examples:
6 | # gemini://example.com
7 | # //example.com
8 | # example.com
9 | # example.com:123
10 |
11 |
12 | [a-general]
13 | # Press Ctrl-H to access it
14 | home = "gemini://gemini.circumlunar.space"
15 |
16 | # Follow up to 5 Gemini redirects without prompting.
17 | # A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
18 | # If set to false, a prompt will be shown before following redirects.
19 | auto_redirect = false
20 |
21 | # What command to run to open a HTTP(S) URL.
22 | # Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
23 | # If a command is set, than the URL will be added (in quotes) to the end of the command.
24 | # A space will be prepended to the URL.
25 | #
26 | # The best to define a command is using a string array.
27 | # Examples:
28 | # http = ['firefox']
29 | # http = ['custom-browser', '--flag', '--option=2']
30 | # http = ['/path/with spaces/in it/firefox']
31 | #
32 | # Note the use of single quotes, so that backslashes will not be escaped.
33 | # Using just a string will also work, but it is deprecated, and will degrade if
34 | # you use paths with spaces.
35 |
36 | http = 'librewolf'
37 |
38 | # Any URL that will accept a query string can be put here
39 | search = "gemini://geminispace.info/search"
40 |
41 | # Whether colors will be used in the terminal
42 | color = true
43 |
44 | # Whether ANSI color codes from the page content should be rendered
45 | ansi = true
46 |
47 | # Whether to replace list asterisks with unicode bullets
48 | bullets = true
49 |
50 | # Whether to show link after link text
51 | show_link = false
52 |
53 | # A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up.
54 | left_margin = 0.10
55 |
56 | # The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
57 | max_width = 140
58 |
59 | # 'downloads' is the path to a downloads folder.
60 | # An empty value means the code will find the default downloads folder for your system.
61 | # If the path does not exist it will be created.
62 | # Note the use of single quotes, so that backslashes will not be escaped.
63 | downloads = ''
64 |
65 | # Max size for displayable content in bytes - after that size a download window pops up
66 | page_max_size = 2097152 # 2 MiB
67 | # Max time it takes to load a page in seconds - after that a download window pops up
68 | page_max_time = 10
69 |
70 | # Whether to replace tab numbers with emoji favicons, which are cached.
71 | emoji_favicons = true
72 |
73 | # When a scrollbar appears. "never", "auto", and "always" are the only valid values.
74 | # "auto" means the scrollbar only appears when the page is longer than the window.
75 | scrollbar = "auto"
76 |
77 |
78 | [auth]
79 | # Authentication settings
80 | # Note the use of single quotes for values, so that backslashes will not be escaped.
81 |
82 | [auth.certs]
83 | # Client certificates
84 | # Set domain name equal to path to client cert
85 | # "example.com" = 'mycert.crt'
86 |
87 | [auth.keys]
88 | # Client certificate keys
89 | # Set domain name equal to path to key for the client cert above
90 | # "example.com" = 'mycert.key'
91 |
92 |
93 | [keybindings]
94 | # If you have a non-US keyboard, use bind_tab1 through bind_tab0 to
95 | # setup the shift-number bindings: Eg, for US keyboards (the default):
96 | # bind_tab1 = "!"
97 | # bind_tab2 = "@"
98 | # bind_tab3 = "#"
99 | # bind_tab4 = "$"
100 | # bind_tab5 = "%"
101 | # bind_tab6 = "^"
102 | # bind_tab7 = "&"
103 | # bind_tab8 = "*"
104 | # bind_tab9 = "("
105 | # bind_tab0 = ")"
106 |
107 | # Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys.
108 | # Multiple keys can be bound to one command, just use a TOML array.
109 | # To add the Alt modifier, the binding must start with Alt-, should be reasonably universal
110 | # Ctrl- won't work on all keys, see this for a list:
111 | # https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83
112 |
113 | # An example of a TOML array for multiple keys being bound to one command is the default
114 | # binding for reload:
115 | # bind_reload = ["R","Ctrl-R"]
116 | # One thing to note here is that "R" is capitalization sensitive, so it means shift-r.
117 | # "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on
118 | # an ANSI terminal)
119 |
120 | # The default binding for opening the bottom bar for entering a URL or link number is:
121 | # bind_bottom = "Space"
122 | # This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work.
123 | # And, finally, an example of a simple, unmodified character is:
124 | # bind_edit = "e"
125 | # This binds the "e" key to the command to edit the current URL.
126 |
127 | # The bind_link[1-90] options are for the commands to go to the first 10 links on a page,
128 | # typically these are bound to the number keys:
129 | # bind_link1 = "1"
130 | # bind_link2 = "2"
131 | # bind_link3 = "3"
132 | # bind_link4 = "4"
133 | # bind_link5 = "5"
134 | # bind_link6 = "6"
135 | # bind_link7 = "7"
136 | # bind_link8 = "8"
137 | # bind_link9 = "9"
138 | # bind_link0 = "0"
139 |
140 | # All keybindings:
141 | #
142 | # bind_bottom
143 | # bind_edit
144 | # bind_home
145 | # bind_bookmarks
146 | # bind_add_bookmark
147 | # bind_save
148 | # bind_reload
149 | # bind_back
150 | # bind_forward
151 | # bind_pgup
152 | # bind_pgdn
153 | # bind_new_tab
154 | # bind_close_tab
155 | # bind_next_tab
156 | # bind_prev_tab
157 | # bind_quit
158 | # bind_help
159 | # bind_sub: for viewing the subscriptions page
160 | # bind_add_sub
161 |
162 | [url-handlers]
163 | # Allows setting the commands to run for various URL schemes.
164 | # E.g. to open FTP URLs with FileZilla set the following key:
165 | # ftp = 'filezilla'
166 | # You can set any scheme to "off" or "" to disable handling it, or
167 | # just leave the key unset.
168 | #
169 | # DO NOT use this for setting the HTTP command.
170 | # Use the http setting in the "a-general" section above.
171 | #
172 | # NOTE: These settings are overrided by the ones in the proxies section.
173 | # Note the use of single quotes, so that backslashes will not be escaped.
174 |
175 | # This is a special key that defines the handler for all URL schemes for which
176 | # no handler is defined.
177 | other = 'off'
178 |
179 |
180 | # [[mediatype-handlers]] section
181 | # ---------------------------------
182 | #
183 | # Specify what applications will open certain media types.
184 | # By default your default application will be used to open the file when you select "Open".
185 | # You only need to configure this section if you want to override your default application,
186 | # or do special things like streaming.
187 | #
188 | # Note the use of single quotes for commands, so that backslashes will not be escaped.
189 | #
190 | #
191 | # To open jpeg files with the feh command:
192 | #
193 | # [[mediatype-handlers]]
194 | # cmd = ['feh']
195 | # types = ["image/jpeg"]
196 | #
197 | # Each command that you specify must come under its own [[mediatype-handlers]]. You may
198 | # specify as many [[mediatype-handlers]] as you want to setup multiple commands.
199 | #
200 | # If the subtype is omitted then the specified command will be used for the
201 | # entire type:
202 | #
203 | # [[mediatype-handlers]]
204 | # command = ['vlc', '--flag']
205 | # types = ["audio", "video"]
206 | #
207 | # A catch-all handler can by specified with "*".
208 | # Note that there are already catch-all handlers in place for all OSes,
209 | # that open the file using your default application. This is only if you
210 | # want to override that.
211 | #
212 | # [[mediatype-handlers]]
213 | # cmd = ['some-command']
214 | # types = [
215 | # "application/pdf",
216 | # "*",
217 | # ]
218 | #
219 | # You can also choose to stream the data instead of downloading it all before
220 | # opening it. This is especially useful for large video or audio files, as
221 | # well as radio streams, which will never complete. You can do this like so:
222 | #
223 | # [[mediatype-handlers]]
224 | # cmd = ['vlc', '-']
225 | # types = ["audio", "video"]
226 | # stream = true
227 | #
228 | # This uses vlc to stream all video and audio content.
229 | # By default stream is set to off for all handlers
230 | #
231 | #
232 | # If you want to always open a type in its viewer without the download or open
233 | # prompt appearing, you can add no_prompt = true
234 | #
235 | # [[mediatype-handlers]]
236 | # cmd = ['feh']
237 | # types = ["image"]
238 | # no_prompt = true
239 | #
240 | # Note: Multiple handlers cannot be defined for the same full media type, but
241 | # still there needs to be an order for which handlers are used. The following
242 | # order applies regardless of the order written in the config:
243 | #
244 | # 1. Full media type: "image/jpeg"
245 | # 2. Just type: "image"
246 | # 3. Catch-all: "*"
247 |
248 |
249 | [cache]
250 | # Options for page cache - which is only for text pages
251 | # Increase the cache size to speed up browsing at the expense of memory
252 | # Zero values mean there is no limit
253 |
254 | max_size = 0 # Size in bytes
255 | max_pages = 30 # The maximum number of pages the cache will store
256 |
257 | # How long a page will stay in cache, in seconds.
258 | timeout = 1800 # 30 mins
259 |
260 | [proxies]
261 | # Allows setting a Gemini proxy for different schemes.
262 | # The settings are similar to the url-handlers section above.
263 | # E.g. to open a gopher page by connecting to a Gemini proxy server:
264 | # gopher = "example.com:123"
265 | #
266 | # Port 1965 is assumed if no port is specified.
267 | #
268 | # NOTE: These settings override any external handlers specified in
269 | # the url-handlers section.
270 | #
271 | # Note that HTTP and HTTPS are treated as separate protocols here.
272 |
273 |
274 | [subscriptions]
275 | # For tracking feeds and pages
276 |
277 | # Whether a pop-up appears when viewing a potential feed
278 | popup = true
279 |
280 | # How often to check for updates to subscriptions in the background, in seconds.
281 | # Set it to 0 to disable this feature. You can still update individual feeds
282 | # manually, or restart the browser.
283 | #
284 | # Note Amfora will check for updates on browser start no matter what this setting is.
285 | update_interval = 1800 # 30 mins
286 |
287 | # How many subscriptions can be checked at the same time when updating.
288 | # If you have many subscriptions you may want to increase this for faster
289 | # update times. Any value below 1 will be corrected to 1.
290 | workers = 3
291 |
292 | # The number of subscription updates displayed per page.
293 | entries_per_page = 20
294 |
295 |
296 | [theme]
297 | # This section is for changing the COLORS used in Amfora.
298 | # These colors only apply if 'color' is enabled above.
299 | # Colors can be set using a W3C color name, or a hex value such as "#ffffff".
300 |
301 | # Note that not all colors will work on terminals that do not have truecolor support.
302 | # If you want to stick to the standard 16 or 256 colors, you can get
303 | # a list of those here: https://jonasjacek.github.io/colors/
304 | # DO NOT use the names from that site, just the hex codes.
305 |
306 | # Definitions:
307 | # dl = download
308 | # btn = button
309 | # bkmk = bookmark
310 | # modal = a popup window/box in the middle of the screen
311 |
312 | # btn_bg: The bg color for all modal buttons
313 | # btn_text: The text color for all modal buttons
314 |
315 | # dl_choice_modal_bg
316 | # dl_choice_modal_text
317 | # dl_modal_bg
318 | # dl_modal_text
319 | # info_modal_bg
320 | # info_modal_text
321 | # error_modal_bg
322 | # error_modal_text
323 | # yesno_modal_bg
324 | # yesno_modal_text
325 | # tofu_modal_bg
326 | # tofu_modal_text
327 | # subscription_modal_bg
328 | # subscription_modal_text
329 |
330 | # input_modal_bg
331 | # input_modal_text
332 | # input_modal_field_bg: The bg of the input field, where you type the text
333 | # input_modal_field_text: The color of the text you type
334 |
335 | # bkmk_modal_bg
336 | # bkmk_modal_text
337 | # bkmk_modal_label
338 | # bkmk_modal_field_bg
339 | # bkmk_modal_field_text
340 |
341 | # Definitions:
342 | bg = "#232731"
343 | fg = "#D8DEE9"
344 | # dl = download
345 | # btn = button
346 | # bkmk = bookmark
347 | # modal = a popup window/box in the middle of the screen
348 | hdg_1 = "#5e81ac"
349 | hdg_2 = "#5e81ac"
350 | hdg_3 = "#5e81ac"
351 | preformatted_text = "#D7BA7D"
352 | list_text = "#B48EAD"
353 | quote_text = "#A3BE8C"
354 | amfora_link = "#88c0d0"
355 | foreign_link = "#88c0d0"
356 | link_number = "#C68A75"
357 | bottombar_text = "#D8DEE9"
358 | bottombar_bg = "#4C566A"
359 | tab_num = "#4C566A"
360 | scrollbar = "#4C566A"
361 | tab_divider = "#bf616a"
362 | regular_text = "#D8DEE9"
363 | bottombar_label = "#D8DEE9"
364 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/rc.conf:
--------------------------------------------------------------------------------
1 | ###SETTINGS###
2 | ####!!!!!! REMEMBER TO CLONE DEVICONS
3 |
4 | # set column_ratios 1,3,4
5 | set column_ratios 1,1
6 | set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
7 | set show_hidden false
8 | set confirm_on_delete multiple
9 | set use_preview_script true
10 | set automatically_count_files true
11 | set open_all_images true
12 | set vcs_aware false
13 | set vcs_backend_git enabled
14 | set vcs_backend_hg disabled
15 | set vcs_backend_bzr disabled
16 | set preview_images true
17 | # set preview_images_method w3m
18 | # set preview_images_method ueberzug
19 | set preview_images_method kitty
20 | set unicode_ellipsis false
21 | set show_hidden_bookmarks false
22 | set colorscheme default
23 | set preview_files true
24 | set preview_directories true
25 | set collapse_preview true
26 | set save_console_history false
27 | set status_bar_on_top false
28 | set draw_progress_bar_in_status_bar true
29 | # set draw_borders true
30 | set dirname_in_tabs true
31 | set mouse_enabled true
32 | set display_size_in_main_column true
33 | set display_size_in_status_bar true
34 | set display_tags_in_all_columns true
35 | set update_title false
36 | set update_tmux_title true
37 | set shorten_title 3
38 | set tilde_in_titlebar true
39 | set max_history_size 20
40 | set max_console_history_size 50
41 | set scroll_offset 8
42 | set flushinput true
43 | set padding_right true
44 | set autosave_bookmarks false
45 | set autoupdate_cumulative_size false
46 | set show_cursor false
47 | set sort natural
48 | set sort_reverse false
49 | set sort_case_insensitive true
50 | set sort_directories_first true
51 | set sort_unicode false
52 | set xterm_alt_key false
53 | set cd_bookmarks false
54 | set preview_max_size 0
55 | set show_selection_in_titlebar true
56 | set idle_delay 2000
57 | set metadata_deep_search false
58 |
59 | # ICONS
60 | default_linemode devicons
61 |
62 | ###ALIASES###
63 | alias e edit
64 | alias q quit
65 | alias q! quitall
66 | alias qa quitall
67 | alias qall quitall
68 | alias setl setlocal
69 |
70 | alias filter scout -prt
71 | alias find scout -aeit
72 | alias mark scout -mr
73 | alias unmark scout -Mr
74 | alias search scout -rs
75 | alias search_inc scout -rts
76 | alias travel scout -aefiklst
77 |
78 | ###BASIC KEYS###
79 |
80 | #BASIC
81 | map Q quit!
82 | map q quit
83 | copymap q ZZ ZQ
84 |
85 | #map R reload_cwd
86 | map reset
87 | #map redraw_window
88 | map abort
89 | map change_mode normal
90 |
91 | map i display_file
92 | map ? help
93 | #map W display_log
94 | map w taskview_open
95 | map S shell $SHELL
96 |
97 | map : console
98 | map ; console
99 | map ! console shell%space
100 | map @ console -p6 shell %s
101 | map # console shell -p%space
102 | #map s console shell%space
103 | map r chain draw_possible_programs; console open_with%%space
104 | map f console find%space
105 | map cd console cd%space
106 |
107 | # Tagging / Marking
108 | map at tag_toggle
109 | map ut tag_remove
110 | map " tag_toggle tag=%any
111 | map mark_files toggle=True
112 | map va mark_files all=True toggle=True
113 | map uv mark_files all=True val=False
114 | map vs toggle_visual_mode
115 | map uV toggle_visual_mode reverse=True
116 |
117 | # For the nostalgics: Midnight Commander bindings
118 | map help
119 | map display_file
120 | map edit
121 | map copy
122 | map console shell echo "require(rmarkdown); render_site()" | R --vanilla
123 | map cut
124 | map console mkdir%space
125 | map console delete
126 | map exit
127 |
128 | # VIM-like
129 | copymap k
130 | copymap j
131 | copymap h
132 | copymap l
133 | copymap gg
134 | copymap G
135 | copymap
136 | copymap
137 |
138 | map J move down=0.5 pages=True
139 | map K move up=0.5 pages=True
140 | copymap J
141 | copymap K
142 |
143 | # Jumping around
144 | map H history_go -1
145 | map L history_go 1
146 | map ] move_parent 1
147 | map [ move_parent -1
148 | map } traverse
149 |
150 | #DEFAULT MOVEMENT
151 | map ge cd /etc
152 | map gu cd /usr
153 | #map gl cd -r .
154 | map gL cd -r %f
155 | #map gv cd /var
156 | map gM cd /mnt
157 | map gr cd /
158 | map gR eval fm.cd(ranger.RANGERDIR)
159 | map g? cd /usr/share/doc/ranger
160 |
161 | # Tabs
162 | map tab_new ~
163 | map tab_close
164 | map tab_move 1
165 | map tab_move -1
166 | map tab_move 1
167 | map tab_move -1
168 | #map gt tab_move 1
169 | #map gT tab_move -1
170 | map gn tab_new ~
171 | #map gc tab_close
172 | map tt tab_close
173 | map uq tab_restore
174 | map tab_open 1
175 | map tab_open 2
176 | map tab_open 3
177 | map tab_open 4
178 | map tab_open 5
179 | map tab_open 6
180 | map tab_open 7
181 | map tab_open 8
182 | map tab_open 9
183 |
184 |
185 | # External Programs
186 | map E edit
187 | map du shell -p du --max-depth=1 -h --apparent-size
188 | map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
189 | map yp shell -f echo -n %%d/%%f | xsel -i; xsel -o | xsel -i -b
190 | map yd shell -f echo -n %%d | xsel -i; xsel -o | xsel -i -b
191 | map yn shell -f echo -n %%f | xsel -i; xsel -o | xsel -i -b
192 |
193 |
194 | # Filesystem Operations
195 | map = chmod
196 | map cw console rename%space
197 | map aa rename_append
198 | map r eval fm.open_console('rename ' + fm.thisfile.relative_path)
199 | map R eval fm.open_console('rename ' + fm.thisfile.relative_path, position=7)
200 | map pp paste
201 | map po paste overwrite=True
202 | map pP paste append=True
203 | map pO paste overwrite=True append=True
204 | map pl paste_symlink relative=False
205 | map pL paste_symlink relative=True
206 | map phl paste_hardlink
207 | map pht paste_hardlinked_subtree
208 |
209 | map dD console delete
210 |
211 | map dd cut
212 | map ud uncut
213 | map da cut mode=add
214 | map dr cut mode=remove
215 |
216 | map yy copy
217 | map uy uncut
218 | map ya copy mode=add
219 | map yr copy mode=remove
220 |
221 |
222 | # Temporary workarounds
223 | map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
224 | map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
225 | map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
226 | map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
227 | map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
228 | map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
229 | map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
230 | map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
231 |
232 |
233 | # Searching
234 | map / console search%space
235 | map n search_next
236 | map N search_next forward=False
237 | map ct search_next order=tag
238 | map cs search_next order=size
239 | map ci search_next order=mimetype
240 | map cc search_next order=ctime
241 | map cm search_next order=mtime
242 | map ca search_next order=atime
243 |
244 |
245 | # Sorting
246 | map or toggle_option sort_reverse
247 | map oz set sort=random
248 | map os chain set sort=size; set sort_reverse=False
249 | map ob chain set sort=basename; set sort_reverse=False
250 | map on chain set sort=natural; set sort_reverse=False
251 | map om chain set sort=mtime; set sort_reverse=False
252 | map oc chain set sort=ctime; set sort_reverse=False
253 | map oa chain set sort=atime; set sort_reverse=False
254 | map ot chain set sort=type; set sort_reverse=False
255 | map oe chain set sort=extension; set sort_reverse=False
256 |
257 | map oS chain set sort=size; set sort_reverse=True
258 | map oB chain set sort=basename; set sort_reverse=True
259 | map oN chain set sort=natural; set sort_reverse=True
260 | map oM chain set sort=mtime; set sort_reverse=True
261 | map oC chain set sort=ctime; set sort_reverse=True
262 | map oA chain set sort=atime; set sort_reverse=True
263 | map oT chain set sort=type; set sort_reverse=True
264 | map oE chain set sort=extension; set sort_reverse=True
265 |
266 | map dc get_cumulative_size
267 |
268 |
269 | # Settings
270 | map zc toggle_option collapse_preview
271 | map zd toggle_option sort_directories_first
272 | map zh toggle_option show_hidden
273 | map toggle_option show_hidden
274 | map zi toggle_option flushinput
275 | map zm toggle_option mouse_enabled
276 | map zp toggle_option preview_files
277 | map zP toggle_option preview_directories
278 | map zs toggle_option sort_case_insensitive
279 | map zu toggle_option autoupdate_cumulative_size
280 | map zv toggle_option use_preview_script
281 | map zf console filter%space
282 |
283 |
284 | # Generate all the chmod bindings with some python help:
285 | eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
286 | eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
287 | eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
288 | eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
289 | eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
290 |
291 | eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
292 | eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
293 | eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
294 | eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
295 | eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
296 |
297 |
298 | ###CONSOLE KEYS###
299 | # Basic
300 | cmap eval fm.ui.console.tab()
301 | cmap eval fm.ui.console.tab(-1)
302 | cmap eval fm.ui.console.close()
303 | cmap eval fm.ui.console.execute()
304 | #cmap redraw_window
305 |
306 | copycmap
307 | copycmap
308 |
309 |
310 | # Move around
311 | cmap eval fm.ui.console.history_move(-1)
312 | cmap eval fm.ui.console.history_move(1)
313 | cmap eval fm.ui.console.move(left=1)
314 | cmap eval fm.ui.console.move(right=1)
315 | cmap eval fm.ui.console.move(right=0, absolute=True)
316 | cmap eval fm.ui.console.move(right=-1, absolute=True)
317 |
318 |
319 | # Line Editing
320 | cmap eval fm.ui.console.delete(-1)
321 | cmap eval fm.ui.console.delete(0)
322 | cmap eval fm.ui.console.delete_word()
323 | cmap eval fm.ui.console.delete_word(backward=False)
324 | cmap eval fm.ui.console.delete_rest(1)
325 | cmap eval fm.ui.console.delete_rest(-1)
326 | cmap eval fm.ui.console.paste()
327 |
328 | # Note: There are multiple ways to express backspaces. (code 263)
329 | # and (code 127). To be sure, use both.
330 | copycmap
331 |
332 | # This special expression allows typing in numerals:
333 | cmap false
334 |
335 |
336 |
337 | ###PAGER KEYS###
338 | # Movement
339 | pmap pager_move down=1
340 | pmap pager_move up=1
341 | pmap pager_move left=4
342 | pmap pager_move right=4
343 | pmap pager_move to=0
344 | pmap pager_move to=-1
345 | pmap pager_move down=1.0 pages=True
346 | pmap pager_move up=1.0 pages=True
347 | pmap pager_move down=0.5 pages=True
348 | pmap pager_move up=0.5 pages=True
349 |
350 | copypmap k
351 | copypmap j
352 | copypmap h
353 | copypmap l
354 | copypmap g
355 | copypmap G
356 | copypmap d
357 | copypmap u
358 | copypmap n f
359 | copypmap p b
360 |
361 |
362 | # Basic
363 | #pmap redraw_window
364 | pmap pager_close
365 | copypmap q Q i
366 | pmap E edit_file
367 |
368 | # ===================================================================
369 | # == Taskview Keybindings
370 | # ===================================================================
371 |
372 | # Movement
373 | tmap taskview_move up=1
374 | tmap taskview_move down=1
375 | tmap taskview_move to=0
376 | tmap taskview_move to=-1
377 | tmap taskview_move down=1.0 pages=True
378 | tmap taskview_move up=1.0 pages=True
379 | tmap taskview_move down=0.5 pages=True
380 | tmap taskview_move up=0.5 pages=True
381 |
382 | copytmap k
383 | copytmap j
384 | copytmap g
385 | copytmap G
386 | copytmap u
387 | copytmap n f
388 | copytmap p b
389 |
390 | # Changing priority and deleting tasks
391 | tmap J eval -q fm.ui.taskview.task_move(-1)
392 | tmap K eval -q fm.ui.taskview.task_move(0)
393 | tmap dd eval -q fm.ui.taskview.task_remove()
394 | tmap eval -q fm.ui.taskview.task_move(-1)
395 | tmap eval -q fm.ui.taskview.task_move(0)
396 | tmap eval -q fm.ui.taskview.task_remove()
397 |
398 | # Basic
399 | #tmap redraw_window
400 | tmap taskview_close
401 | copytmap q Q w
402 |
403 |
404 | map sp console shell bash speedvid.sh %f%space
405 | map x shell chmod -x %s
406 |
407 | #General
408 | map V console shell vim%space
409 | map cW bulkrename %s
410 | map mkd console mkdir%space
411 | map sc console shell ln -sT%space
412 | map D console delete
413 | map X shell atool -x %f
414 | map Z shell tar -cvzf %f.tar.gz %s
415 | map fzf_select
416 | map fzf_locate
417 |
418 |
--------------------------------------------------------------------------------
/dunst/.config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | [global]
2 | timeout = 10
3 | ### Display ###
4 |
5 | # Which monitor should the notifications be displayed on.
6 | monitor = 0
7 |
8 | # Display notification on focused monitor. Possible modes are:
9 | # mouse: follow mouse pointer
10 | # keyboard: follow window with keyboard focus
11 | # none: don't follow anything
12 | #
13 | # "keyboard" needs a window manager that exports the
14 | # _NET_ACTIVE_WINDOW property.
15 | # This should be the case for almost all modern window managers.
16 | #
17 | # If this option is set to mouse or keyboard, the monitor option
18 | # will be ignored.
19 | follow = mouse
20 |
21 | # The geometry of the window:
22 | # [{width}]x{height}[+/-{x}+/-{y}]
23 | # The geometry of the message window.
24 | # The height is measured in number of notifications everything else
25 | # in pixels. If the width is omitted but the height is given
26 | # ("-geometry x2"), the message window expands over the whole screen
27 | # (dmenu-like). If width is 0, the window expands to the longest
28 | # message displayed. A positive x is measured from the left, a
29 | # negative from the right side of the screen. Y is measured from
30 | # the top and down respectively.
31 | # The width can be negative. In this case the actual width is the
32 | # screen width minus the width defined in within the geometry option.
33 | # geometry = "300x5-30+20"
34 |
35 |
36 | # width = 300
37 | # height = 100
38 | offset = 20x20
39 | origin = "top-right"
40 |
41 |
42 | # Turn on the progess bar
43 | progress_bar = true
44 |
45 | # Set the progress bar height. This includes the frame, so make sure
46 | # it's at least twice as big as the frame width.
47 | progress_bar_height = 10
48 |
49 | # Set the frame width of the progress bar
50 | progress_bar_frame_width = 1
51 |
52 | # Set the minimum width for the progress bar
53 | progress_bar_min_width = 150
54 |
55 | # Set the maximum width for the progress bar
56 | progress_bar_max_width = 300
57 |
58 |
59 | # Show how many messages are currently hidden (because of geometry).
60 | indicate_hidden = yes
61 |
62 | # Shrink window if it's smaller than the width. Will be ignored if
63 | # width is 0.
64 | shrink = no
65 |
66 | # The transparency of the window. Range: [0; 100].
67 | # This option will only work if a compositing window manager is
68 | # present (e.g. xcompmgr, compiz, etc.).
69 | transparency = 80
70 |
71 | # The height of the entire notification. If the height is smaller
72 | # than the font height and padding combined, it will be raised
73 | # to the font height and padding.
74 | # notification_height = 0
75 |
76 | # Draw a line of "separator_height" pixel height between two
77 | # notifications.
78 | # Set to 0 to disable.
79 | separator_height = 3
80 |
81 | # Padding between text and separator.
82 | padding = 10
83 |
84 | # Horizontal padding.
85 | horizontal_padding = 10
86 |
87 | # Padding between text and icon.
88 | text_icon_padding = 0
89 |
90 | # Defines width in pixels of frame around the notification window.
91 | # Set to 0 to disable.
92 | frame_width = 1
93 |
94 | # Defines color of the frame around the notification window.
95 | # frame_color = "#0c7d9d"
96 | frame_color = "#88c0d0"
97 |
98 | # Define a color for the separator.
99 | # possible values are:
100 | # * auto: dunst tries to find a color fitting to the background;
101 | # * foreground: use the same color as the foreground;
102 | # * frame: use the same color as the frame;
103 | # * anything else will be interpreted as a X color.
104 | separator_color = frame
105 |
106 | # Sort messages by urgency.
107 | sort = yes
108 |
109 | # Don't remove messages, if the user is idle (no mouse or keyboard input)
110 | # for longer than idle_threshold seconds.
111 | # Set to 0 to disable.
112 | # A client can set the 'transient' hint to bypass this. See the rules
113 | # section for how to disable this if necessary
114 | idle_threshold = 120
115 |
116 | ### Text ###
117 |
118 | font = Monospace 12
119 |
120 | # The spacing between lines. If the height is smaller than the
121 | # font height, it will get raised to the font height.
122 | line_height = 0
123 |
124 | # Possible values are:
125 | # full: Allow a small subset of html markup in notifications:
126 | # bold
127 | # italic
128 | # strikethrough
129 | # underline
130 | #
131 | # For a complete reference see
132 | # .
133 | #
134 | # strip: This setting is provided for compatibility with some broken
135 | # clients that send markup even though it's not enabled on the
136 | # server. Dunst will try to strip the markup but the parsing is
137 | # simplistic so using this option outside of matching rules for
138 | # specific applications *IS GREATLY DISCOURAGED*.
139 | #
140 | # no: Disable markup parsing, incoming notifications will be treated as
141 | # plain text. Dunst will not advertise that it has the body-markup
142 | # capability if this is set as a global setting.
143 | #
144 | # It's important to note that markup inside the format option will be parsed
145 | # regardless of what this is set to.
146 | markup = full
147 |
148 | # The format of the message. Possible variables are:
149 | # %a appname
150 | # %s summary
151 | # %b body
152 | # %i iconname (including its path)
153 | # %I iconname (without its path)
154 | # %p progress value if set ([ 0%] to [100%]) or nothing
155 | # %n progress value if set without any extra characters
156 | # %% Literal %
157 | # Markup is allowed
158 | format = "%s\n%b"
159 |
160 | # Alignment of message text.
161 | # Possible values are "left", "center" and "right".
162 | alignment = left
163 |
164 | # Vertical alignment of message text and icon.
165 | # Possible values are "top", "center" and "bottom".
166 | vertical_alignment = center
167 |
168 | # Show age of message if message is older than show_age_threshold
169 | # seconds.
170 | # Set to -1 to disable.
171 | show_age_threshold = 60
172 |
173 | # Split notifications into multiple lines if they don't fit into
174 | # geometry.
175 | word_wrap = yes
176 |
177 | # When word_wrap is set to no, specify where to make an ellipsis in long lines.
178 | # Possible values are "start", "middle" and "end".
179 | ellipsize = middle
180 |
181 | # Ignore newlines '\n' in notifications.
182 | ignore_newline = no
183 |
184 | # Stack together notifications with the same content
185 | stack_duplicates = true
186 |
187 | # Hide the count of stacked notifications with the same content
188 | hide_duplicate_count = false
189 |
190 | # Display indicators for URLs (U) and actions (A).
191 | show_indicators = yes
192 |
193 | ### Icons ###
194 |
195 | # Align icons left/right/off
196 | icon_position = left
197 |
198 | # Scale small icons up to this size, set to 0 to disable. Helpful
199 | # for e.g. small files or high-dpi screens. In case of conflict,
200 | # max_icon_size takes precedence over this.
201 | min_icon_size = 0
202 |
203 | # Scale larger icons down to this size, set to 0 to disable
204 | max_icon_size = 72
205 |
206 | # Paths to default icons.
207 | icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
208 |
209 | ### History ###
210 |
211 | # Should a notification popped up from history be sticky or timeout
212 | # as if it would normally do.
213 | sticky_history = yes
214 |
215 | # Maximum amount of notifications kept in history
216 | history_length = 20
217 |
218 | ### Misc/Advanced ###
219 |
220 | # dmenu path.
221 | dmenu = /usr/bin/dmenu -p dunst:
222 |
223 | # Browser for opening urls in context menu.
224 | browser = /usr/bin/brave -new-tab
225 |
226 | # Always run rule-defined scripts, even if the notification is suppressed
227 | always_run_script = true
228 |
229 | # Define the title of the windows spawned by dunst
230 | title = Dunst
231 |
232 | # Define the class of the windows spawned by dunst
233 | class = Dunst
234 |
235 | # Print a notification on startup.
236 | # This is mainly for error detection, since dbus (re-)starts dunst
237 | # automatically after a crash.
238 | # startup_notification = false
239 |
240 | # Manage dunst's desire for talking
241 | # Can be one of the following values:
242 | # crit: Critical features. Dunst aborts
243 | # warn: Only non-fatal warnings
244 | # mesg: Important Messages
245 | # info: all unimportant stuff
246 | # debug: all less than unimportant stuff
247 | # verbosity = mesg
248 |
249 | # Define the corner radius of the notification window
250 | # in pixel size. If the radius is 0, you have no rounded
251 | # corners.
252 | # The radius will be automatically lowered if it exceeds half of the
253 | # notification height to avoid clipping text and/or icons.
254 | corner_radius = 20
255 |
256 | # Ignore the dbus closeNotification message.
257 | # Useful to enforce the timeout set by dunst configuration. Without this
258 | # parameter, an application may close the notification sent before the
259 | # user defined timeout.
260 | ignore_dbusclose = false
261 |
262 | ### Wayland ###
263 | # These settings are Wayland-specific. They have no effect when using X11
264 |
265 | # Uncomment this if you want to let notications appear under fullscreen
266 | # applications (default: overlay)
267 | # layer = top
268 |
269 | # Set this to true to use X11 output on Wayland.
270 | force_xwayland = false
271 |
272 | ### Legacy
273 |
274 | # Use the Xinerama extension instead of RandR for multi-monitor support.
275 | # This setting is provided for compatibility with older nVidia drivers that
276 | # do not support RandR and using it on systems that support RandR is highly
277 | # discouraged.
278 | #
279 | # By enabling this setting dunst will not be able to detect when a monitor
280 | # is connected or disconnected which might break follow mode if the screen
281 | # layout changes.
282 | force_xinerama = false
283 |
284 | ### mouse
285 |
286 | # Defines list of actions for each mouse event
287 | # Possible values are:
288 | # * none: Don't do anything.
289 | # * do_action: If the notification has exactly one action, or one is marked as default,
290 | # invoke it. If there are multiple and no default, open the context menu.
291 | # * close_current: Close current notification.
292 | # * close_all: Close all notifications.
293 | # These values can be strung together for each mouse event, and
294 | # will be executed in sequence.
295 | mouse_left_click = close_current
296 | mouse_middle_click = do_action, close_current
297 | mouse_right_click = close_all
298 |
299 | # Experimental features that may or may not work correctly. Do not expect them
300 | # to have a consistent behaviour across releases.
301 | [experimental]
302 | # Calculate the dpi to use on a per-monitor basis.
303 | # If this setting is enabled the Xft.dpi value will be ignored and instead
304 | # dunst will attempt to calculate an appropriate dpi value for each monitor
305 | # using the resolution and physical size. This might be useful in setups
306 | # where there are multiple screens with very different dpi values.
307 | per_monitor_dpi = false
308 |
309 | # The internal keyboard shortcut support in dunst is now considered deprecated
310 | # and should be replaced by dunstctl calls. You can use the configuration of your
311 | # WM or DE to bind these to shortcuts of your choice.
312 | # Check the dunstctl manual page for more info.
313 | [shortcuts]
314 |
315 | # Shortcuts are specified as [modifier+][modifier+]...key
316 | # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
317 | # "mod3" and "mod4" (windows-key).
318 | # Xev might be helpful to find names for keys.
319 |
320 | # Close notification. Equivalent dunstctl command:
321 | # dunstctl close
322 | # close = ctrl+space
323 |
324 | # Close all notifications. Equivalent dunstctl command:
325 | # dunstctl close-all
326 | # close_all = ctrl+shift+space
327 |
328 | # Redisplay last message(s). Equivalent dunstctl command:
329 | # dunstctl history-pop
330 | # history = ctrl+grave
331 |
332 | # Context menu. Equivalent dunstctl command:
333 | # dunstctl context
334 | # context = ctrl+shift+period
335 |
336 |
337 | [urgency_low]
338 | # IMPORTANT: colors have to be defined in quotation marks.
339 | # Otherwise the "#" and following would be interpreted as a comment.
340 | background = "#2c2c2c"
341 | foreground = "#d8dee9"
342 | timeout = 12
343 | # Icon for notifications with low urgency, uncomment to enable
344 | #icon = /path/to/icon
345 |
346 | [urgency_normal]
347 | background = "#2c2c2c"
348 | foreground = "#d8dee9"
349 | timeout = 12
350 | # Icon for notifications with normal urgency, uncomment to enable
351 | #icon = /path/to/icon
352 |
353 | [urgency_critical]
354 | background = "#900000"
355 | foreground = "#ffffff"
356 | frame_color = "#ff0000"
357 | timeout = 5
358 | # Icon for notifications with critical urgency, uncomment to enable
359 | #icon = /path/to/icon
360 |
361 | # Every section that isn't one of the above is interpreted as a rules to
362 | # override settings for certain messages.
363 | #
364 | # Messages can be matched by
365 | # appname (discouraged, see desktop_entry)
366 | # body
367 | # category
368 | # desktop_entry
369 | # icon
370 | # match_transient
371 | # msg_urgency
372 | # stack_tag
373 | # summary
374 | #
375 | # and you can override the
376 | # background
377 | # foreground
378 | # format
379 | # frame_color
380 | # fullscreen
381 | # new_icon
382 | # set_stack_tag
383 | # set_transient
384 | # timeout
385 | # urgency
386 | #
387 | # Shell-like globbing will get expanded.
388 | #
389 | # Instead of the appname filter, it's recommended to use the desktop_entry filter.
390 | # GLib based applications export their desktop-entry name. In comparison to the appname,
391 | # the desktop-entry won't get localized.
392 | #
393 | # SCRIPTING
394 | # You can specify a script that gets run when the rule matches by
395 | # setting the "script" option.
396 | # The script will be called as follows:
397 | # script appname summary body icon urgency
398 | # where urgency can be "LOW", "NORMAL" or "CRITICAL".
399 | #
400 | # NOTE: if you don't want a notification to be displayed, set the format
401 | # to "".
402 | # NOTE: It might be helpful to run dunst -print in a terminal in order
403 | # to find fitting options for rules.
404 |
405 | # Disable the transient hint so that idle_threshold cannot be bypassed from the
406 | # client
407 | #[transient_disable]
408 | # match_transient = yes
409 | # set_transient = no
410 | #
411 | # Make the handling of transient notifications more strict by making them not
412 | # be placed in history.
413 | #[transient_history_ignore]
414 | # match_transient = yes
415 | # history_ignore = yes
416 |
417 | # fullscreen values
418 | # show: show the notifications, regardless if there is a fullscreen window opened
419 | # delay: displays the new notification, if there is no fullscreen window active
420 | # If the notification is already drawn, it won't get undrawn.
421 | # pushback: same as delay, but when switching into fullscreen, the notification will get
422 | # withdrawn from screen again and will get delayed like a new notification
423 | #[fullscreen_delay_everything]
424 | # fullscreen = delay
425 | #[fullscreen_show_critical]
426 | # msg_urgency = critical
427 | # fullscreen = show
428 |
429 | #[espeak]
430 | # summary = "*"
431 | # script = dunst_espeak.sh
432 |
433 | #[script-test]
434 | # summary = "*script*"
435 | # script = dunst_test.sh
436 |
437 | #[ignore]
438 | # # This notification will not be displayed
439 | # summary = "foobar"
440 | # format = ""
441 |
442 | #[history-ignore]
443 | # # This notification will not be saved in history
444 | # summary = "foobar"
445 | # history_ignore = yes
446 |
447 | #[skip-display]
448 | # # This notification will not be displayed, but will be included in the history
449 | # summary = "foobar"
450 | # skip_display = yes
451 |
452 | #[signed_on]
453 | # appname = Pidgin
454 | # summary = "*signed on*"
455 | # urgency = low
456 | #
457 | #[signed_off]
458 | # appname = Pidgin
459 | # summary = *signed off*
460 | # urgency = low
461 | #
462 | #[says]
463 | # appname = Pidgin
464 | # summary = *says*
465 | # urgency = critical
466 | #
467 | #[twitter]
468 | # appname = Pidgin
469 | # summary = *twitter.com*
470 | # urgency = normal
471 | #
472 | #[stack-volumes]
473 | # appname = "some_volume_notifiers"
474 | # set_stack_tag = "volume"
475 | #
476 | # vim: ft=cfg
477 |
--------------------------------------------------------------------------------
/codium/.config/VSCodium/User/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "vscode-neovim.neovimExecutablePaths.darwin": "/usr/local/bin/nvim",
3 | "vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim",
4 | "vscode-neovim.neovimInitVimPaths.darwin": "$HOME/.config/nvim/utils/lv-vscode/init.vim",
5 | "vscode-neovim.neovimInitVimPaths.linux": "$HOME/.config/nvim/utils/lv-vscode/init.vim",
6 | "whichkey.sortOrder": "alphabetically",
7 | "whichkey.delay": 0,
8 | "whichkey.bindings": [
9 | {
10 | "key": ";",
11 | "name": "commands",
12 | "type": "command",
13 | "command": "workbench.action.showCommands"
14 | },
15 | {
16 | "key": "/",
17 | "name": "comment",
18 | "type": "command",
19 | "command": "vscode-neovim.send",
20 | "args": ""
21 | },
22 | {
23 | "key": "?",
24 | "name": "View All References",
25 | "type": "command",
26 | "command": "references-view.find",
27 | "when": "editorHasReferenceProvider"
28 | },
29 | {
30 | "key": "b",
31 | "name": "Buffers/Editors...",
32 | "type": "bindings",
33 | "bindings": [
34 | {
35 | "key": "b",
36 | "name": "Show all buffers/editors",
37 | "type": "command",
38 | "command": "workbench.action.showAllEditors"
39 | },
40 | {
41 | "key": "d",
42 | "name": "Close active editor",
43 | "type": "command",
44 | "command": "workbench.action.closeActiveEditor"
45 | },
46 | {
47 | "key": "h",
48 | "name": "Move editor into left group",
49 | "type": "command",
50 | "command": "workbench.action.moveEditorToLeftGroup"
51 | },
52 | {
53 | "key": "j",
54 | "name": "Move editor into below group",
55 | "type": "command",
56 | "command": "workbench.action.moveEditorToBelowGroup"
57 | },
58 | {
59 | "key": "k",
60 | "name": "Move editor into above group",
61 | "type": "command",
62 | "command": "workbench.action.moveEditorToAboveGroup"
63 | },
64 | {
65 | "key": "l",
66 | "name": "Move editor into right group",
67 | "type": "command",
68 | "command": "workbench.action.moveEditorToRightGroup"
69 | },
70 | {
71 | "key": "m",
72 | "name": "Close other editors",
73 | "type": "command",
74 | "command": "workbench.action.closeOtherEditors"
75 | },
76 | {
77 | "key": "n",
78 | "name": "Next editor",
79 | "type": "command",
80 | "command": "workbench.action.nextEditor"
81 | },
82 | {
83 | "key": "p",
84 | "name": "Previous editor",
85 | "type": "command",
86 | "command": "workbench.action.previousEditor"
87 | },
88 | {
89 | "key": "N",
90 | "name": "New untitled editor",
91 | "type": "command",
92 | "command": "workbench.action.files.newUntitledFile"
93 | },
94 | {
95 | "key": "u",
96 | "name": "Reopen closed editor",
97 | "type": "command",
98 | "command": "workbench.action.reopenClosedEditor"
99 | },
100 | {
101 | "key": "y",
102 | "name": "Copy buffer to clipboard",
103 | "type": "commands",
104 | "commands": [
105 | "editor.action.selectAll",
106 | "editor.action.clipboardCopyAction",
107 | "cancelSelection"
108 | ]
109 | }
110 | ]
111 | },
112 | {
113 | "key": "d",
114 | "name": "Debug...",
115 | "type": "bindings",
116 | "bindings": [
117 | {
118 | "key": "d",
119 | "name": "Start debug",
120 | "type": "command",
121 | "command": "workbench.action.debug.start"
122 | },
123 | {
124 | "key": "S",
125 | "name": "Stop debug",
126 | "type": "command",
127 | "command": "workbench.action.debug.stop"
128 | },
129 | {
130 | "key": "c",
131 | "name": "Continue debug",
132 | "type": "command",
133 | "command": "workbench.action.debug.continue"
134 | },
135 | {
136 | "key": "p",
137 | "name": "Pause debug",
138 | "type": "command",
139 | "command": "workbench.action.debug.pause"
140 | },
141 | {
142 | "key": "r",
143 | "name": "Run without debugging",
144 | "type": "command",
145 | "command": "workbench.action.debug.run"
146 | },
147 | {
148 | "key": "R",
149 | "name": "Restart debug",
150 | "type": "command",
151 | "command": "workbench.action.debug.restart"
152 | },
153 | {
154 | "key": "i",
155 | "name": "Step into",
156 | "type": "command",
157 | "command": "workbench.action.debug.stepInto"
158 | },
159 | {
160 | "key": "s",
161 | "name": "Step over",
162 | "type": "command",
163 | "command": "workbench.action.debug.stepOver"
164 | },
165 | {
166 | "key": "o",
167 | "name": "Step out",
168 | "type": "command",
169 | "command": "workbench.action.debug.stepOut"
170 | },
171 | {
172 | "key": "b",
173 | "name": "Toggle breakpoint",
174 | "type": "command",
175 | "command": "editor.debug.action.toggleBreakpoint"
176 | },
177 | {
178 | "key": "B",
179 | "name": "Toggle inline breakpoint",
180 | "type": "command",
181 | "command": "editor.debug.action.toggleInlineBreakpoint"
182 | },
183 | {
184 | "key": "j",
185 | "name": "Jump to cursor",
186 | "type": "command",
187 | "command": "debug.jumpToCursor"
188 | },
189 | {
190 | "key": "v",
191 | "name": "REPL",
192 | "type": "command",
193 | "command": "workbench.debug.action.toggleRepl"
194 | },
195 | {
196 | "key": "w",
197 | "name": "Focus on watch window",
198 | "type": "command",
199 | "command": "workbench.debug.action.focusWatchView"
200 | },
201 | {
202 | "key": "W",
203 | "name": "Add to watch",
204 | "type": "command",
205 | "command": "editor.debug.action.selectionToWatch"
206 | }
207 | ]
208 | },
209 | {
210 | "key": "e",
211 | "name": "Toggle Explorer",
212 | "type": "command",
213 | "command": "workbench.action.toggleSidebarVisibility"
214 | },
215 | {
216 | "key": "f",
217 | "name": "Find & Replace...",
218 | "type": "bindings",
219 | "bindings": [
220 | {
221 | "key": "f",
222 | "name": "File",
223 | "type": "command",
224 | "command": "editor.action.startFindReplaceAction"
225 | },
226 | {
227 | "key": "s",
228 | "name": "Symbol",
229 | "type": "command",
230 | "command": "editor.action.rename",
231 | "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
232 | },
233 | {
234 | "key": "p",
235 | "name": "Project",
236 | "type": "command",
237 | "command": "workbench.action.replaceInFiles"
238 | }
239 | ]
240 | },
241 | {
242 | "key": "g",
243 | "name": "Git...",
244 | "type": "bindings",
245 | "bindings": [
246 | {
247 | "key": "/",
248 | "name": "Search Commits",
249 | "command": "gitlens.showCommitSearch",
250 | "type": "command",
251 | "when": "gitlens:enabled && config.gitlens.keymap == 'alternate'"
252 | },
253 | {
254 | "key": "a",
255 | "name": "Stage",
256 | "type": "command",
257 | "command": "git.stage"
258 | },
259 | {
260 | "key": "b",
261 | "name": "Checkout",
262 | "type": "command",
263 | "command": "git.checkout"
264 | },
265 | {
266 | "key": "B",
267 | "name": "Browse",
268 | "type": "command",
269 | "command": "gitlens.openFileInRemote"
270 | },
271 | {
272 | "key": "c",
273 | "name": "Commit",
274 | "type": "command",
275 | "command": "git.commit"
276 | },
277 | {
278 | "key": "C",
279 | "name": "Cherry Pick",
280 | "type": "command",
281 | "command": "gitlens.views.cherryPick"
282 | },
283 | {
284 | "key": "d",
285 | "name": "Delete Branch",
286 | "type": "command",
287 | "command": "git.deleteBranch"
288 | },
289 | {
290 | "key": "f",
291 | "name": "Fetch",
292 | "type": "command",
293 | "command": "git.fetch"
294 | },
295 | {
296 | "key": "F",
297 | "name": "Pull From",
298 | "type": "command",
299 | "command": "git.pullFrom"
300 | },
301 | {
302 | "key": "g",
303 | "name": "Graph",
304 | "type": "command",
305 | "command": "git-graph.view"
306 | },
307 | {
308 | "key": "h",
309 | "name": "Heatmap",
310 | "type": "command",
311 | "command": "gitlens.toggleFileHeatmap"
312 | },
313 | {
314 | "key": "H",
315 | "name": "History",
316 | "type": "command",
317 | "command": "git.viewFileHistory"
318 | },
319 | {
320 | "key": "i",
321 | "name": "Init",
322 | "type": "command",
323 | "command": "git.init"
324 | },
325 | {
326 | "key": "j",
327 | "name": "Next Change",
328 | "type": "command",
329 | "command": "workbench.action.editor.nextChange"
330 | },
331 | {
332 | "key": "k",
333 | "name": "Previous Change",
334 | "type": "command",
335 | "command": "workbench.action.editor.previousChange"
336 | },
337 | {
338 | "key": "l",
339 | "name": "Toggle Line Blame",
340 | "type": "command",
341 | "command": "gitlens.toggleLineBlame",
342 | "when": "editorTextFocus && gitlens:canToggleCodeLens && gitlens:enabled && config.gitlens.keymap == 'alternate'"
343 | },
344 | {
345 | "key": "L",
346 | "name": "Toggle GitLens",
347 | "type": "command",
348 | "command": "gitlens.toggleCodeLens",
349 | "when": "editorTextFocus && gitlens:canToggleCodeLens && gitlens:enabled && config.gitlens.keymap == 'alternate'"
350 | },
351 | {
352 | "key": "m",
353 | "name": "Merge",
354 | "type": "command",
355 | "command": "git.merge"
356 | },
357 | {
358 | "key": "p",
359 | "name": "Push",
360 | "type": "command",
361 | "command": "git.push"
362 | },
363 | {
364 | "key": "P",
365 | "name": "Push",
366 | "type": "command",
367 | "command": "git.pull"
368 | },
369 | {
370 | "key": "s",
371 | "name": "Stash",
372 | "type": "command",
373 | "command": "workbench.view.scm"
374 | },
375 | {
376 | "key": "S",
377 | "name": "Status",
378 | "type": "command",
379 | "command": "gitlens.showQuickRepoStatus",
380 | "when": "gitlens:enabled && config.gitlens.keymap == 'alternate'"
381 | },
382 | {
383 | "key": "t",
384 | "name": "Create Tag",
385 | "type": "command",
386 | "command": "git.createTag"
387 | },
388 | {
389 | "key": "T",
390 | "name": "Delete Tag",
391 | "type": "command",
392 | "command": "git.deleteTag"
393 | },
394 | {
395 | "key": "U",
396 | "name": "Unstage",
397 | "type": "command",
398 | "command": "git.unstage"
399 | }
400 | ]
401 | },
402 | {
403 | "key": "h",
404 | "name": "Split Horizontal",
405 | "type": "command",
406 | "command": "workbench.action.splitEditorDown"
407 | },
408 | {
409 | "key": "i",
410 | "name": "Insert...",
411 | "type": "bindings",
412 | "bindings": [
413 | {
414 | "key": "j",
415 | "name": "Insert line below",
416 | "type": "command",
417 | "command": "editor.action.insertLineAfter"
418 | },
419 | {
420 | "key": "k",
421 | "name": "Insert line above",
422 | "type": "command",
423 | "command": "editor.action.insertLineBefore"
424 | },
425 | {
426 | "key": "s",
427 | "name": "Insert snippet",
428 | "type": "command",
429 | "command": "editor.action.insertSnippet"
430 | }
431 | ]
432 | },
433 | {
434 | "key": "l",
435 | "name": "LSP...",
436 | "type": "bindings",
437 | "bindings": [
438 | {
439 | "key": ";",
440 | "name": "Refactor",
441 | "type": "command",
442 | "command": "editor.action.refactor",
443 | "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
444 | },
445 | {
446 | "key": "a",
447 | "name": "Auto Fix",
448 | "type": "command",
449 | "command": "editor.action.autoFix",
450 | "when": "editorTextFocus && !editorReadonly && supportedCodeAction =~ /(\\s|^)quickfix\\b/"
451 | },
452 | {
453 | "key": "d",
454 | "name": "Definition",
455 | "type": "command",
456 | "command": "editor.action.revealDefinition",
457 | "when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
458 | },
459 | {
460 | "key": "D",
461 | "name": "Declaration",
462 | "type": "command",
463 | "command": "editor.action.revealDeclaration"
464 | },
465 | {
466 | "key": "e",
467 | "name": "Errors",
468 | "type": "command",
469 | "command": "workbench.actions.view.problems"
470 | },
471 | {
472 | "key": "f",
473 | "name": "Format",
474 | "type": "command",
475 | "command": "editor.action.formatDocument",
476 | "when": "editorHasDocumentFormattingProvider && editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
477 | },
478 | {
479 | "key": "i",
480 | "name": "Implementation",
481 | "type": "command",
482 | "command": "editor.action.goToImplementation",
483 | "when": "editorHasImplementationProvider && editorTextFocus && !isInEmbeddedEditor"
484 | },
485 | {
486 | "key": "l",
487 | "name": "Code Lens",
488 | "type": "command",
489 | "command": "codelens.showLensesInCurrentLine"
490 | },
491 | {
492 | "key": "n",
493 | "name": "Next Problem",
494 | "type": "command",
495 | "command": "editor.action.marker.next",
496 | "when": "editorFocus"
497 | },
498 | {
499 | "key": "N",
500 | "name": "Next Problem (Proj)",
501 | "type": "command",
502 | "command": "editor.action.marker.nextInFiles",
503 | "when": "editorFocus"
504 | },
505 | {
506 | "key": "o",
507 | "name": "Outline",
508 | "type": "command",
509 | "command": "outline.focus"
510 | },
511 | {
512 | "key": "p",
513 | "name": "Prev Problem",
514 | "type": "command",
515 | "command": "editor.action.marker.prevInFiles",
516 | "when": "editorFocus"
517 | },
518 | {
519 | "key": "P",
520 | "name": "Prev Problem (Proj)",
521 | "type": "command",
522 | "command": "editor.action.marker.prev",
523 | "when": "editorFocus"
524 | },
525 | {
526 | "key": "q",
527 | "name": "Quick Fix",
528 | "type": "command",
529 | "command": "editor.action.quickFix",
530 | "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
531 | },
532 | {
533 | "key": "r",
534 | "name": "References",
535 | "type": "command",
536 | "command": "editor.action.goToReferences",
537 | "when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
538 | },
539 | {
540 | "key": "R",
541 | "name": "Rename",
542 | "type": "command",
543 | "command": "editor.action.rename",
544 | "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
545 | },
546 | {
547 | "key": "v",
548 | "name": "View All References",
549 | "type": "command",
550 | "command": "references-view.find",
551 | "when": "editorHasReferenceProvider"
552 | },
553 | {
554 | "key": "s",
555 | "name": "Go To Symbol",
556 | "type": "command",
557 | "command": "workbench.action.gotoSymbol"
558 | },
559 | {
560 | "key": "S",
561 | "name": "Show All Symbols",
562 | "type": "command",
563 | "command": "workbench.action.showAllSymbols"
564 | }
565 | ]
566 | },
567 | {
568 | "key": "m",
569 | "name": "Mark...",
570 | "type": "bindings",
571 | "bindings": [
572 | {
573 | "key": "c",
574 | "name": "Clear Bookmarks",
575 | "type": "command",
576 | "command": "bookmarks.clear"
577 | },
578 | {
579 | "key": "j",
580 | "name": "Next Bookmark",
581 | "type": "command",
582 | "command": "bookmarks.jumpToNext",
583 | "when": "editorTextFocus"
584 | },
585 | {
586 | "key": "k",
587 | "name": "Previous Bookmark",
588 | "type": "command",
589 | "command": "bookmarks.jumpToPrevious",
590 | "when": "editorTextFocus"
591 | },
592 | {
593 | "key": "l",
594 | "name": "List Bookmarks",
595 | "type": "command",
596 | "command": "bookmarks.listFromAllFiles",
597 | "when": "editorTextFocus"
598 | },
599 | {
600 | "key": "r",
601 | "name": "Refresh Bookmarks",
602 | "type": "command",
603 | "command": "bookmarks.refresh"
604 | },
605 | {
606 | "key": "t",
607 | "name": "Toggle Bookmark",
608 | "type": "command",
609 | "command": "bookmarks.toggle",
610 | "when": "editorTextFocus"
611 | },
612 | {
613 | "key": "s",
614 | "name": "Show Bookmarks",
615 | "type": "command",
616 | "command": "workbench.view.extension.bookmarks"
617 | }
618 | ]
619 | },
620 | {
621 | "key": "M",
622 | "name": "Minimap",
623 | "type": "command",
624 | "command": "editor.action.toggleMinimap"
625 | },
626 | {
627 | "key": "n",
628 | "name": "No Highlight",
629 | "type": "command",
630 | "command": "vscode-neovim.send",
631 | "args": ":noh"
632 | },
633 | {
634 | "key": "o",
635 | "name": "Open...",
636 | "type": "bindings",
637 | "bindings": [
638 | {
639 | "key": "d",
640 | "name": "Directory",
641 | "type": "command",
642 | "command": "workbench.action.files.openFolder"
643 | },
644 | {
645 | "key": "r",
646 | "name": "Recent",
647 | "type": "command",
648 | "command": "workbench.action.openRecent"
649 | },
650 | {
651 | "key": "f",
652 | "name": "File",
653 | "type": "command",
654 | "command": "workbench.action.files.openFile"
655 | }
656 | ]
657 | },
658 | {
659 | "key": "p",
660 | "name": "Peek...",
661 | "type": "bindings",
662 | "bindings": [
663 | {
664 | "key": "d",
665 | "name": "Definition",
666 | "type": "command",
667 | "command": "editor.action.peekDefinition",
668 | "when": "editorHasDefinitionProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
669 | },
670 | {
671 | "key": "D",
672 | "name": "Declaration",
673 | "type": "command",
674 | "command": "editor.action.peekDeclaration"
675 | },
676 | {
677 | "key": "i",
678 | "name": "Implementation",
679 | "type": "command",
680 | "command": "editor.action.peekImplementation",
681 | "when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
682 | },
683 | {
684 | "key": "p",
685 | "name": "Toggle Focus",
686 | "type": "command",
687 | "command": "togglePeekWidgetFocus",
688 | "when": "inReferenceSearchEditor || referenceSearchVisible"
689 | },
690 | {
691 | "key": "r",
692 | "name": "References",
693 | "type": "command",
694 | "command": "editor.action.referenceSearch.trigger"
695 | },
696 | {
697 | "key": "t",
698 | "name": "Type Definition",
699 | "type": "command",
700 | "command": "editor.action.peekTypeDefinition"
701 | }
702 | ]
703 | },
704 | {
705 | "key": "s",
706 | "name": "Search...",
707 | "type": "bindings",
708 | "bindings": [
709 | {
710 | "key": "f",
711 | "name": "Files",
712 | "type": "command",
713 | "command": "workbench.action.quickOpen"
714 | },
715 | {
716 | "key": "t",
717 | "name": "Text",
718 | "type": "command",
719 | "command": "workbench.action.findInFiles"
720 | }
721 | ]
722 | },
723 | {
724 | "key": "S",
725 | "name": "Show...",
726 | "type": "bindings",
727 | "bindings": [
728 | {
729 | "key": "e",
730 | "name": "Show explorer",
731 | "type": "command",
732 | "command": "workbench.view.explorer"
733 | },
734 | {
735 | "key": "s",
736 | "name": "Show search",
737 | "type": "command",
738 | "command": "workbench.view.search"
739 | },
740 | {
741 | "key": "g",
742 | "name": "Show source control",
743 | "type": "command",
744 | "command": "workbench.view.scm"
745 | },
746 | {
747 | "key": "t",
748 | "name": "Show test",
749 | "type": "command",
750 | "command": "workbench.view.extension.test"
751 | },
752 | {
753 | "key": "r",
754 | "name": "Show remote explorer",
755 | "type": "command",
756 | "command": "workbench.view.remote"
757 | },
758 | {
759 | "key": "x",
760 | "name": "Show extensions",
761 | "type": "command",
762 | "command": "workbench.view.extensions"
763 | },
764 | {
765 | "key": "p",
766 | "name": "Show problem",
767 | "type": "command",
768 | "command": "workbench.actions.view.problems"
769 | },
770 | {
771 | "key": "o",
772 | "name": "Show output",
773 | "type": "command",
774 | "command": "workbench.action.output.toggleOutput"
775 | },
776 | {
777 | "key": "d",
778 | "name": "Show debug console",
779 | "type": "command",
780 | "command": "workbench.debug.action.toggleRepl"
781 | }
782 | ]
783 | },
784 | {
785 | "key": "t",
786 | "name": "Terminal...",
787 | "type": "bindings",
788 | "bindings": [
789 | {
790 | "key": "t",
791 | "name": "Toggle Terminal",
792 | "type": "command",
793 | "command": "workbench.action.togglePanel"
794 | },
795 | {
796 | "key": "T",
797 | "name": "Focus Terminal",
798 | "type": "command",
799 | "command": "workbench.action.terminal.toggleTerminal",
800 | "when": "!terminalFocus"
801 | }
802 | ]
803 | },
804 | {
805 | "key": "u",
806 | "name": "UI toggles...",
807 | "type": "bindings",
808 | "bindings": [
809 | {
810 | "key": "a",
811 | "name": "Toggle tool/activity bar visibility",
812 | "type": "command",
813 | "command": "workbench.action.toggleActivityBarVisibility"
814 | },
815 | {
816 | "key": "b",
817 | "name": "Toggle side bar visibility",
818 | "type": "command",
819 | "command": "workbench.action.toggleSidebarVisibility"
820 | },
821 | {
822 | "key": "j",
823 | "name": "Toggle panel visibility",
824 | "type": "command",
825 | "command": "workbench.action.togglePanel"
826 | },
827 | {
828 | "key": "F",
829 | "name": "Toggle full screen",
830 | "type": "command",
831 | "command": "workbench.action.toggleFullScreen"
832 | },
833 | {
834 | "key": "s",
835 | "name": "Select theme",
836 | "type": "command",
837 | "command": "workbench.action.selectTheme"
838 | },
839 | {
840 | "key": "m",
841 | "name": "Toggle maximized panel",
842 | "type": "command",
843 | "command": "workbench.action.toggleMaximizedPanel"
844 | },
845 | {
846 | "key": "T",
847 | "name": "Toggle tab visibility",
848 | "type": "command",
849 | "command": "workbench.action.toggleTabsVisibility"
850 | }
851 | ]
852 | },
853 | {
854 | "key": "v",
855 | "name": "Split Vertical",
856 | "type": "command",
857 | "command": "workbench.action.splitEditor"
858 | },
859 | {
860 | "key": "w",
861 | "name": "Window...",
862 | "type": "bindings",
863 | "bindings": [
864 | {
865 | "key": "W",
866 | "name": "Focus previous editor group",
867 | "type": "command",
868 | "command": "workbench.action.focusPreviousGroup"
869 | },
870 | {
871 | "key": "h",
872 | "name": "Move editor group left",
873 | "type": "command",
874 | "command": "workbench.action.moveActiveEditorGroupLeft"
875 | },
876 | {
877 | "key": "j",
878 | "name": "Move editor group down",
879 | "type": "command",
880 | "command": "workbench.action.moveActiveEditorGroupDown"
881 | },
882 | {
883 | "key": "k",
884 | "name": "Move editor group up",
885 | "type": "command",
886 | "command": "workbench.action.moveActiveEditorGroupUp"
887 | },
888 | {
889 | "key": "l",
890 | "name": "Move editor group right",
891 | "type": "command",
892 | "command": "workbench.action.moveActiveEditorGroupRight"
893 | },
894 | {
895 | "key": "t",
896 | "name": "Toggle editor group sizes",
897 | "type": "command",
898 | "command": "workbench.action.toggleEditorWidths"
899 | },
900 | {
901 | "key": "m",
902 | "name": "Maximize editor group",
903 | "type": "command",
904 | "command": "workbench.action.minimizeOtherEditors"
905 | },
906 | {
907 | "key": "M",
908 | "name": "Maximize editor group and hide side bar",
909 | "type": "command",
910 | "command": "workbench.action.maximizeEditor"
911 | },
912 | {
913 | "key": "=",
914 | "name": "Reset editor group sizes",
915 | "type": "command",
916 | "command": "workbench.action.evenEditorWidths"
917 | },
918 | {
919 | "key": "z",
920 | "name": "Combine all editors",
921 | "type": "command",
922 | "command": "workbench.action.joinAllGroups"
923 | },
924 | {
925 | "key": "d",
926 | "name": "Close editor group",
927 | "type": "command",
928 | "command": "workbench.action.closeEditorsInGroup"
929 | },
930 | {
931 | "key": "x",
932 | "name": "Close all editor groups",
933 | "type": "command",
934 | "command": "workbench.action.closeAllGroups"
935 | }
936 | ]
937 | },
938 | {
939 | "key": "x",
940 | "name": "Extensions",
941 | "type": "command",
942 | "command": "workbench.view.extensions"
943 | },
944 | {
945 | "key": "y",
946 | "name": "Sync...",
947 | "type": "bindings",
948 | "bindings": [
949 | {
950 | "key": "d",
951 | "name": "Download Settings",
952 | "type": "command",
953 | "command": "extension.downloadSettings"
954 | },
955 | {
956 | "key": "u",
957 | "name": "Upload Settings",
958 | "type": "command",
959 | "command": "extension.updateSettings"
960 | }
961 | ]
962 | },
963 | {
964 | "key": "z",
965 | "name": "Toggle zen mode",
966 | "type": "command",
967 | "command": "workbench.action.toggleZenMode"
968 | }
969 | ],
970 | "sync.gist": "939951904a077b97f8001bc35f6b5948",
971 | "gitlens.hovers.currentLine.over": "line",
972 | "editor.suggestSelection": "first",
973 | "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
974 | "python.pythonPath": "/home/chris/.miniconda/envs/todo/bin/python",
975 | "workbench.list.automaticKeyboardNavigation": false,
976 | "oneDarkPro.editorTheme": "onedarkPro",
977 | "python.languageServer": "Pylance",
978 | "editor.scrollbar.horizontal": "hidden",
979 | "editor.scrollbar.vertical": "hidden",
980 | "kite.showWelcomeNotificationOnStartup": false,
981 | "python.terminal.activateEnvironment": false,
982 | "editor.cursorBlinking": "solid",
983 | "editor.fontFamily": "JetBrainsMono Nerd Font, Hack, Menlo, Monaco, 'Courier New', monospace",
984 | "files.exclude": {
985 | "**/.classpath": true,
986 | "**/.project": true,
987 | "**/.settings": true,
988 | "**/.factorypath": true
989 | },
990 | "terminal.external.osxExec": "iTerm.app",
991 | "editor.minimap.enabled": false,
992 | "leetcode.workspaceFolder": "/Users/chris/Repos/leetcode",
993 | "leetcode.defaultLanguage": "javascript",
994 | "leetcode.hint.configWebviewMarkdown": false,
995 | "leetcode.hint.commentDescription": false,
996 | "window.menuBarVisibility": "compact",
997 | "python.condaPath": "$HOME/.miniconda/bin/conda",
998 | "python.formatting.provider": "black",
999 | "python.insidersChannel": "off",
1000 | "terminal.integrated.shell.linux": "/bin/zsh",
1001 | "terminal.external.linuxExec": "/usr/bin/alacritty",
1002 | "code-runner.executorMap": {
1003 | "python": "$pythonPath $fileName",
1004 | "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
1005 | "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
1006 | },
1007 | "editor.tokenColorCustomizations": {
1008 | "[One Dark Pro]": {
1009 | "textMateRules": [
1010 | {
1011 | "scope": [
1012 | "support.class.component.open.jsx",
1013 | "support.class.component.close.jsx",
1014 | "entity.name.function.js"
1015 | ],
1016 | "settings": {
1017 | "foreground": "#61afef"
1018 | }
1019 | },
1020 |
1021 | {
1022 | "scope": [
1023 | "variable.other.constant.object.js",
1024 |
1025 | "punctuation.section.embedded.begin.jsx",
1026 | "punctuation.section.embedded.end.jsx"
1027 | ],
1028 | "settings": {
1029 | "foreground": "#abb2bf"
1030 | }
1031 | },
1032 | {
1033 | "scope": ["punctuation.definition.tag.jsx"],
1034 | "settings": {
1035 | "foreground": "#5c6370"
1036 | }
1037 | },
1038 | {
1039 | "scope": [
1040 | "variable.other.readwrite.js",
1041 | "variable.other.property.js",
1042 | "variable.parameter",
1043 | "variable.other.object.js"
1044 | ],
1045 | "settings": {
1046 | "foreground": "#56b6c2"
1047 | }
1048 | },
1049 | {
1050 | "scope": ["entity.other.attribute-name.jsx"],
1051 | "settings": {
1052 | "foreground": "#e5c07b"
1053 | }
1054 | },
1055 | {
1056 | "scope": [
1057 | "keyword.operator.assignment.js",
1058 | "keyword.operator.assignment.jsx",
1059 | "string.unquoted.js",
1060 | "keyword.operator.typeof.js",
1061 | "meta.embedded.expression.js",
1062 | "constant.other.object.key.js",
1063 | "keyword.operator.logical.js"
1064 | ],
1065 | "settings": {
1066 | "foreground": "#c678dd"
1067 | }
1068 | },
1069 | {
1070 | "scope": ["variable.other.constant.object.js"],
1071 | "settings": {
1072 | "foreground": "#e06c75"
1073 | }
1074 | }
1075 | ]
1076 | }
1077 | },
1078 |
1079 | "workbench.colorCustomizations": {
1080 | "[Default Dark+]": {
1081 | "statusBar.background": "#2E2E2E",
1082 | "statusBar.foreground": "#8C8C8C",
1083 | "statusBarItem.remoteBackground": "#2E2E2E",
1084 | "statusBarItem.remoteForeground": "#8C8C8C",
1085 | "activityBar.background": "#2E2E2E",
1086 | "tab.inactiveBackground": "#2E2E2E"
1087 | },
1088 | "[One Dark Pro]": {
1089 | "editor.background": "#1e2127",
1090 | "terminal.foreground": "#abb2bf",
1091 | "terminal.ansiBlack": "#1e2127",
1092 | "terminal.ansiBlue": "#61afef",
1093 | "terminal.ansiCyan": "#56b6c2",
1094 | "terminal.ansiGreen": "#98C379",
1095 | "terminal.ansiMagenta": "#c678dd",
1096 | "terminal.ansiRed": "#e06c75",
1097 | "terminal.ansiWhite": "#abb2bf",
1098 | "terminal.ansiYellow": "#d19a66",
1099 | "terminal.ansiBrightBlack": "#5c6370",
1100 | "terminal.ansiBrightBlue": "#61afef",
1101 | "terminal.ansiBrightCyan": "#56b6c2",
1102 | "terminal.ansiBrightGreen": "#98c379",
1103 | "terminal.ansiBrightMagenta": "#c678dd",
1104 | "terminal.ansiBrightRed": "#e06c75",
1105 | "terminal.ansiBrightWhite": "#ffffff",
1106 | "terminal.ansiBrightYellow": "#d19a66"
1107 | }
1108 | },
1109 | "gitlens.currentLine.enabled": false,
1110 | "[javascript]": {
1111 | "editor.defaultFormatter": "esbenp.prettier-vscode"
1112 | },
1113 | "emmet.showSuggestionsAsSnippets": true,
1114 | "material-icon-theme.showWelcomeMessage": false,
1115 | "workbench.iconTheme": "material-icon-theme",
1116 | "git.autofetch": true,
1117 | "workbench.startupEditor": "newUntitledFile",
1118 | "python.showStartPage": false,
1119 | "editor.snippetSuggestions": "bottom",
1120 | "editor.fontLigatures": true,
1121 | "javascript.referencesCodeLens.enabled": true,
1122 | "workbench.editorAssociations": {
1123 | "*.ipynb": "jupyter-notebook"
1124 | },
1125 | "jupyter.alwaysTrustNotebooks": true,
1126 | "jupyter.insidersChannel": "off",
1127 | "debug.inlineValues": true,
1128 | "gitlens.codeLens.enabled": false,
1129 | "gitlens.hovers.annotations.over": "annotation",
1130 | "gitlens.hovers.enabled": false,
1131 | "window.zoomLevel": 1,
1132 | "java.configuration.runtimes": [
1133 |
1134 |
1135 | {
1136 | "name": "JavaSE-1.8",
1137 | "path": "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
1138 | },
1139 | ],
1140 | "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"/Users/cchiar706/.vscode-oss/extensions/gabrielbb.vscode-lombok-1.0.0/server/lombok.jar\"",
1141 | "redhat.telemetry.enabled": false,
1142 | "security.workspace.trust.untrustedFiles": "open",
1143 | "notebook.cellToolbarLocation": {
1144 | "default": "right",
1145 | "jupyter-notebook": "left"
1146 | },
1147 | }
1148 |
--------------------------------------------------------------------------------