From d5dba5bf0c46ed6e5d26b32bb9e0e7a1575ac304 Mon Sep 17 00:00:00 2001 From: pancakes Date: Fri, 29 Nov 2024 00:21:54 +1000 Subject: [PATCH] Everything I'm using now --- btop/.config/btop/btop.conf | 248 -- code/.config/Code - OSS/User/settings.json | 7 +- foot/dot-config/foot/foot.ini | 35 + fuzzel/.config/fuzzel/fuzzel.ini | 21 - gtk/.config/gtk-3.0/settings.ini | 2 - justfile | 181 +- kanshi/.config/kanshi/config | 33 - kitty/.config/kitty/current-theme.conf | 45 - kitty/.config/kitty/kitty.conf | 2459 ----------------- lf/.config/lf/lfrc | 219 -- lf/.config/lf/scripts/lf_kitty_clean | 5 - lf/.config/lf/scripts/lf_kitty_preview | 20 - mako/.config/mako/config | 8 - mpv/.config/mpv/mpv.conf | 6 - mpv/.config/mpv/script-opts/uosc.conf | 233 -- ranger/{.config => dot-config}/ranger/rc.conf | 51 +- ranger/dot-config/ranger/scope.sh | 356 +++ river/.config/river/init | 220 -- river/.config/xdg-desktop-portal-wlr/river | 3 - .../portals/gnome-keyring.portal | 4 - .../xdg-desktop-portal/river-portals.conf | 4 - screenshot.sh | 41 - ssh/dot-ssh/config | 2 + swaylock/.config/swaylock/config | 26 - waybar/.config/waybar/config | 101 - waybar/.config/waybar/scripts/micmute.sh | 2 - waybar/.config/waybar/style.css | 163 -- wlogout/.config/wlogout/icons/lock-hover.png | Bin 13691 -> 0 bytes wlogout/.config/wlogout/icons/lock.png | Bin 13587 -> 0 bytes .../.config/wlogout/icons/logout-hover.png | Bin 13183 -> 0 bytes wlogout/.config/wlogout/icons/logout.png | Bin 13086 -> 0 bytes .../.config/wlogout/icons/reboot-hover.png | Bin 19382 -> 0 bytes wlogout/.config/wlogout/icons/reboot.png | Bin 19500 -> 0 bytes .../.config/wlogout/icons/shutdown-hover.png | Bin 22379 -> 0 bytes wlogout/.config/wlogout/icons/shutdown.png | Bin 22333 -> 0 bytes .../.config/wlogout/icons/suspend-hover.png | Bin 10049 -> 0 bytes wlogout/.config/wlogout/icons/suspend.png | Bin 10058 -> 0 bytes wlogout/.config/wlogout/layout | 30 - wlogout/.config/wlogout/style.css | 87 - wm/dot-config/fuzzel/fuzzel.ini | 29 + wm/dot-config/gtklock/config.ini | 6 + wm/dot-config/mako/config | 14 + wm/dot-config/niri/config.kdl | 373 +++ wm/dot-config/swayidle/config | 3 + wm/dot-config/waybar/config.jsonc | 93 + wm/dot-config/waybar/style.css | 97 + 46 files changed, 1119 insertions(+), 4108 deletions(-) delete mode 100644 btop/.config/btop/btop.conf create mode 100644 foot/dot-config/foot/foot.ini delete mode 100644 fuzzel/.config/fuzzel/fuzzel.ini delete mode 100644 gtk/.config/gtk-3.0/settings.ini delete mode 100644 kanshi/.config/kanshi/config delete mode 100644 kitty/.config/kitty/current-theme.conf delete mode 100644 kitty/.config/kitty/kitty.conf delete mode 100644 lf/.config/lf/lfrc delete mode 100755 lf/.config/lf/scripts/lf_kitty_clean delete mode 100755 lf/.config/lf/scripts/lf_kitty_preview delete mode 100644 mako/.config/mako/config delete mode 100644 mpv/.config/mpv/mpv.conf delete mode 100644 mpv/.config/mpv/script-opts/uosc.conf rename ranger/{.config => dot-config}/ranger/rc.conf (96%) create mode 100755 ranger/dot-config/ranger/scope.sh delete mode 100755 river/.config/river/init delete mode 100644 river/.config/xdg-desktop-portal-wlr/river delete mode 100644 river/.config/xdg-desktop-portal/portals/gnome-keyring.portal delete mode 100644 river/.config/xdg-desktop-portal/river-portals.conf delete mode 100755 screenshot.sh create mode 100644 ssh/dot-ssh/config delete mode 100644 swaylock/.config/swaylock/config delete mode 100644 waybar/.config/waybar/config delete mode 100755 waybar/.config/waybar/scripts/micmute.sh delete mode 100644 waybar/.config/waybar/style.css delete mode 100644 wlogout/.config/wlogout/icons/lock-hover.png delete mode 100644 wlogout/.config/wlogout/icons/lock.png delete mode 100644 wlogout/.config/wlogout/icons/logout-hover.png delete mode 100644 wlogout/.config/wlogout/icons/logout.png delete mode 100644 wlogout/.config/wlogout/icons/reboot-hover.png delete mode 100644 wlogout/.config/wlogout/icons/reboot.png delete mode 100644 wlogout/.config/wlogout/icons/shutdown-hover.png delete mode 100644 wlogout/.config/wlogout/icons/shutdown.png delete mode 100644 wlogout/.config/wlogout/icons/suspend-hover.png delete mode 100644 wlogout/.config/wlogout/icons/suspend.png delete mode 100644 wlogout/.config/wlogout/layout delete mode 100644 wlogout/.config/wlogout/style.css create mode 100644 wm/dot-config/fuzzel/fuzzel.ini create mode 100644 wm/dot-config/gtklock/config.ini create mode 100644 wm/dot-config/mako/config create mode 100644 wm/dot-config/niri/config.kdl create mode 100644 wm/dot-config/swayidle/config create mode 100644 wm/dot-config/waybar/config.jsonc create mode 100644 wm/dot-config/waybar/style.css diff --git a/btop/.config/btop/btop.conf b/btop/.config/btop/btop.conf deleted file mode 100644 index de1273a..0000000 --- a/btop/.config/btop/btop.conf +++ /dev/null @@ -1,248 +0,0 @@ -#? Config file for btop v. 1.3.2 - -#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. -#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" -color_theme = "/usr/share/btop/themes/tokyo-night.theme" - -#* If the theme set background should be shown, set to False if you want terminal background transparency. -theme_background = False - -#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. -truecolor = True - -#* Set to true to force tty mode regardless if a real tty has been detected or not. -#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. -force_tty = False - -#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. -#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. -#* Use whitespace " " as separator between different presets. -#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" -presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" - -#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. -#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. -vim_keys = True - -#* Rounded corners on boxes, is ignored if TTY mode is ON. -rounded_corners = False - -#* Default symbols to use for graph creation, "braille", "block" or "tty". -#* "braille" offers the highest resolution but might not be included in all fonts. -#* "block" has half the resolution of braille but uses more common characters. -#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. -#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. -graph_symbol = "braille" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_cpu = "default" - -# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". -graph_symbol_gpu = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_mem = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_net = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_proc = "default" - -#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. -shown_boxes = "cpu mem proc" - -#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. -update_ms = 2000 - -#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", -#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. -proc_sorting = "cpu lazy" - -#* Reverse sorting order, True or False. -proc_reversed = False - -#* Show processes as a tree. -proc_tree = False - -#* Use the cpu graph colors in the process list. -proc_colors = True - -#* Use a darkening gradient in the process list. -proc_gradient = True - -#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. -proc_per_core = False - -#* Show process memory as bytes instead of percent. -proc_mem_bytes = True - -#* Show cpu graph for each process. -proc_cpu_graphs = True - -#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) -proc_info_smaps = False - -#* Show proc box on left side of screen instead of right. -proc_left = False - -#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). -proc_filter_kernel = False - -#* In tree-view, always accumulate child process resources in the parent process. -proc_aggregate = False - -#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. -#* Select from a list of detected attributes from the options menu. -cpu_graph_upper = "Auto" - -#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. -#* Select from a list of detected attributes from the options menu. -cpu_graph_lower = "Auto" - -#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". -show_gpu_info = "Auto" - -#* Toggles if the lower CPU graph should be inverted. -cpu_invert_lower = True - -#* Set to True to completely disable the lower CPU graph. -cpu_single_graph = False - -#* Show cpu box at bottom of screen instead of top. -cpu_bottom = False - -#* Shows the system uptime in the CPU box. -show_uptime = True - -#* Show cpu temperature. -check_temp = True - -#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. -cpu_sensor = "Auto" - -#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. -show_coretemp = True - -#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. -#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. -#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. -#* Example: "4:0 5:1 6:3" -cpu_core_map = "" - -#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". -temp_scale = "celsius" - -#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. -base_10_sizes = False - -#* Show CPU frequency. -show_cpu_freq = True - -#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. -#* Special formatting: /host = hostname | /user = username | /uptime = system uptime -clock_format = "%X" - -#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. -background_update = True - -#* Custom cpu model name, empty string to disable. -custom_cpu_name = "" - -#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". -#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". -disks_filter = "" - -#* Show graphs instead of meters for memory values. -mem_graphs = True - -#* Show mem box below net box instead of above. -mem_below_net = False - -#* Count ZFS ARC in cached and available memory. -zfs_arc_cached = True - -#* If swap memory should be shown in memory box. -show_swap = True - -#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. -swap_disk = True - -#* If mem box should be split to also show disks info. -show_disks = True - -#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. -only_physical = True - -#* Read disks list from /etc/fstab. This also disables only_physical. -use_fstab = True - -#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) -zfs_hide_datasets = False - -#* Set to true to show available disk space for privileged users. -disk_free_priv = False - -#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. -show_io_stat = True - -#* Toggles io mode for disks, showing big graphs for disk read/write speeds. -io_mode = False - -#* Set to True to show combined read/write io graphs in io mode. -io_graph_combined = False - -#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". -#* Example: "/mnt/media:100 /:20 /boot:1". -io_graph_speeds = "" - -#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. -net_download = 100 - -net_upload = 100 - -#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. -net_auto = True - -#* Sync the auto scaling for download and upload to whichever currently has the highest scale. -net_sync = True - -#* Starts with the Network Interface specified here. -net_iface = "" - -#* Show battery stats in top right if battery is present. -show_battery = True - -#* Which battery to use if multiple are present. "Auto" for auto detection. -selected_battery = "Auto" - -#* Show power stats of battery next to charge indicator. -show_battery_watts = True - -#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". -#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. -log_level = "WARNING" - -#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. -nvml_measure_pcie_speeds = True - -#* Horizontally mirror the GPU graph. -gpu_mirror_graph = True - -#* Custom gpu0 model name, empty string to disable. -custom_gpu_name0 = "" - -#* Custom gpu1 model name, empty string to disable. -custom_gpu_name1 = "" - -#* Custom gpu2 model name, empty string to disable. -custom_gpu_name2 = "" - -#* Custom gpu3 model name, empty string to disable. -custom_gpu_name3 = "" - -#* Custom gpu4 model name, empty string to disable. -custom_gpu_name4 = "" - -#* Custom gpu5 model name, empty string to disable. -custom_gpu_name5 = "" diff --git a/code/.config/Code - OSS/User/settings.json b/code/.config/Code - OSS/User/settings.json index 4f711b4..03e0dcf 100644 --- a/code/.config/Code - OSS/User/settings.json +++ b/code/.config/Code - OSS/User/settings.json @@ -34,5 +34,10 @@ "window.restoreWindows": "one", "window.zoomLevel": 2, "workbench.iconTheme": "material-icon-theme", - "workbench.startupEditor": "none" + "workbench.startupEditor": "none", + "svelte.enable-ts-plugin": true, + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "workbench.colorTheme": "Tokyo Night" } \ No newline at end of file diff --git a/foot/dot-config/foot/foot.ini b/foot/dot-config/foot/foot.ini new file mode 100644 index 0000000..d70f789 --- /dev/null +++ b/foot/dot-config/foot/foot.ini @@ -0,0 +1,35 @@ +[main] +font=FiraCode Nerd Font:size=13 +box-drawings-uses-font-glyphs=yes + +[environment] +RANGER_LOAD_DEFAULT_RC="FALSE" + +[bell] +urgent=yes +notify=yes +visual=yes + +[mouse] +hide-when-typing=yes + +[colors] +foreground=a9b1d6 +background=1a1b26 +regular0=32344a +regular1=f7768e +regular2=9ece6a +regular3=e0af68 +regular4=7aa2f7 +regular5=ad8ee6 +regular6=449dab +regular7=787c99 +bright0=444b6a +bright1=ff7a93 +bright2=b9f27c +bright3=ff9e64 +bright4=7da6ff +bright5=bb9af7 +bright6=0db9d7 +bright7=acb0d0 +alpha=0.9 \ No newline at end of file diff --git a/fuzzel/.config/fuzzel/fuzzel.ini b/fuzzel/.config/fuzzel/fuzzel.ini deleted file mode 100644 index db0313e..0000000 --- a/fuzzel/.config/fuzzel/fuzzel.ini +++ /dev/null @@ -1,21 +0,0 @@ -font=Noto Sans:size=14 -prompt=":3 " -icon-theme=Adwaita -show-actions=yes -terminal=alacritty -e -horizontal-pad=8 -vertical-pad=8 -inner-pad=8 - -[colors] -background=1a1b26e6 -text=c0caf5ff -match=bb9af7ff -selection=bb9af7ff -selection-text=1a1b26e6 -selection-match=c0caf5ff -border=414868ff - -[border] -width=2 -radius=0 diff --git a/gtk/.config/gtk-3.0/settings.ini b/gtk/.config/gtk-3.0/settings.ini deleted file mode 100644 index 2189857..0000000 --- a/gtk/.config/gtk-3.0/settings.ini +++ /dev/null @@ -1,2 +0,0 @@ -[Settings] -gtk-application-prefer-dark-theme = true diff --git a/justfile b/justfile index f8992a8..147a6db 100644 --- a/justfile +++ b/justfile @@ -4,121 +4,110 @@ username := env_var('USER') default: @just --list --justfile {{justfile()}} -install-codecs: - sudo pacman -S gst-libav gst-plugin-va gst-plugins-bad gst-plugins-base gst-plugins-good gstreamer - -# Install C# dev environment -install-dev-csharp: - sudo pacman -S aspnet-runtime aspnet-targeting-pack dotnet-sdk dotnet-runtime dotnet-targeting-pack - sudo dotnet workload install wasm-tools - -install-dev-node: - sudo pacman -S nodejs npm - -install-dev-python: - sudo pacman -S python python-pip - -# Install Rust dev environment -install-dev-rust: - sudo pacman -S rustup - rustup install stable - -# Install Docker and docker-compose -install-docker: - sudo pacman -S docker docker-compose - sudo systemctl enable docker.socket - -install-essentials-cli: - sudo pacman -S base-devel btop curl eza fastfetch ffmpeg flatpak fwupd fzf hunspell hunspell-en_au hunspell-en_us man-db man-pages nvtop openssh p7zip reflector ripgrep unrar vim vulkan-tools xdg-user-dirs yt-dlp - -install-essentials-gui: - sudo pacman -S audacity blue-utils code easyeffects firefox freerdp2 gamemode gimp goverlay kate kdeconnect libva-vdpau-driver libva-utils libvdpau-va-gl lsp-plugins-lv2 mangohud mesa-vdpau mpv power-profiles-daemon steam syncthing ttf-firacode-nerd ttf-liberation wine wine-gecko wine-mono winetricks wqy-zenhei - ame install arrpc protontricks vesktop - flatpak install ca.parallel_launcher.ParallelLauncher com.heroicgameslauncher.hgl com.logseq.Logseq com.obsproject.Studio net.davidotek.pupgui2 org.prismlauncher.PrismLauncher - systemctl enable --now --user arrpc - sudo systemctl enable --now bluetooth - sudo systemctl enable --now power-profiles-daemon - systemctl enable --now --user syncthing - -# Install fish and plugin manager -install-fish: - sudo pacman -S fish pkgfile - fish -c "curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher" - -# Setup reflector and enable timer -setup-arch-mirrors: +# Arch Linux package mirrors & timer for fetching best mirrors +arch-mirrors: sudo reflector --country 'Australia,New Zealand,' --latest 15 --protocol https --sort rate --save /etc/pacman.d/mirrorlist sudo systemctl enable --now reflector.timer -# Installs the ame AUR helper -setup-aur: +# Arch User Repository +aur: rustup install stable - rm -rf /tmp/ame - git clone https://aur.archlinux.org/ame.git /tmp/ame - cd /tmp/ame; makepkg -si - rm -rf /tmp/ame + rm -rf /tmp/paru-git + git clone https://aur.archlinux.org/paru-git.git /tmp/paru-git + cd /tmp/paru-git; makepkg -si + rm -rf /tmp/paru-git -# Installs VSCodium extensions -setup-code: - code-oss --install-extension davidanson.vscode-markdownlint - code-oss --install-extension irongeek.vscode-env - code-oss --install-extension kokakiwi.vscode-just - code-oss --install-extension ms-vscode.live-server - code-oss --install-extension naumovs.color-highlight - code-oss --install-extension pkief.material-icon-theme - code-oss --install-extension redhat.vscode-yaml - code-oss --install-extension rust-lang.rust-analyzer - code-oss --install-extension serayuzgur.crates - code-oss --install-extension spgoding.datapack-language-server - code-oss --install-extension tamasfe.even-better-toml - code-oss --install-extension usernamehw.errorlens +# Essential CLI tools & utils +cli: + sudo pacman -S base-devel btop curl eza fastfetch ffmpeg fwupd fzf man-db man-pages nvtop openssh reflector ripgrep unrar vim vulkan-tools xdg-user-dirs yt-dlp -setup-flatpak: +# ranger terminal file browser +cli-ranger: + sudo pacman -S atool ffmpegthumbnailer highlight mediainfo p7zip transmission-cli unzip w3m zip + paru -S ranger-git + pipx install no_vtf python-bidi + + stow --dotfiles -S ranger + +codecs: + sudo pacman -S gst-libav gst-plugin-va gst-plugins-bad gst-plugins-base gst-plugins-good gstreamer + +# C#/.NET dev environment & Rider editor +dev-csharp: + sudo pacman -S aspnet-runtime aspnet-targeting-pack dotnet-sdk dotnet-runtime dotnet-targeting-pack + sudo dotnet workload install wasm-tools + paru -S rider + +# Node dev environment +dev-node: + sudo pacman -S nodejs npm + +# Python dev environment & PyCharm editor +dev-python: + sudo pacman -S pycharm-community-edition python python-pip python-pipx python-venv + + fish -c "fish_add_path $HOME/.local/bin" + +# Rust dev environment +dev-rust: + sudo pacman -S rustup + rustup install stable + +# Docker container runtime +docker: + sudo pacman -S docker docker-compose + sudo systemctl enable --now docker + +# Flatpak & Flathub package repository +flatpak: + sudo pacman -S flatpak flatpak-xdg-utils flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo -# Set up git global config. Still need to manually set user.signingkey -setup-git: +# foot terminal emulator +foot: + sudo pacman -S foot foot-terminfo + + stow --dotfiles -S foot + +# Steam, Heroic, Prism Launcher, Gamescope, MangoHud & other utils +games: + sudo pacman -S gamemode gamescope goverlay mangohud steam ttf-liberation wine wine-gecko wine-mono winetricks wqy-zenhei + paru -S protontricks + flatpak install ca.parallel_launcher.ParallelLauncher com.heroicgameslauncher.hgl net.davidotek.pupgui2 org.prismlauncher.PrismLauncher + +# git global config +git: git config --global commit.gpgsign true git config --global init.defaultBranch "main" git config --global user.email "trypancakes@tutanota.com" git config --global user.name "pancakes" -# Installs mpv scripts -setup-mpv: - mkdir -p ~/.config/mpv/scripts - curl https://raw.githubusercontent.com/mpv-player/mpv/master/TOOLS/lua/autodeint.lua -o ~/.config/mpv/scripts/autodeint.lua - curl https://raw.githubusercontent.com/po5/thumbfast/master/thumbfast.lua -o ~/.config/mpv/scripts/thumbfast.lua - curl -fsSL https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/unix.sh | bash +# Syncthing file sync +syncthing: + sudo pacman -S syncthing + systemctl enable --now --user syncthing -# Configure fish and plugins -setup-shell: - chsh -s /usr/bin/fish - fish -c "set -U fish_greeting" - fish -c "set -U MOZ_ENABLE_WAYLAND 1" - fish -c "set -U MOZ_USE_XINPUT2 1" - fish -c "set -U VISUAL vim" - fish -c "curl -sL https://raw.githubusercontent.com/folke/tokyonight.nvim/main/extras/fish/tokyonight_night.fish | source" - fish -c "fisher install franciscolourenco/done" - fish -c "fisher install jorgebucaran/autopair.fish" - fish -c "fisher install jorgebucaran/hydro" - fish -c "fisher install meaningful-ooo/sponge" - fish -c "fisher install nickeb96/puffer-fish" - -# Enable and authenticate with Tailscale -setup-tailscale: +# Tailscale private VPN +tailscale: + sudo pacman -S tailscale sudo systemctl enable --now tailscaled sudo tailscale up --operator={{username}} --ssh=true -# Installs Waydroid with GAPPS -setup-waydroid: +# Waydroid Android emulator with Google Apps +waydroid: ame install binder_linux-dkms waydroid sudo waydroid init -s GAPPS sudo systemctl enable --now waydroid-container waydroid session start & -# Stows all dotfiles into the correct locations -stow: - stow btop - stow code - stow mangohud - stow mpv +# window manager and required programs +wm: + sudo pacman -S bluez bluez-utils cliphist easyeffects firefox fuzzel gdm gnome-keyring gtklock hunspell hunspell-en_au hunspell-en_us mako niri noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra power-profiles-daemon swayidle swww ttf-firacode-nerd ttf-font-awesome waybar wl-clipboard xdg-desktop-portal-gnome + paru -S xwayland-satellite + flatpak install it.mijorus.smile + + sudo systemctl enable --now bluetooth + sudo systemctl enable gdm + sudo systemctl enable --now power-profiles-daemon + + stow --dotfiles -S wm diff --git a/kanshi/.config/kanshi/config b/kanshi/.config/kanshi/config deleted file mode 100644 index 7e68023..0000000 --- a/kanshi/.config/kanshi/config +++ /dev/null @@ -1,33 +0,0 @@ -profile amida { - output "AOC 27G2G4 GYGL9HA232568" { - adaptive_sync on - mode 1920x1080@144Hz - } - - exec pkill swaybg; riverctl spawn "swaybg -i ~/.wallpaper -m fill" -} - -profile amida2 { - output "AOC 27G2G4 GYGL9HA232568" { - adaptive_sync on - mode 1920x1080@144Hz - position 1080,350 - } - - output "AOC 2470W GGJH9HA056165" { - adaptive_sync off - mode 1920x1080@60Hz - position 0,0 - transform 90 - } - - exec pkill swaybg; riverctl spawn "swaybg -i ~/.wallpaper -m fill" -} - -profile vlam { - output eDP-1 { - scale 1.5 - } - - exec pkill swaybg; riverctl spawn "swaybg -i ~/.wallpaper -m fill" -} diff --git a/kitty/.config/kitty/current-theme.conf b/kitty/.config/kitty/current-theme.conf deleted file mode 100644 index 7ff8ff1..0000000 --- a/kitty/.config/kitty/current-theme.conf +++ /dev/null @@ -1,45 +0,0 @@ -# vim:ft=kitty - -## name: Tokyo Night -## license: MIT -## author: Folke Lemaitre -## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty_tokyonight_night.conf - - -background #1a1b26 -foreground #c0caf5 -selection_background #33467C -selection_foreground #c0caf5 -url_color #73daca -cursor #c0caf5 - -# Tabs -active_tab_background #7aa2f7 -active_tab_foreground #1f2335 -inactive_tab_background #292e42 -inactive_tab_foreground #545c7e -#tab_bar_background #15161E - -# normal -color0 #15161E -color1 #f7768e -color2 #9ece6a -color3 #e0af68 -color4 #7aa2f7 -color5 #bb9af7 -color6 #7dcfff -color7 #a9b1d6 - -# bright -color8 #414868 -color9 #f7768e -color10 #9ece6a -color11 #e0af68 -color12 #7aa2f7 -color13 #bb9af7 -color14 #7dcfff -color15 #c0caf5 - -# extended colors -color16 #ff9e64 -color17 #db4b4b diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf deleted file mode 100644 index 6964228..0000000 --- a/kitty/.config/kitty/kitty.conf +++ /dev/null @@ -1,2459 +0,0 @@ -# vim:fileencoding=utf-8:foldmethod=marker - -#: Fonts {{{ - -#: kitty has very powerful font management. You can configure -#: individual font faces and even specify special fonts for particular -#: characters. - -font_family FiraCode Nerd Font -bold_font auto -italic_font auto -bold_italic_font auto - -#: You can specify different fonts for the bold/italic/bold-italic -#: variants. To get a full list of supported fonts use the `kitty -#: +list-fonts` command. By default they are derived automatically, by -#: the OSes font system. When bold_font or bold_italic_font is set to -#: auto on macOS, the priority of bold fonts is semi-bold, bold, -#: heavy. Setting them manually is useful for font families that have -#: many weight variants like Book, Medium, Thick, etc. For example:: - -#: font_family Operator Mono Book -#: bold_font Operator Mono Medium -#: italic_font Operator Mono Book Italic -#: bold_italic_font Operator Mono Medium Italic - -font_size 14.0 - -#: Font size (in pts) - -# force_ltr no - -#: kitty does not support BIDI (bidirectional text), however, for RTL -#: scripts, words are automatically displayed in RTL. That is to say, -#: in an RTL script, the words "HELLO WORLD" display in kitty as -#: "WORLD HELLO", and if you try to select a substring of an RTL- -#: shaped string, you will get the character that would be there had -#: the string been LTR. For example, assuming the Hebrew word ירושלים, -#: selecting the character that on the screen appears to be ם actually -#: writes into the selection buffer the character י. kitty's default -#: behavior is useful in conjunction with a filter to reverse the word -#: order, however, if you wish to manipulate RTL glyphs, it can be -#: very challenging to work with, so this option is provided to turn -#: it off. Furthermore, this option can be used with the command line -#: program GNU FriBidi -#: to get BIDI support, because it will force kitty to always treat -#: the text as LTR, which FriBidi expects for terminals. - -# symbol_map - -#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols - -#: Map the specified Unicode codepoints to a particular font. Useful -#: if you need special rendering for some symbols, such as for -#: Powerline. Avoids the need for patched fonts. Each Unicode code -#: point is specified in the form `U+`. You -#: can specify multiple code points, separated by commas and ranges -#: separated by hyphens. This option can be specified multiple times. -#: The syntax is:: - -#: symbol_map codepoints Font Family Name - -# narrow_symbols - -#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 - -#: Usually, for Private Use Unicode characters and some symbol/dingbat -#: characters, if the character is followed by one or more spaces, -#: kitty will use those extra cells to render the character larger, if -#: the character in the font has a wide aspect ratio. Using this -#: option you can force kitty to restrict the specified code points to -#: render in the specified number of cells (defaulting to one cell). -#: This option can be specified multiple times. The syntax is:: - -#: narrow_symbols codepoints [optionally the number of cells] - -# disable_ligatures never - -#: Choose how you want to handle multi-character ligatures. The -#: default is to always render them. You can tell kitty to not render -#: them when the cursor is over them by using cursor to make editing -#: easier, or have kitty never render them at all by using always, if -#: you don't like them. The ligature strategy can be set per-window -#: either using the kitty remote control facility or by defining -#: shortcuts for it in kitty.conf, for example:: - -#: map alt+1 disable_ligatures_in active always -#: map alt+2 disable_ligatures_in all never -#: map alt+3 disable_ligatures_in tab cursor - -#: Note that this refers to programming ligatures, typically -#: implemented using the calt OpenType feature. For disabling general -#: ligatures, use the font_features option. - -# font_features - -#: E.g. font_features none - -#: Choose exactly which OpenType features to enable or disable. This -#: is useful as some fonts might have features worthwhile in a -#: terminal. For example, Fira Code includes a discretionary feature, -#: zero, which in that font changes the appearance of the zero (0), to -#: make it more easily distinguishable from Ø. Fira Code also includes -#: other discretionary features known as Stylistic Sets which have the -#: tags ss01 through ss20. - -#: For the exact syntax to use for individual features, see the -#: HarfBuzz documentation . - -#: Note that this code is indexed by PostScript name, and not the font -#: family. This allows you to define very precise feature settings; -#: e.g. you can disable a feature in the italic font but not in the -#: regular font. - -#: On Linux, font features are first read from the FontConfig database -#: and then this option is applied, so they can be configured in a -#: single, central place. - -#: To get the PostScript name for a font, use `kitty +list-fonts -#: --psnames`: - -#: .. code-block:: sh - -#: $ kitty +list-fonts --psnames | grep Fira -#: Fira Code -#: Fira Code Bold (FiraCode-Bold) -#: Fira Code Light (FiraCode-Light) -#: Fira Code Medium (FiraCode-Medium) -#: Fira Code Regular (FiraCode-Regular) -#: Fira Code Retina (FiraCode-Retina) - -#: The part in brackets is the PostScript name. - -#: Enable alternate zero and oldstyle numerals:: - -#: font_features FiraCode-Retina +zero +onum - -#: Enable only alternate zero in the bold font:: - -#: font_features FiraCode-Bold +zero - -#: Disable the normal ligatures, but keep the calt feature which (in -#: this font) breaks up monotony:: - -#: font_features TT2020StyleB-Regular -liga +calt - -#: In conjunction with force_ltr, you may want to disable Arabic -#: shaping entirely, and only look at their isolated forms if they -#: show up in a document. You can do this with e.g.:: - -#: font_features UnifontMedium +isol -medi -fina -init - -# modify_font - -#: Modify font characteristics such as the position or thickness of -#: the underline and strikethrough. The modifications can have the -#: suffix px for pixels or % for percentage of original value. No -#: suffix means use pts. For example:: - -#: modify_font underline_position -2 -#: modify_font underline_thickness 150% -#: modify_font strikethrough_position 2px - -#: Additionally, you can modify the size of the cell in which each -#: font glyph is rendered and the baseline at which the glyph is -#: placed in the cell. For example:: - -#: modify_font cell_width 80% -#: modify_font cell_height -2px -#: modify_font baseline 3 - -#: Note that modifying the baseline will automatically adjust the -#: underline and strikethrough positions by the same amount. -#: Increasing the baseline raises glyphs inside the cell and -#: decreasing it lowers them. Decreasing the cell size might cause -#: rendering artifacts, so use with care. - -# box_drawing_scale 0.001, 1, 1.5, 2 - -#: The sizes of the lines used for the box drawing Unicode characters. -#: These values are in pts. They will be scaled by the monitor DPI to -#: arrive at a pixel value. There must be four values corresponding to -#: thin, normal, thick, and very thick lines. - -# undercurl_style thin-sparse - -#: The style with which undercurls are rendered. This option takes the -#: form (thin|thick)-(sparse|dense). Thin and thick control the -#: thickness of the undercurl. Sparse and dense control how often the -#: curl oscillates. With sparse the curl will peak once per character, -#: with dense twice. - -# text_composition_strategy platform - -#: Control how kitty composites text glyphs onto the background color. -#: The default value of platform tries for text rendering as close to -#: "native" for the platform kitty is running on as possible. - -#: A value of legacy uses the old (pre kitty 0.28) strategy for how -#: glyphs are composited. This will make dark text on light -#: backgrounds look thicker and light text on dark backgrounds -#: thinner. It might also make some text appear like the strokes are -#: uneven. - -#: You can fine tune the actual contrast curve used for glyph -#: composition by specifying up to two space-separated numbers for -#: this setting. - -#: The first number is the gamma adjustment, which controls the -#: thickness of dark text on light backgrounds. Increasing the value -#: will make text appear thicker. The default value for this is 1.0 on -#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result -#: is scaled based on the luminance difference between the background -#: and the foreground. Dark text on light backgrounds receives the -#: full impact of the curve while light text on dark backgrounds is -#: affected very little. - -#: The second number is an additional multiplicative contrast. It is -#: percentage ranging from 0 to 100. The default value is 0 on Linux -#: and 30 on macOS. - -#: If you wish to achieve similar looking thickness in light and dark -#: themes, a good way to experiment is start by setting the value to -#: 1.0 0 and use a dark theme. Then adjust the second parameter until -#: it looks good. Then switch to a light theme and adjust the first -#: parameter until the perceived thickness matches the dark theme. - -# text_fg_override_threshold 0 - -#: The minimum accepted difference in luminance between the foreground -#: and background color, below which kitty will override the -#: foreground color. It is percentage ranging from 0 to 100. If the -#: difference in luminance of the foreground and background is below -#: this threshold, the foreground color will be set to white if the -#: background is dark or black if the background is light. The default -#: value is 0, which means no overriding is performed. Useful when -#: working with applications that use colors that do not contrast well -#: with your preferred color scheme. - -#: WARNING: Some programs use characters (such as block characters) -#: for graphics display and may expect to be able to set the -#: foreground and background to the same color (or similar colors). -#: If you see unexpected stripes, dots, lines, incorrect color, no -#: color where you expect color, or any kind of graphic display -#: problem try setting text_fg_override_threshold to 0 to see if this -#: is the cause of the problem. - -#: }}} - -#: Cursor customization {{{ - -# cursor #cccccc - -#: Default cursor color. If set to the special value none the cursor -#: will be rendered with a "reverse video" effect. It's color will be -#: the color of the text in the cell it is over and the text will be -#: rendered with the background color of the cell. Note that if the -#: program running in the terminal sets a cursor color, this takes -#: precedence. Also, the cursor colors are modified if the cell -#: background and foreground colors have very low contrast. - -# cursor_text_color #111111 - -#: The color of text under the cursor. If you want it rendered with -#: the background color of the cell underneath instead, use the -#: special keyword: background. Note that if cursor is set to none -#: then this option is ignored. - -# cursor_shape block - -#: The cursor shape can be one of block, beam, underline. Note that -#: when reloading the config this will be changed only if the cursor -#: shape has not been set by the program running in the terminal. This -#: sets the default cursor shape, applications running in the terminal -#: can override it. In particular, shell integration -#: in kitty sets -#: the cursor shape to beam at shell prompts. You can avoid this by -#: setting shell_integration to no-cursor. - -# cursor_beam_thickness 1.5 - -#: The thickness of the beam cursor (in pts). - -# cursor_underline_thickness 2.0 - -#: The thickness of the underline cursor (in pts). - -# cursor_blink_interval -1 - -#: The interval to blink the cursor (in seconds). Set to zero to -#: disable blinking. Negative values mean use system default. Note -#: that the minimum interval will be limited to repaint_delay. - -# cursor_stop_blinking_after 15.0 - -#: Stop blinking cursor after the specified number of seconds of -#: keyboard inactivity. Set to zero to never stop blinking. - -#: }}} - -#: Scrollback {{{ - -# scrollback_lines 2000 - -#: Number of lines of history to keep in memory for scrolling back. -#: Memory is allocated on demand. Negative numbers are (effectively) -#: infinite scrollback. Note that using very large scrollback is not -#: recommended as it can slow down performance of the terminal and -#: also use large amounts of RAM. Instead, consider using -#: scrollback_pager_history_size. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER - -#: Program with which to view scrollback in a new window. The -#: scrollback buffer is passed as STDIN to this program. If you change -#: it, make sure the program you use can handle ANSI escape sequences -#: for colors and text formatting. INPUT_LINE_NUMBER in the command -#: line above will be replaced by an integer representing which line -#: should be at the top of the screen. Similarly CURSOR_LINE and -#: CURSOR_COLUMN will be replaced by the current cursor position or -#: set to 0 if there is no cursor, for example, when showing the last -#: command output. - -# scrollback_pager_history_size 0 - -#: Separate scrollback history size (in MB), used only for browsing -#: the scrollback buffer with pager. This separate buffer is not -#: available for interactive scrolling but will be piped to the pager -#: program when viewing scrollback buffer in a separate window. The -#: current implementation stores the data in UTF-8, so approximately -#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, -#: unformatted text. A value of zero or less disables this feature. -#: The maximum allowed size is 4GB. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_fill_enlarged_window no - -#: Fill new space with lines from the scrollback buffer after -#: enlarging a window. - -# wheel_scroll_multiplier 5.0 - -#: Multiplier for the number of lines scrolled by the mouse wheel. -#: Note that this is only used for low precision scrolling devices, -#: not for high precision scrolling devices on platforms such as macOS -#: and Wayland. Use negative numbers to change scroll direction. See -#: also wheel_scroll_min_lines. - -# wheel_scroll_min_lines 1 - -#: The minimum number of lines scrolled by the mouse wheel. The scroll -#: multiplier wheel_scroll_multiplier only takes effect after it -#: reaches this number. Note that this is only used for low precision -#: scrolling devices like wheel mice that scroll by very small amounts -#: when using the wheel. With a negative number, the minimum number of -#: lines will always be added. - -# touch_scroll_multiplier 1.0 - -#: Multiplier for the number of lines scrolled by a touchpad. Note -#: that this is only used for high precision scrolling devices on -#: platforms such as macOS and Wayland. Use negative numbers to change -#: scroll direction. - -#: }}} - -#: Mouse {{{ - -# mouse_hide_wait 3.0 - -#: Hide mouse cursor after the specified number of seconds of the -#: mouse not being used. Set to zero to disable mouse cursor hiding. -#: Set to a negative value to hide the mouse cursor immediately when -#: typing text. Disabled by default on macOS as getting it to work -#: robustly with the ever-changing sea of bugs that is Cocoa is too -#: much effort. - -# url_color #0087bd -# url_style curly - -#: The color and style for highlighting URLs on mouse-over. url_style -#: can be one of: none, straight, double, curly, dotted, dashed. - -# open_url_with default - -#: The program to open clicked URLs. The special value default with -#: first look for any URL handlers defined via the open_actions -#: facility and if non -#: are found, it will use the Operating System's default URL handler -#: (open on macOS and xdg-open on Linux). - -# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh - -#: The set of URL prefixes to look for when detecting a URL under the -#: mouse cursor. - -# detect_urls yes - -#: Detect URLs under the mouse. Detected URLs are highlighted with an -#: underline and the mouse cursor becomes a hand over them. Even if -#: this option is disabled, URLs are still clickable. See also the -#: underline_hyperlinks option to control how hyperlinks (as opposed -#: to plain text URLs) are displayed. - -# url_excluded_characters - -#: Additional characters to be disallowed from URLs, when detecting -#: URLs under the mouse cursor. By default, all characters that are -#: legal in URLs are allowed. Additionally, newlines are allowed (but -#: stripped). This is to accommodate programs such as mutt that add -#: hard line breaks even for continued lines. \n can be added to this -#: option to disable this behavior. Special characters can be -#: specified using backslash escapes, to specify a backslash use a -#: double backslash. - -# show_hyperlink_targets no - -#: When the mouse hovers over a terminal hyperlink, show the actual -#: URL that will be activated when the hyperlink is clicked. - -# underline_hyperlinks hover - -#: Control how hyperlinks are underlined. They can either be -#: underlined on mouse hover, always (i.e. permanently underlined) or -#: never which means that kitty will not apply any underline styling -#: to hyperlinks. Uses the url_style and url_color settings for the -#: underline style. Note that reloading the config and changing this -#: value to/from always will only affect text subsequently received by -#: kitty. - -# copy_on_select no - -#: Copy to clipboard or a private buffer on select. With this set to -#: clipboard, selecting text with the mouse will cause the text to be -#: copied to clipboard. Useful on platforms such as macOS that do not -#: have the concept of primary selection. You can instead specify a -#: name such as a1 to copy to a private kitty buffer. Map a shortcut -#: with the paste_from_buffer action to paste from this private -#: buffer. For example:: - -#: copy_on_select a1 -#: map shift+cmd+v paste_from_buffer a1 - -#: Note that copying to the clipboard is a security risk, as all -#: programs, including websites open in your browser can read the -#: contents of the system clipboard. - -# paste_actions quote-urls-at-prompt,confirm - -#: A comma separated list of actions to take when pasting text into -#: the terminal. The supported paste actions are: - -#: quote-urls-at-prompt: -#: If the text being pasted is a URL and the cursor is at a shell prompt, -#: automatically quote the URL (needs shell_integration). -#: replace-dangerous-control-codes -#: Replace dangerous control codes from pasted text, without confirmation. -#: replace-newline -#: Replace the newline character from pasted text, without confirmation. -#: confirm: -#: Confirm the paste if the text to be pasted contains any terminal control codes -#: as this can be dangerous, leading to code execution if the shell/program running -#: in the terminal does not properly handle these. -#: confirm-if-large -#: Confirm the paste if it is very large (larger than 16KB) as pasting -#: large amounts of text into shells can be very slow. -#: filter: -#: Run the filter_paste() function from the file paste-actions.py in -#: the kitty config directory on the pasted text. The text returned by the -#: function will be actually pasted. - -# strip_trailing_spaces never - -#: Remove spaces at the end of lines when copying to clipboard. A -#: value of smart will do it when using normal selections, but not -#: rectangle selections. A value of always will always do it. - -# select_by_word_characters @-./_~?&=%+# - -#: Characters considered part of a word when double clicking. In -#: addition to these characters any character that is marked as an -#: alphanumeric character in the Unicode database will be matched. - -# select_by_word_characters_forward - -#: Characters considered part of a word when extending the selection -#: forward on double clicking. In addition to these characters any -#: character that is marked as an alphanumeric character in the -#: Unicode database will be matched. - -#: If empty (default) select_by_word_characters will be used for both -#: directions. - -# click_interval -1.0 - -#: The interval between successive clicks to detect double/triple -#: clicks (in seconds). Negative numbers will use the system default -#: instead, if available, or fallback to 0.5. - -# focus_follows_mouse no - -#: Set the active window to the window under the mouse when moving the -#: mouse around. On macOS, this will also cause the OS Window under -#: the mouse to be focused automatically when the mouse enters it. - -# pointer_shape_when_grabbed arrow - -#: The shape of the mouse pointer when the program running in the -#: terminal grabs the mouse. - -# default_pointer_shape beam - -#: The default shape of the mouse pointer. - -# pointer_shape_when_dragging beam - -#: The default shape of the mouse pointer when dragging across text. - -#: Mouse actions {{{ - -#: Mouse buttons can be mapped to perform arbitrary actions. The -#: syntax is: - -#: .. code-block:: none - -#: mouse_map button-name event-type modes action - -#: Where button-name is one of left, middle, right, b1 ... b8 with -#: added keyboard modifiers. For example: ctrl+shift+left refers to -#: holding the Ctrl+Shift keys while clicking with the left mouse -#: button. The value b1 ... b8 can be used to refer to up to eight -#: buttons on a mouse. - -#: event-type is one of press, release, doublepress, triplepress, -#: click, doubleclick. modes indicates whether the action is performed -#: when the mouse is grabbed by the program running in the terminal, -#: or not. The values are grabbed or ungrabbed or a comma separated -#: combination of them. grabbed refers to when the program running in -#: the terminal has requested mouse events. Note that the click and -#: double click events have a delay of click_interval to disambiguate -#: from double and triple presses. - -#: You can run kitty with the kitty --debug-input command line option -#: to see mouse events. See the builtin actions below to get a sense -#: of what is possible. - -#: If you want to unmap an action, map it to no_op. For example, to -#: disable opening of URLs with a plain click:: - -#: mouse_map left click ungrabbed no_op - -#: See all the mappable actions including mouse actions here -#: . - -#: .. note:: -#: Once a selection is started, releasing the button that started it will -#: automatically end it and no release event will be dispatched. - -# clear_all_mouse_actions no - -#: Remove all mouse action definitions up to this point. Useful, for -#: instance, to remove the default mouse actions. - -#: Click the link under the mouse or move the cursor - -# mouse_map left click ungrabbed mouse_handle_click selection link prompt - -#:: First check for a selection and if one exists do nothing. Then -#:: check for a link under the mouse cursor and if one exists, click -#:: it. Finally check if the click happened at the current shell -#:: prompt and if so, move the cursor to the click location. Note -#:: that this requires shell integration -#:: to work. - -#: Click the link under the mouse or move the cursor even when grabbed - -# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt - -#:: Same as above, except that the action is performed even when the -#:: mouse is grabbed by the program running in the terminal. - -#: Click the link under the mouse cursor - -# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link - -#:: Variant with Ctrl+Shift is present because the simple click based -#:: version has an unavoidable delay of click_interval, to -#:: disambiguate clicks from double clicks. - -#: Discard press event for link click - -# mouse_map ctrl+shift+left press grabbed discard_event - -#:: Prevent this press event from being sent to the program that has -#:: grabbed the mouse, as the corresponding release event is used to -#:: open a URL. - -#: Paste from the primary selection - -# mouse_map middle release ungrabbed paste_from_selection - -#: Start selecting text - -# mouse_map left press ungrabbed mouse_selection normal - -#: Start selecting text in a rectangle - -# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle - -#: Select a word - -# mouse_map left doublepress ungrabbed mouse_selection word - -#: Select a line - -# mouse_map left triplepress ungrabbed mouse_selection line - -#: Select line from point - -# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line. If you -#:: would like to select the word at the point and then extend to the -#:: rest of the line, change line_from_point to -#:: word_and_line_from_point. - -#: Extend the current selection - -# mouse_map right press ungrabbed mouse_selection extend - -#:: If you want only the end of the selection to be moved instead of -#:: the nearest boundary, use move-end instead of extend. - -#: Paste from the primary selection even when grabbed - -# mouse_map shift+middle release ungrabbed,grabbed paste_selection -# mouse_map shift+middle press grabbed discard_event - -#: Start selecting text even when grabbed - -# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal - -#: Start selecting text in a rectangle even when grabbed - -# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle - -#: Select a word even when grabbed - -# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word - -#: Select a line even when grabbed - -# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line - -#: Select line from point even when grabbed - -# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line even when -#:: grabbed. If you would like to select the word at the point and -#:: then extend to the rest of the line, change line_from_point to -#:: word_and_line_from_point. - -#: Extend the current selection even when grabbed - -# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend - -#: Show clicked command output in pager - -# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output - -#:: Requires shell integration -#:: to work. - -#: }}} - -#: }}} - -#: Performance tuning {{{ - -# repaint_delay 10 - -#: Delay between screen updates (in milliseconds). Decreasing it, -#: increases frames-per-second (FPS) at the cost of more CPU usage. -#: The default value yields ~100 FPS which is more than sufficient for -#: most uses. Note that to actually achieve 100 FPS, you have to -#: either set sync_to_monitor to no or use a monitor with a high -#: refresh rate. Also, to minimize latency when there is pending input -#: to be processed, this option is ignored. - -# input_delay 3 - -#: Delay before input from the program running in the terminal is -#: processed (in milliseconds). Note that decreasing it will increase -#: responsiveness, but also increase CPU usage and might cause flicker -#: in full screen programs that redraw the entire screen on each loop, -#: because kitty is so fast that partial screen updates will be drawn. - -# sync_to_monitor yes - -#: Sync screen updates to the refresh rate of the monitor. This -#: prevents screen tearing -#: when scrolling. -#: However, it limits the rendering speed to the refresh rate of your -#: monitor. With a very high speed mouse/high keyboard repeat rate, -#: you may notice some slight input latency. If so, set this to no. - -#: }}} - -#: Terminal bell {{{ - -# enable_audio_bell yes - -#: The audio bell. Useful to disable it in environments that require -#: silence. - -# visual_bell_duration 0.0 - -#: The visual bell duration (in seconds). Flash the screen when a bell -#: occurs for the specified number of seconds. Set to zero to disable. - -# visual_bell_color none - -#: The color used by visual bell. Set to none will fall back to -#: selection background color. If you feel that the visual bell is too -#: bright, you can set it to a darker color. - -# window_alert_on_bell yes - -#: Request window attention on bell. Makes the dock icon bounce on -#: macOS or the taskbar flash on linux. - -# bell_on_tab "🔔 " - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has a bell. If you want to use leading -#: or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -#: For backwards compatibility, values of yes, y and true are -#: converted to the default bell symbol and no, n, false and none are -#: converted to the empty string. - -# command_on_bell none - -#: Program to run when a bell occurs. The environment variable -#: KITTY_CHILD_CMDLINE can be used to get the program running in the -#: window in which the bell occurred. - -# bell_path none - -#: Path to a sound file to play as the bell sound. If set to none, the -#: system default bell sound is used. Must be in a format supported by -#: the operating systems sound API, such as WAV or OGA on Linux -#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound) - -# linux_bell_theme __custom - -#: The XDG Sound Theme kitty will use to play the bell sound. Defaults -#: to the custom theme name used by GNOME and Budgie, falling back to -#: the default freedesktop theme if it does not exist. This option may -#: be removed if Linux ever provides desktop-agnostic support for -#: setting system sound themes. - -#: }}} - -#: Window layout {{{ - -# remember_window_size yes -# initial_window_width 640 -# initial_window_height 400 - -#: If enabled, the OS Window size will be remembered so that new -#: instances of kitty will have the same size as the previous -#: instance. If disabled, the OS Window will initially have size -#: configured by initial_window_width/height, in pixels. You can use a -#: suffix of "c" on the width/height values to have them interpreted -#: as number of cells instead of pixels. - -# enabled_layouts * - -#: The enabled window layouts. A comma separated list of layout names. -#: The special value all means all layouts. The first listed layout -#: will be used as the startup layout. Default configuration is all -#: layouts in alphabetical order. For a list of available layouts, see -#: the layouts . - -# window_resize_step_cells 2 -# window_resize_step_lines 2 - -#: The step size (in units of cell width/cell height) to use when -#: resizing kitty windows in a layout with the shortcut -#: start_resizing_window. The cells value is used for horizontal -#: resizing, and the lines value is used for vertical resizing. - -# window_border_width 0.5pt - -#: The width of window borders. Can be either in pixels (px) or pts -#: (pt). Values in pts will be rounded to the nearest number of pixels -#: based on screen resolution. If not specified, the unit is assumed -#: to be pts. Note that borders are displayed only when more than one -#: window is visible. They are meant to separate multiple windows. - -# draw_minimal_borders yes - -#: Draw only the minimum borders needed. This means that only the -#: borders that separate the window from a neighbor are drawn. Note -#: that setting a non-zero window_margin_width overrides this and -#: causes all borders to be drawn. - -# window_margin_width 0 - -#: The window margin (in pts) (blank area outside the border). A -#: single value sets all four sides. Two values set the vertical and -#: horizontal sides. Three values set top, horizontal and bottom. Four -#: values set top, right, bottom and left. - -# single_window_margin_width -1 - -#: The window margin to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_margin_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# window_padding_width 0 - -#: The window padding (in pts) (blank area between the text and the -#: window border). A single value sets all four sides. Two values set -#: the vertical and horizontal sides. Three values set top, horizontal -#: and bottom. Four values set top, right, bottom and left. - -# single_window_padding_width -1 - -#: The window padding to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_padding_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# placement_strategy center - -#: When the window size is not an exact multiple of the cell size, the -#: cell area of the terminal window will have some extra padding on -#: the sides. You can control how that padding is distributed with -#: this option. Using a value of center means the cell area will be -#: placed centrally. A value of top-left means the padding will be -#: only at the bottom and right edges. - -# active_border_color #00ff00 - -#: The color for the border of the active window. Set this to none to -#: not draw borders around the active window. - -# inactive_border_color #cccccc - -#: The color for the border of inactive windows. - -# bell_border_color #ff5a00 - -#: The color for the border of inactive windows in which a bell has -#: occurred. - -# inactive_text_alpha 1.0 - -#: Fade the text in inactive windows by the specified amount (a number -#: between zero and one, with zero being fully faded). - -# hide_window_decorations no - -#: Hide the window decorations (title-bar and window borders) with -#: yes. On macOS, titlebar-only and titlebar-and-corners can be used -#: to only hide the titlebar and the rounded corners. Whether this -#: works and exactly what effect it has depends on the window -#: manager/operating system. Note that the effects of changing this -#: option when reloading config are undefined. When using titlebar- -#: only, it is useful to also set window_margin_width and -#: placement_strategy to prevent the rounded corners from clipping -#: text. Or use titlebar-and-corners. - -# window_logo_path none - -#: Path to a logo image. Must be in PNG format. Relative paths are -#: interpreted relative to the kitty config directory. The logo is -#: displayed in a corner of every kitty window. The position is -#: controlled by window_logo_position. Individual windows can be -#: configured to have different logos either using the launch action -#: or the remote control facility. - -# window_logo_position bottom-right - -#: Where to position the window logo in the window. The value can be -#: one of: top-left, top, top-right, left, center, right, bottom-left, -#: bottom, bottom-right. - -# window_logo_alpha 0.5 - -#: The amount the logo should be faded into the background. With zero -#: being fully faded and one being fully opaque. - -# resize_debounce_time 0.1 0.5 - -#: The time to wait before redrawing the screen during a live resize -#: of the OS window, when no new resize events have been received, -#: i.e. when resizing is either paused or finished. On platforms such -#: as macOS, where the operating system sends events corresponding to -#: the start and end of a live resize, the second number is used for -#: redraw-after-pause since kitty can distinguish between a pause and -#: end of resizing. On such systems the first number is ignored and -#: redraw is immediate after end of resize. On other systems the -#: first number is used so that kitty is "ready" quickly after the end -#: of resizing, while not also continuously redrawing, to save energy. - -# resize_in_steps no - -#: Resize the OS window in steps as large as the cells, instead of -#: with the usual pixel accuracy. Combined with initial_window_width -#: and initial_window_height in number of cells, this option can be -#: used to keep the margins as small as possible when resizing the OS -#: window. Note that this does not currently work on Wayland. - -# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ - -#: The list of characters for visual window selection. For example, -#: for selecting a window to focus on with focus_visible_window. The -#: value should be a series of unique numbers or alphabets, case -#: insensitive, from the set 0-9A-Z\-=[];',./\\`. Specify your -#: preference as a string of characters. - -# confirm_os_window_close -1 - -#: Ask for confirmation when closing an OS window or a tab with at -#: least this number of kitty windows in it by window manager (e.g. -#: clicking the window close button or pressing the operating system -#: shortcut to close windows) or by the close_tab action. A value of -#: zero disables confirmation. This confirmation also applies to -#: requests to quit the entire application (all OS windows, via the -#: quit action). Negative values are converted to positive ones, -#: however, with shell_integration enabled, using negative values -#: means windows sitting at a shell prompt are not counted, only -#: windows where some command is currently running. Note that if you -#: want confirmation when closing individual windows, you can map the -#: close_window_with_confirmation action. - -#: }}} - -#: Tab bar {{{ - -# tab_bar_edge bottom - -#: The edge to show the tab bar on, top or bottom. - -# tab_bar_margin_width 0.0 - -#: The margin to the left and right of the tab bar (in pts). - -# tab_bar_margin_height 0.0 0.0 - -#: The margin above and below the tab bar (in pts). The first number -#: is the margin between the edge of the OS Window and the tab bar. -#: The second number is the margin between the tab bar and the -#: contents of the current tab. - -# tab_bar_style fade - -#: The tab bar style, can be one of: - -#: fade -#: Each tab's edges fade into the background color. (See also tab_fade) -#: slant -#: Tabs look like the tabs in a physical file. -#: separator -#: Tabs are separated by a configurable separator. (See also -#: tab_separator) -#: powerline -#: Tabs are shown as a continuous line with "fancy" separators. -#: (See also tab_powerline_style) -#: custom -#: A user-supplied Python function called draw_tab is loaded from the file -#: tab_bar.py in the kitty config directory. For examples of how to -#: write such a function, see the functions named draw_tab_with_* in -#: kitty's source code: kitty/tab_bar.py. See also -#: this discussion -#: for examples from kitty users. -#: hidden -#: The tab bar is hidden. If you use this, you might want to create -#: a mapping for the select_tab action which presents you with a list of -#: tabs and allows for easy switching to a tab. - -# tab_bar_align left - -#: The horizontal alignment of the tab bar, can be one of: left, -#: center, right. - -# tab_bar_min_tabs 2 - -#: The minimum number of tabs that must exist before the tab bar is -#: shown. - -# tab_switch_strategy previous - -#: The algorithm to use when switching to a tab when the current tab -#: is closed. The default of previous will switch to the last used -#: tab. A value of left will switch to the tab to the left of the -#: closed tab. A value of right will switch to the tab to the right of -#: the closed tab. A value of last will switch to the right-most tab. - -# tab_fade 0.25 0.5 0.75 1 - -#: Control how each tab fades into the background when using fade for -#: the tab_bar_style. Each number is an alpha (between zero and one) -#: that controls how much the corresponding cell fades into the -#: background, with zero being no fade and one being full fade. You -#: can change the number of cells used by adding/removing entries to -#: this list. - -# tab_separator " ┇" - -#: The separator between tabs in the tab bar when using separator as -#: the tab_bar_style. - -# tab_powerline_style angled - -#: The powerline separator style between tabs in the tab bar when -#: using powerline as the tab_bar_style, can be one of: angled, -#: slanted, round. - -# tab_activity_symbol none - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has some activity. If you want to use -#: leading or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -# tab_title_max_length 0 - -#: The maximum number of cells that can be used to render the text in -#: a tab. A value of zero means that no limit is applied. - -# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" - -#: A template to render the tab title. The default just renders the -#: title with optional symbols for bell and activity. If you wish to -#: include the tab-index as well, use something like: {index}:{title}. -#: Useful if you have shortcuts mapped for goto_tab N. If you prefer -#: to see the index as a superscript, use {sup.index}. All data -#: available is: - -#: title -#: The current tab title. -#: index -#: The tab index usable with goto_tab N goto_tab shortcuts. -#: layout_name -#: The current layout name. -#: num_windows -#: The number of windows in the tab. -#: num_window_groups -#: The number of window groups (a window group is a window and all of its overlay windows) in the tab. -#: tab.active_wd -#: The working directory of the currently active window in the tab -#: (expensive, requires syscall). Use active_oldest_wd to get -#: the directory of the oldest foreground process rather than the newest. -#: tab.active_exe -#: The name of the executable running in the foreground of the currently -#: active window in the tab (expensive, requires syscall). Use -#: active_oldest_exe for the oldest foreground process. -#: max_title_length -#: The maximum title length available. - -#: Note that formatting is done by Python's string formatting -#: machinery, so you can use, for instance, {layout_name[:2].upper()} -#: to show only the first two letters of the layout name, upper-cased. -#: If you want to style the text, you can use styling directives, for -#: example: -#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. -#: Similarly, for bold and italic: -#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. -#: Note that for backward compatibility, if {bell_symbol} or -#: {activity_symbol} are not present in the template, they are -#: prepended to it. - -# active_tab_title_template none - -#: Template to use for active tabs. If not specified falls back to -#: tab_title_template. - -# active_tab_foreground #000 -# active_tab_background #eee -# active_tab_font_style bold-italic -# inactive_tab_foreground #444 -# inactive_tab_background #999 -# inactive_tab_font_style normal - -#: Tab bar colors and styles. - -# tab_bar_background none - -#: Background color for the tab bar. Defaults to using the terminal -#: background color. - -# tab_bar_margin_color none - -#: Color for the tab bar margin area. Defaults to using the terminal -#: background color for margins above and below the tab bar. For side -#: margins the default color is chosen to match the background color -#: of the neighboring tab. - -#: }}} - -#: Color scheme {{{ - -# foreground #dddddd -# background #000000 - -#: The foreground and background colors. - -background_opacity 0.9 - -#: The opacity of the background. A number between zero and one, where -#: one is opaque and zero is fully transparent. This will only work if -#: supported by the OS (for instance, when using a compositor under -#: X11). Note that it only sets the background color's opacity in -#: cells that have the same background color as the default terminal -#: background, so that things like the status bar in vim, powerline -#: prompts, etc. still look good. But it means that if you use a color -#: theme with a background color in your editor, it will not be -#: rendered as transparent. Instead you should change the default -#: background color in your kitty config and not use a background -#: color in the editor color scheme. Or use the escape codes to set -#: the terminals default colors in a shell script to launch your -#: editor. Be aware that using a value less than 1.0 is a (possibly -#: significant) performance hit. When using a low value for this -#: setting, it is desirable that you set the background color to a -#: color the matches the general color of the desktop background, for -#: best text rendering. If you want to dynamically change -#: transparency of windows, set dynamic_background_opacity to yes -#: (this is off by default as it has a performance cost). Changing -#: this option when reloading the config will only work if -#: dynamic_background_opacity was enabled in the original config. - -# background_blur 0 - -#: Set to a positive value to enable background blur (blurring of the -#: visuals behind a transparent window) on platforms that support it. -#: Only takes effect when background_opacity is less than one. On -#: macOS, this will also control the blur radius (amount of blurring). -#: Setting it to too high a value will cause severe performance issues -#: and/or rendering artifacts. Usually, values up to 64 work well. -#: Note that this might cause performance issues, depending on how the -#: platform implements it, so use with care. Currently supported on -#: macOS and KDE under X11. - -# background_image none - -#: Path to a background image. Must be in PNG format. - -# background_image_layout tiled - -#: Whether to tile, scale or clamp the background image. The value can -#: be one of tiled, mirror-tiled, scaled, clamped, centered or -#: cscaled. The scaled and cscaled values scale the image to the -#: window size, with cscaled preserving the image aspect ratio. - -# background_image_linear no - -#: When background image is scaled, whether linear interpolation -#: should be used. - -# dynamic_background_opacity no - -#: Allow changing of the background_opacity dynamically, using either -#: keyboard shortcuts (increase_background_opacity and -#: decrease_background_opacity) or the remote control facility. -#: Changing this option by reloading the config is not supported. - -# background_tint 0.0 - -#: How much to tint the background image by the background color. This -#: option makes it easier to read the text. Tinting is done using the -#: current background color for each window. This option applies only -#: if background_opacity is set and transparent windows are supported -#: or background_image is set. - -# background_tint_gaps 1.0 - -#: How much to tint the background image at the window gaps by the -#: background color, after applying background_tint. Since this is -#: multiplicative with background_tint, it can be used to lighten the -#: tint over the window gaps for a *separated* look. - -# dim_opacity 0.4 - -#: How much to dim text that has the DIM/FAINT attribute set. One -#: means no dimming and zero means fully dimmed (i.e. invisible). - -# selection_foreground #000000 -# selection_background #fffacd - -#: The foreground and background colors for text selected with the -#: mouse. Setting both of these to none will cause a "reverse video" -#: effect for selections, where the selection will be the cell text -#: color and the text will become the cell background color. Setting -#: only selection_foreground to none will cause the foreground color -#: to be used unchanged. Note that these colors can be overridden by -#: the program running in the terminal. - -#: The color table {{{ - -#: The 256 terminal colors. There are 8 basic colors, each color has a -#: dull and bright version, for the first 16 colors. You can set the -#: remaining 240 colors as color16 to color255. - -# color0 #000000 -# color8 #767676 - -#: black - -# color1 #cc0403 -# color9 #f2201f - -#: red - -# color2 #19cb00 -# color10 #23fd00 - -#: green - -# color3 #cecb00 -# color11 #fffd00 - -#: yellow - -# color4 #0d73cc -# color12 #1a8fff - -#: blue - -# color5 #cb1ed1 -# color13 #fd28ff - -#: magenta - -# color6 #0dcdcd -# color14 #14ffff - -#: cyan - -# color7 #dddddd -# color15 #ffffff - -#: white - -# mark1_foreground black - -#: Color for marks of type 1 - -# mark1_background #98d3cb - -#: Color for marks of type 1 (light steel blue) - -# mark2_foreground black - -#: Color for marks of type 2 - -# mark2_background #f2dcd3 - -#: Color for marks of type 1 (beige) - -# mark3_foreground black - -#: Color for marks of type 3 - -# mark3_background #f274bc - -#: Color for marks of type 3 (violet) - -#: }}} - -#: }}} - -#: Advanced {{{ - -# shell . - -#: The shell program to execute. The default value of . means to use -#: whatever shell is set as the default shell for the current user. -#: Note that on macOS if you change this, you might need to add -#: --login and --interactive to ensure that the shell starts in -#: interactive mode and reads its startup rc files. Environment -#: variables are expanded in this setting. - -# editor . - -#: The terminal based text editor (such as vim or nano) to use when -#: editing the kitty config file or similar tasks. - -#: The default value of . means to use the environment variables -#: VISUAL and EDITOR in that order. If these variables aren't set, -#: kitty will run your shell ($SHELL -l -i -c env) to see if your -#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, -#: kitty will cycle through various known editors (vim, emacs, etc.) -#: and take the first one that exists on your system. - -# close_on_child_death no - -#: Close the window when the child process (shell) exits. With the -#: default value no, the terminal will remain open when the child -#: exits as long as there are still processes outputting to the -#: terminal (for example disowned or backgrounded processes). When -#: enabled with yes, the window will close as soon as the child -#: process exits. Note that setting it to yes means that any -#: background processes still using the terminal can fail silently -#: because their stdout/stderr/stdin no longer work. - -# remote_control_password - -#: Allow other programs to control kitty using passwords. This option -#: can be specified multiple times to add multiple passwords. If no -#: passwords are present kitty will ask the user for permission if a -#: program tries to use remote control with a password. A password can -#: also *optionally* be associated with a set of allowed remote -#: control actions. For example:: - -#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab - -#: Only the specified actions will be allowed when using this -#: password. Glob patterns can be used too, for example:: - -#: remote_control_password "my passphrase" set-tab-* resize-* - -#: To get a list of available actions, run:: - -#: kitten @ --help - -#: A set of actions to be allowed when no password is sent can be -#: specified by using an empty password. For example:: - -#: remote_control_password "" *-colors - -#: Finally, the path to a python module can be specified that provides -#: a function is_cmd_allowed that is used to check every remote -#: control command. For example:: - -#: remote_control_password "my passphrase" my_rc_command_checker.py - -#: Relative paths are resolved from the kitty configuration directory. -#: See rc_custom_auth for details. - -# allow_remote_control no - -#: Allow other programs to control kitty. If you turn this on, other -#: programs can control all aspects of kitty, including sending text -#: to kitty windows, opening new windows, closing windows, reading the -#: content of windows, etc. Note that this even works over SSH -#: connections. The default setting of no prevents any form of remote -#: control. The meaning of the various values are: - -#: password -#: Remote control requests received over both the TTY device and the socket -#: are confirmed based on passwords, see remote_control_password. - -#: socket-only -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are denied. -#: See listen_on. - -#: socket -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are confirmed based on -#: password. - -#: no -#: Remote control is completely disabled. - -#: yes -#: Remote control requests are always accepted. - -# listen_on none - -#: Listen to the specified socket for remote control connections. Note -#: that this will apply to all kitty instances. It can be overridden -#: by the kitty --listen-on command line option. For UNIX sockets, -#: such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). -#: Environment variables are expanded and relative paths are resolved -#: with respect to the temporary directory. If {kitty_pid} is present, -#: then it is replaced by the PID of the kitty process, otherwise the -#: PID of the kitty process is appended to the value, with a hyphen. -#: For TCP sockets such as tcp:localhost:0 a random port is always -#: used even if a non-zero port number is specified. See the help for -#: kitty --listen-on for more details. Note that this will be ignored -#: unless allow_remote_control is set to either: yes, socket or -#: socket-only. Changing this option by reloading the config is not -#: supported. - -# env - -#: Specify the environment variables to be set in all child processes. -#: Using the name with an equal sign (e.g. env VAR=) will set it to -#: the empty string. Specifying only the name (e.g. env VAR) will -#: remove the variable from the child process' environment. Note that -#: environment variables are expanded recursively, for example:: - -#: env VAR1=a -#: env VAR2=${HOME}/${VAR1}/b - -#: The value of VAR2 will be /a/b. - -# watcher - -#: Path to python file which will be loaded for watchers -#: . Can be -#: specified more than once to load multiple watchers. The watchers -#: will be added to every kitty window. Relative paths are resolved -#: relative to the kitty config directory. Note that reloading the -#: config will only affect windows created after the reload. - -# exe_search_path - -#: Control where kitty finds the programs to run. The default search -#: order is: First search the system wide PATH, then ~/.local/bin and -#: ~/bin. If still not found, the PATH defined in the login shell -#: after sourcing all its startup files is tried. Finally, if present, -#: the PATH specified by the env option is tried. - -#: This option allows you to prepend, append, or remove paths from -#: this search order. It can be specified multiple times for multiple -#: paths. A simple path will be prepended to the search order. A path -#: that starts with the + sign will be append to the search order, -#: after ~/bin above. A path that starts with the - sign will be -#: removed from the entire search order. For example:: - -#: exe_search_path /some/prepended/path -#: exe_search_path +/some/appended/path -#: exe_search_path -/some/excluded/path - -# update_check_interval 24 - -#: The interval to periodically check if an update to kitty is -#: available (in hours). If an update is found, a system notification -#: is displayed informing you of the available update. The default is -#: to check every 24 hours, set to zero to disable. Update checking is -#: only done by the official binary builds. Distro packages or source -#: builds do not do update checking. Changing this option by reloading -#: the config is not supported. - -# startup_session none - -#: Path to a session file to use for all kitty instances. Can be -#: overridden by using the kitty --session =none command line option -#: for individual instances. See sessions -#: in the kitty -#: documentation for details. Note that relative paths are interpreted -#: with respect to the kitty config directory. Environment variables -#: in the path are expanded. Changing this option by reloading the -#: config is not supported. - -# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask - -#: Allow programs running in kitty to read and write from the -#: clipboard. You can control exactly which actions are allowed. The -#: possible actions are: write-clipboard, read-clipboard, write- -#: primary, read-primary, read-clipboard-ask, read-primary-ask. The -#: default is to allow writing to the clipboard and primary selection -#: and to ask for permission when a program tries to read from the -#: clipboard. Note that disabling the read confirmation is a security -#: risk as it means that any program, even the ones running on a -#: remote server via SSH can read your clipboard. See also -#: clipboard_max_size. - -# clipboard_max_size 512 - -#: The maximum size (in MB) of data from programs running in kitty -#: that will be stored for writing to the system clipboard. A value of -#: zero means no size limit is applied. See also clipboard_control. - -# file_transfer_confirmation_bypass - -#: The password that can be supplied to the file transfer kitten -#: to skip the -#: transfer confirmation prompt. This should only be used when -#: initiating transfers from trusted computers, over trusted networks -#: or encrypted transports, as it allows any programs running on the -#: remote machine to read/write to the local filesystem, without -#: permission. - -# allow_hyperlinks yes - -#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 -#: escape sequences are ignored. Otherwise they become clickable -#: links, that you can click with the mouse or by using the hints -#: kitten . The -#: special value of ask means that kitty will ask before opening the -#: link when clicked. - -# shell_integration enabled - -#: Enable shell integration on supported shells. This enables features -#: such as jumping to previous prompts, browsing the output of the -#: previous command in a pager, etc. on supported shells. Set to -#: disabled to turn off shell integration, completely. It is also -#: possible to disable individual features, set to a space separated -#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- -#: prompt-mark, no-complete, no-sudo. See Shell integration -#: for details. - -# allow_cloning ask - -#: Control whether programs running in the terminal can request new -#: windows to be created. The canonical example is clone-in-kitty -#: . -#: By default, kitty will ask for permission for each clone request. -#: Allowing cloning unconditionally gives programs running in the -#: terminal (including over SSH) permission to execute arbitrary code, -#: as the user who is running the terminal, on the computer that the -#: terminal is running on. - -# clone_source_strategies venv,conda,env_var,path - -#: Control what shell code is sourced when running clone-in-kitty in -#: the newly cloned window. The supported strategies are: - -#: venv -#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the -#: Python stdlib venv module and allows cloning venvs automatically. -#: conda -#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual -#: environments created by conda. -#: env_var -#: Execute the contents of the environment variable -#: KITTY_CLONE_SOURCE_CODE with eval. -#: path -#: Source the file pointed to by the environment variable -#: KITTY_CLONE_SOURCE_PATH. - -#: This option must be a comma separated list of the above values. -#: Only the first valid match, in the order specified, is sourced. - -# term xterm-kitty - -#: The value of the TERM environment variable to set. Changing this -#: can break many terminal programs, only change it if you know what -#: you are doing, not because you read some advice on "Stack Overflow" -#: to change it. The TERM variable is used by various programs to get -#: information about the capabilities and behavior of the terminal. If -#: you change it, depending on what programs you run, and how -#: different the terminal you are changing it to is, various things -#: from key-presses, to colors, to various advanced features may not -#: work. Changing this option by reloading the config will only affect -#: newly created windows. - -# forward_stdio no - -#: Forward STDOUT and STDERR of the kitty process to child processes -#: as file descriptors 3 and 4. This is useful for debugging as it -#: allows child processes to print to kitty's STDOUT directly. For -#: example, echo hello world >&3 in a shell will print to the parent -#: kitty's STDOUT. When enabled, this also sets the -#: KITTY_STDIO_FORWARDED=3 environment variable so child processes -#: know about the forwarding. - -# menu_map - -#: Specify entries for various menus in kitty. Currently only the -#: global menubar on macOS is supported. For example:: - -#: menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" - -#: This will create a menu entry named "Launch something special" in -#: an "Actions" menu in the macOS global menubar. Sub-menus can be -#: created by adding more levels separated by ::. - -#: }}} - -#: OS specific tweaks {{{ - -# wayland_titlebar_color system - -#: The color of the kitty window's titlebar on Wayland systems with -#: client side window decorations such as GNOME. A value of system -#: means to use the default system color, a value of background means -#: to use the background color of the currently active window and -#: finally you can use an arbitrary color, such as #12af59 or red. - -# macos_titlebar_color system - -#: The color of the kitty window's titlebar on macOS. A value of -#: system means to use the default system color, light or dark can -#: also be used to set it explicitly. A value of background means to -#: use the background color of the currently active window and finally -#: you can use an arbitrary color, such as #12af59 or red. WARNING: -#: This option works by using a hack when arbitrary color (or -#: background) is configured, as there is no proper Cocoa API for it. -#: It sets the background color of the entire window and makes the -#: titlebar transparent. As such it is incompatible with -#: background_opacity. If you want to use both, you are probably -#: better off just hiding the titlebar with hide_window_decorations. - -# macos_option_as_alt no - -#: Use the Option key as an Alt key on macOS. With this set to no, -#: kitty will use the macOS native Option+Key to enter Unicode -#: character behavior. This will break any Alt+Key keyboard shortcuts -#: in your terminal programs, but you can use the macOS Unicode input -#: technique. You can use the values: left, right or both to use only -#: the left, right or both Option keys as Alt, instead. Note that -#: kitty itself always treats Option the same as Alt. This means you -#: cannot use this option to configure different kitty shortcuts for -#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using -#: Option/Alt+Key will take priority, so that any such key presses -#: will not be passed to terminal programs running inside kitty. -#: Changing this option by reloading the config is not supported. - -# macos_hide_from_tasks no - -#: Hide the kitty window from running tasks on macOS (⌘+Tab and the -#: Dock). Changing this option by reloading the config is not -#: supported. - -# macos_quit_when_last_window_closed no - -#: Have kitty quit when all the top-level windows are closed on macOS. -#: By default, kitty will stay running, even with no open windows, as -#: is the expected behavior on macOS. - -# macos_window_resizable yes - -#: Disable this if you want kitty top-level OS windows to not be -#: resizable on macOS. - -# macos_thicken_font 0 - -#: Draw an extra border around the font with the given width, to -#: increase legibility at small font sizes on macOS. For example, a -#: value of 0.75 will result in rendering that looks similar to sub- -#: pixel antialiasing at common font sizes. Note that in modern kitty, -#: this option is obsolete (although still supported). Consider using -#: text_composition_strategy instead. - -# macos_traditional_fullscreen no - -#: Use the macOS traditional full-screen transition, that is faster, -#: but less pretty. - -# macos_show_window_title_in all - -#: Control where the window title is displayed on macOS. A value of -#: window will show the title of the currently active window at the -#: top of the macOS window. A value of menubar will show the title of -#: the currently active window in the macOS global menu bar, making -#: use of otherwise wasted space. A value of all will show the title -#: in both places, and none hides the title. See -#: macos_menubar_title_max_length for how to control the length of the -#: title in the menu bar. - -# macos_menubar_title_max_length 0 - -#: The maximum number of characters from the window title to show in -#: the macOS global menu bar. Values less than one means that there is -#: no maximum limit. - -# macos_custom_beam_cursor no - -#: Use a custom mouse cursor for macOS that is easier to see on both -#: light and dark backgrounds. Nowadays, the default macOS cursor -#: already comes with a white border. WARNING: this might make your -#: mouse cursor invisible on dual GPU machines. Changing this option -#: by reloading the config is not supported. - -# macos_colorspace srgb - -#: The colorspace in which to interpret terminal colors. The default -#: of srgb will cause colors to match those seen in web browsers. The -#: value of default will use whatever the native colorspace of the -#: display is. The value of displayp3 will use Apple's special -#: snowflake display P3 color space, which will result in over -#: saturated (brighter) colors with some color shift. Reloading -#: configuration will change this value only for newly created OS -#: windows. - -# linux_display_server auto - -#: Choose between Wayland and X11 backends. By default, an appropriate -#: backend based on the system state is chosen automatically. Set it -#: to x11 or wayland to force the choice. Changing this option by -#: reloading the config is not supported. - -#: }}} - -#: Keyboard shortcuts {{{ - -#: Keys are identified simply by their lowercase Unicode characters. -#: For example: a for the A key, [ for the left square bracket key, -#: etc. For functional keys, such as Enter or Escape, the names are -#: present at Functional key definitions -#: . -#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt -#: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods -#: - -#: On Linux you can also use XKB key names to bind keys that are not -#: supported by GLFW. See XKB keys -#: for a list of key names. The name to use is the part -#: after the XKB_KEY_ prefix. Note that you can only use an XKB key -#: name for keys that are not known as GLFW keys. - -#: Finally, you can use raw system key codes to map keys, again only -#: for keys that are not known as GLFW keys. To see the system key -#: code for a key, start kitty with the kitty --debug-input option, -#: kitty will output some debug text for every key event. In that text -#: look for native_code, the value of that becomes the key name in the -#: shortcut. For example: - -#: .. code-block:: none - -#: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a' - -#: Here, the key name for the A key is 0x61 and you can use it with:: - -#: map ctrl+0x61 something - -#: to map Ctrl+A to something. - -#: You can use the special action no_op to unmap a keyboard shortcut -#: that is assigned in the default configuration:: - -#: map kitty_mod+space no_op - -#: If you would like kitty to completely ignore a key event, not even -#: sending it to the program running in the terminal, map it to -#: discard_event:: - -#: map kitty_mod+f1 discard_event - -#: You can combine multiple actions to be triggered by a single -#: shortcut with combine action, using the syntax below:: - -#: map key combine action1 action2 action3 ... - -#: For example:: - -#: map kitty_mod+e combine : new_window : next_layout - -#: This will create a new window and switch to the next available -#: layout. - -#: You can use multi-key shortcuts with the syntax shown below:: - -#: map key1>key2>key3 action - -#: For example:: - -#: map ctrl+f>2 set_font_size 20 - -#: The full list of actions that can be mapped to key presses is -#: available here . - -# kitty_mod ctrl+shift - -#: Special modifier key alias for default shortcuts. You can change -#: the value of this option to alter all default shortcuts that use -#: kitty_mod. - -# clear_all_shortcuts no - -#: Remove all shortcut definitions up to this point. Useful, for -#: instance, to remove the default shortcuts. - -# action_alias - -#: E.g. action_alias launch_tab launch --type=tab --cwd=current - -#: Define action aliases to avoid repeating the same options in -#: multiple mappings. Aliases can be defined for any action and will -#: be expanded recursively. For example, the above alias allows you to -#: create mappings to launch a new tab in the current working -#: directory without duplication:: - -#: map f1 launch_tab vim -#: map f2 launch_tab emacs - -#: Similarly, to alias kitten invocation:: - -#: action_alias hints kitten hints --hints-offset=0 - -# kitten_alias - -#: E.g. kitten_alias hints hints --hints-offset=0 - -#: Like action_alias above, but specifically for kittens. Generally, -#: prefer to use action_alias. This option is a legacy version, -#: present for backwards compatibility. It causes all invocations of -#: the aliased kitten to be substituted. So the example above will -#: cause all invocations of the hints kitten to have the --hints- -#: offset=0 option applied. - -#: Clipboard {{{ - -#: Copy to clipboard - -# map kitty_mod+c copy_to_clipboard -# map cmd+c copy_to_clipboard - -#:: There is also a copy_or_interrupt action that can be optionally -#:: mapped to Ctrl+C. It will copy only if there is a selection and -#:: send an interrupt otherwise. Similarly, -#:: copy_and_clear_or_interrupt will copy and clear the selection or -#:: send an interrupt if there is no selection. - -#: Paste from clipboard - -# map kitty_mod+v paste_from_clipboard -# map cmd+v paste_from_clipboard - -#: Paste from selection - -# map kitty_mod+s paste_from_selection -# map shift+insert paste_from_selection - -#: Pass selection to program - -# map kitty_mod+o pass_selection_to_program - -#:: You can also pass the contents of the current selection to any -#:: program with pass_selection_to_program. By default, the system's -#:: open program is used, but you can specify your own, the selection -#:: will be passed as a command line argument to the program. For -#:: example:: - -#:: map kitty_mod+o pass_selection_to_program firefox - -#:: You can pass the current selection to a terminal program running -#:: in a new kitty window, by using the @selection placeholder:: - -#:: map kitty_mod+y new_window less @selection - -#: }}} - -#: Scrolling {{{ - -#: Scroll line up - -# map kitty_mod+up scroll_line_up -# map kitty_mod+k scroll_line_up -# map opt+cmd+page_up scroll_line_up -# map cmd+up scroll_line_up - -#: Scroll line down - -# map kitty_mod+down scroll_line_down -# map kitty_mod+j scroll_line_down -# map opt+cmd+page_down scroll_line_down -# map cmd+down scroll_line_down - -#: Scroll page up - -# map kitty_mod+page_up scroll_page_up -# map cmd+page_up scroll_page_up - -#: Scroll page down - -# map kitty_mod+page_down scroll_page_down -# map cmd+page_down scroll_page_down - -#: Scroll to top - -# map kitty_mod+home scroll_home -# map cmd+home scroll_home - -#: Scroll to bottom - -# map kitty_mod+end scroll_end -# map cmd+end scroll_end - -#: Scroll to previous shell prompt - -# map kitty_mod+z scroll_to_prompt -1 - -#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last -#:: jumped to or the last clicked position. Requires shell -#:: integration -#:: to work. - -#: Scroll to next shell prompt - -# map kitty_mod+x scroll_to_prompt 1 - -#: Browse scrollback buffer in pager - -# map kitty_mod+h show_scrollback - -#:: You can pipe the contents of the current screen and history -#:: buffer as STDIN to an arbitrary program using launch --stdin- -#:: source. For example, the following opens the scrollback buffer in -#:: less in an overlay window:: - -#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R - -#:: For more details on piping screen and buffer contents to external -#:: programs, see launch . - -#: Browse output of the last shell command in pager - -# map kitty_mod+g show_last_command_output - -#:: You can also define additional shortcuts to get the command -#:: output. For example, to get the first command output on screen:: - -#:: map f1 show_first_command_output_on_screen - -#:: To get the command output that was last accessed by a keyboard -#:: action or mouse action:: - -#:: map f1 show_last_visited_command_output - -#:: You can pipe the output of the last command run in the shell -#:: using the launch action. For example, the following opens the -#:: output in less in an overlay window:: - -#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R - -#:: To get the output of the first command on the screen, use -#:: @first_cmd_output_on_screen. To get the output of the last jumped -#:: to command, use @last_visited_cmd_output. - -#:: Requires shell integration -#:: to work. - -#: }}} - -#: Window management {{{ - -#: New window - -# map kitty_mod+enter new_window -# map cmd+enter new_window - -#:: You can open a new kitty window running an arbitrary program, for -#:: example:: - -#:: map kitty_mod+y launch mutt - -#:: You can open a new window with the current working directory set -#:: to the working directory of the current window using:: - -#:: map ctrl+alt+enter launch --cwd=current - -#:: You can open a new window that is allowed to control kitty via -#:: the kitty remote control facility with launch --allow-remote- -#:: control. Any programs running in that window will be allowed to -#:: control kitty. For example:: - -#:: map ctrl+enter launch --allow-remote-control some_program - -#:: You can open a new window next to the currently active window or -#:: as the first window, with:: - -#:: map ctrl+n launch --location=neighbor -#:: map ctrl+f launch --location=first - -#:: For more details, see launch -#:: . - -#: New OS window - -# map kitty_mod+n new_os_window -# map cmd+n new_os_window - -#:: Works like new_window above, except that it opens a top-level OS -#:: window. In particular you can use new_os_window_with_cwd to open -#:: a window with the current working directory. - -#: Close window - -# map kitty_mod+w close_window -# map shift+cmd+d close_window - -#: Next window - -# map kitty_mod+] next_window - -#: Previous window - -# map kitty_mod+[ previous_window - -#: Move window forward - -# map kitty_mod+f move_window_forward - -#: Move window backward - -# map kitty_mod+b move_window_backward - -#: Move window to top - -# map kitty_mod+` move_window_to_top - -#: Start resizing window - -# map kitty_mod+r start_resizing_window -# map cmd+r start_resizing_window - -#: First window - -# map kitty_mod+1 first_window -# map cmd+1 first_window - -#: Second window - -# map kitty_mod+2 second_window -# map cmd+2 second_window - -#: Third window - -# map kitty_mod+3 third_window -# map cmd+3 third_window - -#: Fourth window - -# map kitty_mod+4 fourth_window -# map cmd+4 fourth_window - -#: Fifth window - -# map kitty_mod+5 fifth_window -# map cmd+5 fifth_window - -#: Sixth window - -# map kitty_mod+6 sixth_window -# map cmd+6 sixth_window - -#: Seventh window - -# map kitty_mod+7 seventh_window -# map cmd+7 seventh_window - -#: Eighth window - -# map kitty_mod+8 eighth_window -# map cmd+8 eighth_window - -#: Ninth window - -# map kitty_mod+9 ninth_window -# map cmd+9 ninth_window - -#: Tenth window - -# map kitty_mod+0 tenth_window - -#: Visually select and focus window - -# map kitty_mod+f7 focus_visible_window - -#:: Display overlay numbers and alphabets on the window, and switch -#:: the focus to the window when you press the key. When there are -#:: only two windows, the focus will be switched directly without -#:: displaying the overlay. You can change the overlay characters and -#:: their order with option visual_window_select_characters. - -#: Visually swap window with another - -# map kitty_mod+f8 swap_with_window - -#:: Works like focus_visible_window above, but swaps the window. - -#: }}} - -#: Tab management {{{ - -#: Next tab - -# map kitty_mod+right next_tab -# map shift+cmd+] next_tab -# map ctrl+tab next_tab - -#: Previous tab - -# map kitty_mod+left previous_tab -# map shift+cmd+[ previous_tab -# map ctrl+shift+tab previous_tab - -#: New tab - -# map kitty_mod+t new_tab -# map cmd+t new_tab - -#: Close tab - -# map kitty_mod+q close_tab -# map cmd+w close_tab - -#: Close OS window - -# map shift+cmd+w close_os_window - -#: Move tab forward - -# map kitty_mod+. move_tab_forward - -#: Move tab backward - -# map kitty_mod+, move_tab_backward - -#: Set tab title - -# map kitty_mod+alt+t set_tab_title -# map shift+cmd+i set_tab_title - - -#: You can also create shortcuts to go to specific tabs, with 1 being -#: the first tab, 2 the second tab and -1 being the previously active -#: tab, and any number larger than the last tab being the last tab:: - -#: map ctrl+alt+1 goto_tab 1 -#: map ctrl+alt+2 goto_tab 2 - -#: Just as with new_window above, you can also pass the name of -#: arbitrary commands to run when using new_tab and new_tab_with_cwd. -#: Finally, if you want the new tab to open next to the current tab -#: rather than at the end of the tabs list, use:: - -#: map ctrl+t new_tab !neighbor [optional cmd to run] -#: }}} - -#: Layout management {{{ - -#: Next layout - -# map kitty_mod+l next_layout - - -#: You can also create shortcuts to switch to specific layouts:: - -#: map ctrl+alt+t goto_layout tall -#: map ctrl+alt+s goto_layout stack - -#: Similarly, to switch back to the previous layout:: - -#: map ctrl+alt+p last_used_layout - -#: There is also a toggle_layout action that switches to the named -#: layout or back to the previous layout if in the named layout. -#: Useful to temporarily "zoom" the active window by switching to the -#: stack layout:: - -#: map ctrl+alt+z toggle_layout stack -#: }}} - -#: Font sizes {{{ - -#: You can change the font size for all top-level kitty OS windows at -#: a time or only the current one. - -#: Increase font size - -# map kitty_mod+equal change_font_size all +2.0 -# map kitty_mod+plus change_font_size all +2.0 -# map kitty_mod+kp_add change_font_size all +2.0 -# map cmd+plus change_font_size all +2.0 -# map cmd+equal change_font_size all +2.0 -# map shift+cmd+equal change_font_size all +2.0 - -#: Decrease font size - -# map kitty_mod+minus change_font_size all -2.0 -# map kitty_mod+kp_subtract change_font_size all -2.0 -# map cmd+minus change_font_size all -2.0 -# map shift+cmd+minus change_font_size all -2.0 - -#: Reset font size - -# map kitty_mod+backspace change_font_size all 0 -# map cmd+0 change_font_size all 0 - - -#: To setup shortcuts for specific font sizes:: - -#: map kitty_mod+f6 change_font_size all 10.0 - -#: To setup shortcuts to change only the current OS window's font -#: size:: - -#: map kitty_mod+f6 change_font_size current 10.0 -#: }}} - -#: Select and act on visible text {{{ - -#: Use the hints kitten to select text and either pass it to an -#: external program or insert it into the terminal or copy it to the -#: clipboard. - -#: Open URL - -# map kitty_mod+e open_url_with_hints - -#:: Open a currently visible URL using the keyboard. The program used -#:: to open the URL is specified in open_url_with. - -#: Insert selected path - -# map kitty_mod+p>f kitten hints --type path --program - - -#:: Select a path/filename and insert it into the terminal. Useful, -#:: for instance to run git commands on a filename output from a -#:: previous git command. - -#: Open selected path - -# map kitty_mod+p>shift+f kitten hints --type path - -#:: Select a path/filename and open it with the default open program. - -#: Insert selected line - -# map kitty_mod+p>l kitten hints --type line --program - - -#:: Select a line of text and insert it into the terminal. Useful for -#:: the output of things like: `ls -1`. - -#: Insert selected word - -# map kitty_mod+p>w kitten hints --type word --program - - -#:: Select words and insert into terminal. - -#: Insert selected hash - -# map kitty_mod+p>h kitten hints --type hash --program - - -#:: Select something that looks like a hash and insert it into the -#:: terminal. Useful with git, which uses SHA1 hashes to identify -#:: commits. - -#: Open the selected file at the selected line - -# map kitty_mod+p>n kitten hints --type linenum - -#:: Select something that looks like filename:linenum and open it in -#:: vim at the specified line number. - -#: Open the selected hyperlink - -# map kitty_mod+p>y kitten hints --type hyperlink - -#:: Select a hyperlink (i.e. a URL that has been marked as such by -#:: the terminal program, for example, by `ls --hyperlink=auto`). - - -#: The hints kitten has many more modes of operation that you can map -#: to different shortcuts. For a full description see hints kitten -#: . -#: }}} - -#: Miscellaneous {{{ - -#: Show documentation - -# map kitty_mod+f1 show_kitty_doc overview - -#: Toggle fullscreen - -# map kitty_mod+f11 toggle_fullscreen -# map ctrl+cmd+f toggle_fullscreen - -#: Toggle maximized - -# map kitty_mod+f10 toggle_maximized - -#: Toggle macOS secure keyboard entry - -# map opt+cmd+s toggle_macos_secure_keyboard_entry - -#: Unicode input - -# map kitty_mod+u kitten unicode_input -# map ctrl+cmd+space kitten unicode_input - -#: Edit config file - -# map kitty_mod+f2 edit_config_file -# map cmd+, edit_config_file - -#: Open the kitty command shell - -# map kitty_mod+escape kitty_shell window - -#:: Open the kitty shell in a new window / tab / overlay / os_window -#:: to control kitty using commands. - -#: Increase background opacity - -# map kitty_mod+a>m set_background_opacity +0.1 - -#: Decrease background opacity - -# map kitty_mod+a>l set_background_opacity -0.1 - -#: Make background fully opaque - -# map kitty_mod+a>1 set_background_opacity 1 - -#: Reset background opacity - -# map kitty_mod+a>d set_background_opacity default - -#: Reset the terminal - -# map kitty_mod+delete clear_terminal reset active -# map opt+cmd+r clear_terminal reset active - -#:: You can create shortcuts to clear/reset the terminal. For -#:: example:: - -#:: # Reset the terminal -#:: map f1 clear_terminal reset active -#:: # Clear the terminal screen by erasing all contents -#:: map f1 clear_terminal clear active -#:: # Clear the terminal scrollback by erasing it -#:: map f1 clear_terminal scrollback active -#:: # Scroll the contents of the screen into the scrollback -#:: map f1 clear_terminal scroll active -#:: # Clear everything up to the line with the cursor -#:: map f1 clear_terminal to_cursor active - -#:: If you want to operate on all kitty windows instead of just the -#:: current one, use all instead of active. - -#:: Some useful functions that can be defined in the shell rc files -#:: to perform various kinds of clearing of the current window: - -#:: .. code-block:: sh - -#:: clear-only-screen() { -#:: printf "\e[H\e[2J" -#:: } - -#:: clear-screen-and-scrollback() { -#:: printf "\e[H\e[3J" -#:: } - -#:: clear-screen-saving-contents-in-scrollback() { -#:: printf "\e[H\e[22J" -#:: } - -#:: For instance, using these escape codes, it is possible to remap -#:: Ctrl+L to both scroll the current screen contents into the -#:: scrollback buffer and clear the screen, instead of just clearing -#:: the screen. For ZSH, in ~/.zshrc, add: - -#:: .. code-block:: zsh - -#:: ctrl_l() { -#:: builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" -#:: builtin zle .reset-prompt -#:: builtin zle -R -#:: } -#:: zle -N ctrl_l -#:: bindkey '^l' ctrl_l - -#: Clear up to cursor line - -# map cmd+k clear_terminal to_cursor active - -#: Reload kitty.conf - -# map kitty_mod+f5 load_config_file -# map ctrl+cmd+, load_config_file - -#:: Reload kitty.conf, applying any changes since the last time it -#:: was loaded. Note that a handful of options cannot be dynamically -#:: changed and require a full restart of kitty. Particularly, when -#:: changing shortcuts for actions located on the macOS global menu -#:: bar, a full restart is needed. You can also map a keybinding to -#:: load a different config file, for example:: - -#:: map f5 load_config /path/to/alternative/kitty.conf - -#:: Note that all options from the original kitty.conf are discarded, -#:: in other words the new configuration *replace* the old ones. - -#: Debug kitty configuration - -# map kitty_mod+f6 debug_config -# map opt+cmd+, debug_config - -#:: Show details about exactly what configuration kitty is running -#:: with and its host environment. Useful for debugging issues. - -#: Send arbitrary text on key presses - -#:: E.g. map ctrl+shift+alt+h send_text all Hello World - -#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the -#:: client program when pressing specified shortcut keys. For -#:: example:: - -#:: map ctrl+alt+a send_text all Special text - -#:: This will send "Special text" when you press the Ctrl+Alt+A key -#:: combination. The text to be sent decodes ANSI C escapes -#:: so you can use escapes like \e to send control -#:: codes or \u21fb to send Unicode characters (or you can just input -#:: the Unicode characters directly as UTF-8 text). You can use -#:: `kitten show_key` to get the key escape codes you want to -#:: emulate. - -#:: The first argument to send_text is the keyboard modes in which to -#:: activate the shortcut. The possible values are normal, -#:: application, kitty or a comma separated combination of them. The -#:: modes normal and application refer to the DECCKM cursor key mode -#:: for terminals, and kitty refers to the kitty extended keyboard -#:: protocol. The special value all means all of them. - -#:: Some more examples:: - -#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) -#:: map ctrl+alt+a send_text normal Word\e[H -#:: map ctrl+alt+a send_text application Word\eOH -#:: # Run a command at a shell prompt (like typing the command and pressing Enter) -#:: map ctrl+alt+a send_text normal,application some command with arguments\r - -#: Open kitty Website - -# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ - -#: Hide macOS kitty application - -# map cmd+h hide_macos_app - -#: Hide macOS other applications - -# map opt+cmd+h hide_macos_other_apps - -#: Minimize macOS window - -# map cmd+m minimize_macos_window - -#: Quit kitty - -# map cmd+q quit - -#: }}} - -#: }}} - - -# BEGIN_KITTY_THEME -# Tokyo Night -include current-theme.conf -# END_KITTY_THEME \ No newline at end of file diff --git a/lf/.config/lf/lfrc b/lf/.config/lf/lfrc deleted file mode 100644 index a68582e..0000000 --- a/lf/.config/lf/lfrc +++ /dev/null @@ -1,219 +0,0 @@ -# interpreter for shell commands -set shell sh - -# set '-eu' options for shell commands -# These options are used to have safer shell commands. Option '-e' is used to -# exit on error and option '-u' is used to give error for unset variables. -# Option '-f' disables pathname expansion which can be useful when $f, $fs, and -# $fx variables contain names with '*' or '?' characters. However, this option -# is used selectively within individual commands as it can be limiting at -# times. -set shellopts '-eu' - -# set internal field separator (IFS) to "\n" for shell commands -# This is useful to automatically split file names in $fs and $fx properly -# since default file separator used in these variables (i.e. 'filesep' option) -# is newline. You need to consider the values of these options and create your -# commands accordingly. -set ifs "\n" - -# leave some space at the top and the bottom of the screen -set scrolloff 10 - -# Use the `dim` attribute instead of underline for the cursor in the preview pane -set cursorpreviewfmt "\033[7;2m" - -# Image previews -set cleaner ~/.config/lf/scripts/lf_kitty_clean -set previewer ~/.config/lf/scripts/lf_kitty_preview - -# automatic refresh -set period 1 - -# file and dir size -set info size -set dircounts - -# remap goto top and bottom -map J bottom -map gg -map K top - -# cool dirs and shit -map gc cd ~/Projects -map gC cd ~/config -map gd cd ~/Documents -map gD cd ~/Downloads -# games -map gge cd ~/Emulation -map ggm cd ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/instances -map ggs cd ~/.local/share/Steam/steamapps/common -# music -map gm cd ~/Music -# pictures -map gps cd ~/Pictures/Screenshots -map gpp cd ~/Pictures -map gpw cd ~/Pictures/Wallpapers -# videos -map gvr cd ~/Videos/Recording -map gvv cd ~/Videos - -# use enter for shell commands -map shell - -# show the result of execution of previous commands -map ` !true - -# execute current file (must be executable) -map x $$f -map X !$f - -# dedicated keys for file opener actions -map o &mimeopen $f -map O $mimeopen --ask $f - -# define a custom 'open' command -# This command is called when current file is not a directory. You may want to -# use either file extensions and/or mime types here. Below uses an editor for -# text files and a file opener for the rest. -cmd open &{{ - case $(file --mime-type -Lb $f) in - text/*) lf -remote "send $id \$$EDITOR \$fx";; - *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;; - esac -}} - -# mkdir command. See wiki if you want it to select created dir -map a :push %mkdir - -# define a custom 'rename' command without prompt for overwrite -# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1 -# map r push :rename - -# make sure trash folder exists -# %mkdir -p ~/.trash - -# move current file or selected files to trash folder -cmd trash %trash-put $fx - -# use '' key for either 'trash' or 'delete' command -map trash -map D trash -# map delete - -# extract the current file with the right command -# (xkcd link: https://xkcd.com/1168/) -cmd extract ${{ - set -f - case $f in - *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; - *.tar.gz|*.tgz) tar xzvf $f;; - *.tar.xz|*.txz) tar xJvf $f;; - *.zip) unzip $f;; - *.rar) unrar x $f;; - *.7z) 7z x $f;; - esac -}} - -# compress current file or selected files with tar and gunzip -cmd tar ${{ - set -f - mkdir $1 - cp -r $fx $1 - tar czf $1.tar.gz $1 - rm -rf $1 -}} - -# compress current file or selected files with zip -cmd zip ${{ - set -f - mkdir $1 - cp -r $fx $1 - zip -r $1.zip $1 - rm -rf $1 -}} - -# use eza instead of ls for file info -cmd on-select &{{ - lf -remote "send $id set statfmt \"$(eza -ld --color=always "$f")\"" -}} - -cmd on-cd &{{ - # display repository status in your prompt - if [ -d .git ] || [ -f .git ]; then - branch=$(git branch --show-current 2>/dev/null) || true - remote=$(git config --get branch.$branch.remote 2>/dev/null) || true - url=$(git remote get-url $remote 2>/dev/null) || true - fmt="\033[32;1m%u@%h\033[0m:\033[34;1m%w\033[0m\033[33;1m [GIT BRANCH:> $branch >> $url]\033[0m" - elif [ -d .hg ]; then - hg=$(hg branch 2>/dev/null) || true - fmt="\033[32;1m%u@%h\033[0m:\033[34;1m%w\033[0m\033[33;1m [HG BRANCH:> $hg]\033[0m" - elif [ -d .svn ]; then - svn=$(svn info 2>/dev/null | awk '/^URL: /{print $2}') || true - fmt="\033[32;1m%u@%h\033[0m:\033[34;1m%w\033[0m\033[33;1m [SVN URL:> $svn]\033[0m" - else - fmt="\033[32;1m%u@%h\033[0m:\033[34;1m%d\033[0m\033[1m%f\033[0m" - fi - lf -remote "send $id set promptfmt \"$fmt\"" - - # update terminal name - printf "\033]0; ${PWD/#$HOME/\~}\007" > /dev/tty -}} - -on-cd - -# search all files for text -cmd fzf_search ${{ - RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case " - res="$( - FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \ - fzf --bind "change:reload:$RG_PREFIX {q} || true" \ - --ansi --layout=reverse --header 'Search in files' \ - | cut -d':' -f1 | sed 's/\\/\\\\/g;s/"/\\"/g' - )" - [ -n "$res" ] && lf -remote "send $id select \"$res\"" -}} - -map ? :fzf_search - -# Use rsync for paste -cmd paste &{{ - set -- $(cat ~/.local/share/lf/files) - mode="$1" - shift - case "$mode" in - copy) - rsync -av --ignore-existing --progress -- "$@" . | - stdbuf -i0 -o0 -e0 tr '\r' '\n' | - while IFS= read -r line; do - lf -remote "send $id echo $line" - done - ;; - move) mv -n -- "$@" .;; - esac - rm ~/.local/share/lf/files - lf -remote "send clear" -}} - -# follow symlinks -cmd follow_link %{{ - lf -remote "send ${id} select '$(readlink $f)'" -}} - -map gL follow_link - -# move selected files to new folder -cmd newfold ${{ - set -f - printf "Directory name: " - read newd - mkdir -- "$newd" - mv -- $fx "$newd" -}} - -map newfold - -cmd open-with-gui &$@ $fx ## opens with a gui application outside lf client -cmd open-with-cli $$@ $fx ## opens with a cli application inside lf client -map O push :open-with-gui ## input application -map o push :open-with-cli ## input application diff --git a/lf/.config/lf/scripts/lf_kitty_clean b/lf/.config/lf/scripts/lf_kitty_clean deleted file mode 100755 index 4bffb33..0000000 --- a/lf/.config/lf/scripts/lf_kitty_clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -# From https://github.com/gokcehan/lf/wiki/Previews#with-kitty-and-pistol - -kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty diff --git a/lf/.config/lf/scripts/lf_kitty_preview b/lf/.config/lf/scripts/lf_kitty_preview deleted file mode 100755 index 3d2ad6e..0000000 --- a/lf/.config/lf/scripts/lf_kitty_preview +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -# From https://github.com/gokcehan/lf/wiki/Previews#with-kitty-and-pistol -# Includes fallback for non-images - -file=$1 -w=$2 -h=$3 -x=$4 -y=$5 - -case "$(file -Lb --mime-type -- "$1")" in - image/*) - kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$file" < /dev/null > /dev/tty - exit 1 - ;; - *) - cat "$1" - ;; -esac diff --git a/mako/.config/mako/config b/mako/.config/mako/config deleted file mode 100644 index 89024d8..0000000 --- a/mako/.config/mako/config +++ /dev/null @@ -1,8 +0,0 @@ -font=Noto Sans 16 -background-color=#1a1b26e6 -text-color=#c0caf5 -width=500 -height=400 -padding=8 -border-color=#414868 -default-timeout=15000 diff --git a/mpv/.config/mpv/mpv.conf b/mpv/.config/mpv/mpv.conf deleted file mode 100644 index f42be63..0000000 --- a/mpv/.config/mpv/mpv.conf +++ /dev/null @@ -1,6 +0,0 @@ -hwdec=auto-safe,no -osd-bar=no -profile=gpu-hq -video-sync=display-resample -vo=dmabuf-wayland,gpu,sdl -ytdl-raw-options="format-sort=res:1080" diff --git a/mpv/.config/mpv/script-opts/uosc.conf b/mpv/.config/mpv/script-opts/uosc.conf deleted file mode 100644 index 32cb589..0000000 --- a/mpv/.config/mpv/script-opts/uosc.conf +++ /dev/null @@ -1,233 +0,0 @@ -# Display style of current position. available: line, bar -timeline_style=line -# Line display style config -timeline_line_width=2 -# Timeline size when fully expanded, in pixels, 0 to disable -timeline_size=40 -# Comma separated states when element should always be fully visible. -# Available: paused, audio, image, video, idle, windowed, fullscreen -timeline_persistency= -# Top border of background color to help visually separate timeline from video -timeline_border=1 -# When scrolling above timeline, wheel will seek by this amount of seconds -timeline_step=5 -# Render cache indicators for streaming content -timeline_cache=yes - -# When to display an always visible progress bar (minimized timeline). Can be: windowed, fullscreen, always, never -# Can also be toggled on demand with `toggle-progress` command. -progress=windowed -progress_size=2 -progress_line_width=20 - -# A comma delimited list of controls above the timeline. Set to `never` to disable. -# Parameter spec: enclosed in `{}` means value, enclosed in `[]` means optional -# Full item syntax: `[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]` -# Common properties: -# `{icon}` - parameter used to specify an icon name (example: `face`) -# - pick here: https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded -# `{element}`s and their parameters: -# `{shorthand}` - preconfigured shorthands: -# `play-pause`, `menu`, `subtitles`, `audio`, `video`, `playlist`, -# `chapters`, `editions`, `stream-quality`, `open-file`, `items`, -# `next`, `prev`, `first`, `last`, `audio-device`, `fullscreen`, -# `loop-playlist`, `loop-file`, `shuffle` -# `speed[:{scale}]` - display speed slider, [{scale}] - factor of controls_size, default: 1.3 -# `command:{icon}:{command}` - button that executes a {command} when pressed -# `toggle:{icon}:{prop}[@{owner}]` - button that toggles mpv property -# `cycle:{default_icon}:{prop}[@{owner}]:{value1}[={icon1}][!]/{valueN}[={iconN}][!]` -# - button that cycles mpv property between values, each optionally having different icon and active flag -# - presence of `!` at the end will style the button as active -# - `{owner}` is the name of a script that manages this property if any -# `gap[:{scale}]` - display an empty gap -# {scale} - factor of controls_size, default: 0.3 -# `space` - fills all available space between previous and next item, useful to align items to the right -# - multiple spaces divide the available space among themselves, which can be used for centering -# Item visibility control: -# `<[!]{disposition1}[,[!]{dispositionN}]>` - optional prefix to control element's visibility -# - `{disposition}` can be one of: -# - `idle` - true if mpv is in idle mode (no file loaded) -# - `image` - true if current file is a single image -# - `audio` - true for audio only files -# - `video` - true for files with a video track -# - `has_many_video` - true for files with more than one video track -# - `has_image` - true for files with a cover or other image track -# - `has_audio` - true for files with an audio track -# - `has_many_audio` - true for files with more than one audio track -# - `has_sub` - true for files with an subtitle track -# - `has_many_sub` - true for files with more than one subtitle track -# - `has_many_edition` - true for files with more than one edition -# - `has_chapter` - true for files with chapter list -# - `stream` - true if current file is read from a stream -# - `has_playlist` - true if current playlist has 2 or more items in it -# - prefix with `!` to negate the required disposition -# Examples: -# - `stream-quality` - show stream quality button only for streams -# - `audio` - show audio tracks button for all files that have -# an audio track, but are not exclusively audio only files -# Place `#{badge}[>{limit}]` after the element params to give it a badge. Available badges: -# `sub`, `audio`, `video` - track type counters -# `{mpv_prop}` - any mpv prop that makes sense to you: https://mpv.io/manual/master/#property-list -# - if prop value is an array it'll display its size -# `>{limit}` will display the badge only if it's numerical value is above this threshold. -# Example: `#audio>1` -# Place `?{tooltip}` after the element config to give it a tooltip. -# Example implementations: -# menu = command:menu:script-binding uosc/menu-blurred?Menu -# subtitles = command:subtitles:script-binding uosc/subtitles#sub?Subtitles -# fullscreen = cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?Fullscreen -# loop-playlist = cycle:repeat:loop-playlist:no/inf!?Loop playlist -# toggle:{icon}:{prop} = cycle:{icon}:{prop}:no/yes! -controls=menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen -controls_size=32 -controls_margin=8 -controls_spacing=2 -controls_persistency= - -# Where to display volume controls: none, left, right -volume=right -volume_size=40 -volume_border=1 -volume_step=1 -volume_persistency= - -# Playback speed widget: mouse drag or wheel to change, click to reset -speed_step=0.1 -speed_step_is_factor=no -speed_persistency= - -# Controls all menus, such as context menu, subtitle loader/selector, etc -menu_item_height=36 -menu_min_width=260 -menu_padding=4 -# Determines if `/` or `ctrl+f` is required to activate the search, or if typing -# any text is sufficient. -# When enabled, you can no longer toggle a menu off with the same key that opened it, if the key is a unicode character. -menu_type_to_search=yes - -# Top bar with window controls and media title -# Can be: never, no-border, always -top_bar=no-border -top_bar_size=40 -top_bar_controls=yes -# Can be: `no` (hide), `yes` (inherit title from mpv.conf), or a custom template string -top_bar_title=yes -# Template string to enable alternative top bar title. If alt title matches main title, -# it'll be hidden. Tip: use `${media-title}` for main, and `${filename}` for alt title. -top_bar_alt_title= -# Can be: -# `below` => display alt title below the main one -# `toggle` => toggle the top bar title text between main and alt by clicking -# the top bar, or calling `toggle-title` binding -top_bar_alt_title_place=below -# Flash top bar when any of these file types is loaded. Available: audio,image,video -top_bar_flash_on=video,audio -top_bar_persistency= - -# Window border drawn in no-border mode -window_border_size=1 - -# If there's no playlist and file ends, load next file in the directory -# Requires `keep-open=yes` in `mpv.conf`. -autoload=no -# What types to accept as next item when autoloading or requesting to play next file -# Can be: video, audio, image, subtitle -autoload_types=video,audio,image -# Enable uosc's playlist/directory shuffle mode -# This simply makes the next selected playlist or directory item be random, just -# like any other player in the world. It also has an easily togglable control button. -shuffle=no - -# Scale the interface by this factor -scale=1 -# Scale in fullscreen -scale_fullscreen=1.3 -# Adjust the text scaling to fit your font -font_scale=1 -# Border of text and icons when drawn directly on top of video -text_border=1.2 -# Border radius of buttons, menus, and all other rectangles -border_radius=4 -# A comma delimited list of color overrides in RGB HEX format. Defaults: -# foreground=ffffff,foreground_text=000000,background=000000,background_text=ffffff,curtain=111111,success=a5e075,error=ff616e -color= -# A comma delimited list of opacity overrides for various UI element backgrounds and shapes. -# This does not affect any text, which is always rendered fully opaque. Defaults: -# timeline=0.9,position=1,chapters=0.8,slider=0.9,slider_gauge=1,controls=0,speed=0.6,menu=1,submenu=0.4,border=1,title=1,tooltip=1,thumbnail=1,curtain=0.8,idle_indicator=0.8,audio_indicator=0.5,buffering_indicator=0.3,playlist_position=0.8 -opacity= -# A comma delimited list of features to refine at a cost of some performance impact. -# text_width - Use a more accurate text width measurement that measures each text string individually -# instead of just measuring the width of known letters once and adding them up. -# sorting - Use filename sorting that handles non-english languages better, especially asian ones. -# At the moment, this is only available on windows, and has no effect on other platforms. -refine= -# Duration of animations in milliseconds -animation_duration=100 -# Execute command for background clicks shorter than this number of milliseconds, 0 to disable -# Execution always waits for `input-doubleclick-time` to filter out double-clicks -click_threshold=0 -click_command=cycle pause; script-binding uosc/flash-pause-indicator -# Flash duration in milliseconds used by `flash-{element}` commands -flash_duration=1000 -# Distances in pixels below which elements are fully faded in/out -proximity_in=40 -proximity_out=120 -# Use only bold font weight throughout the whole UI -font_bold=no -# One of `total`, `playtime-remaining` (scaled by the current speed), `time-remaining` (remaining length of file) -destination_time=playtime-remaining -# Display sub second fraction in timestamps up to this precision -time_precision=0 -# Display stream's buffered time in timeline if it's lower than this amount of seconds, 0 to disable -buffered_time_threshold=60 -# Hide UI when mpv autohides the cursor. Timing is controlled by `cursor-autohide` in `mpv.conf` (in milliseconds). -autohide=no -# Can be: flash, static, manual (controlled by flash-pause-indicator and decide-pause-indicator commands) -pause_indicator=flash -# Sizes to list in stream quality menu -stream_quality_options=4320,2160,1440,1080,720,480,360,240,144 -# Types to identify media files -video_types=3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m -audio_types=aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv -image_types=apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp -subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt -# Default open-file menu directory -default_directory=~/ -# List hidden files when reading directories. Due to environment limitations, this currently only hides -# files starting with a dot. Doesn't hide hidden files on windows (we have no way to tell they're hidden). -show_hidden_files=no -# Move files to trash (recycle bin) when deleting files. Dependencies: -# - Linux: `sudo apt install trash-cli` -# - MacOS: `brew install trash` -use_trash=no -# Adjusted osd margins based on the visibility of UI elements -adjust_osd_margins=yes - -# Adds chapter range indicators to some common chapter types. -# Additionally to displaying the start of the chapter as a diamond icon on top of the timeline, -# the portion of the timeline of that chapter range is also colored based on the config below. -# -# The syntax is a comma-delimited list of `{type}:{color}` pairs, where: -# `{type}` => range type. Currently supported ones are: -# - `openings`, `endings` => anime openings/endings -# - `intros`, `outros` => video intros/outros -# - `ads` => segments created by sponsor-block software like https://github.com/po5/mpv_sponsorblock -# `{color}` => an RGB(A) HEX color code (`rrggbb`, or `rrggbbaa`) -# -# To exclude marking any of the range types, simply remove them from the list. -chapter_ranges=openings:30abf964,endings:30abf964,ads:c54e4e80 -# Add alternative lua patterns to identify beginnings of simple chapter ranges (except for `ads`) -# Syntax: `{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]` -chapter_range_patterns=openings:オープニング;endings:エンディング - -# Localization language priority from highest to lowest. -# Also controls what languages are fetched by `download-subtitles` menu. -# Built in languages can be found in `uosc/intl`. -# `slang` is a keyword to inherit values from `--slang` mpv config. -# Supports paths to custom json files: `languages=~~/custom.json,slang,en` -languages=slang,en - -# A comma separated list of element IDs to disable. Available IDs: -# window_border, top_bar, timeline, controls, volume, -# idle_indicator, audio_indicator, buffering_indicator, pause_indicator -disable_elements= diff --git a/ranger/.config/ranger/rc.conf b/ranger/dot-config/ranger/rc.conf similarity index 96% rename from ranger/.config/ranger/rc.conf rename to ranger/dot-config/ranger/rc.conf index 87bf442..9ea8e37 100644 --- a/ranger/.config/ranger/rc.conf +++ b/ranger/dot-config/ranger/rc.conf @@ -39,7 +39,7 @@ set show_hidden false # Ask for a confirmation when running the "delete" command? # Valid values are "always", "never", "multiple" (default) # With "multiple", ranger will ask only if you delete multiple files at once. -set confirm_on_delete multiple +set confirm_on_delete always # Use non-default path for file preview script? # ranger ships with scope.sh, a script that calls external programs (see @@ -57,7 +57,7 @@ set automatically_count_files true set open_all_images true # Be aware of version control systems and display information. -set vcs_aware true +set vcs_aware false # State of the four backends git, hg, bzr, svn. The possible states are # disabled, local (only show local info), enabled (show local and remote @@ -114,7 +114,7 @@ set preview_images true # Preview images in full color with the external command "ueberzug". # Images are shown by using a child window. # Only for users who run X11 in GNU/Linux. -set preview_images_method kitty +set preview_images_method sixel # Delay in seconds before displaying an image with the w3m method. # Increase it in case of experiencing display corruption. @@ -128,11 +128,11 @@ set iterm2_font_width 8 set iterm2_font_height 11 # Use a unicode "..." character to mark cut-off filenames? -set unicode_ellipsis false +set unicode_ellipsis true # BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic). # Requires the python-bidi pip package -set bidi_support false +set bidi_support true # Show dotfiles in the bookmark preview box? set show_hidden_bookmarks true @@ -148,7 +148,7 @@ set preview_directories true set collapse_preview true # Wrap long lines in plain text previews? -set wrap_plaintext_previews false +set wrap_plaintext_previews true # Save the console history on exit? set save_console_history true @@ -164,7 +164,7 @@ set draw_progress_bar_in_status_bar true # Separators are vertical lines between columns. # Outline draws a box around all the columns. # Both combines the two. -set draw_borders none +set draw_borders separators # Display the directory name in tabs? set dirname_in_tabs true @@ -447,30 +447,21 @@ map } traverse map { traverse_backwards map ) jump_non -map gh cd ~ -map ge cd /etc -map gm cd /media +map ghh cd ~ +map ghc cd ~/config +map ghC cd ~/.config +map ghd cd ~/Documents +map ghD cd ~/Downloads +map ghgm cd ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher +map ghgs cd ~/.local/share/Steam/steamapps/common +map ghm cd ~/Music +map ghp cd ~/Pictures +map ghP cd ~/Projects +map ghv cd ~/Videos +map gl cd -r . +map gL cd -r %f map gi eval fm.cd('/run/media/' + os.getenv('USER')) -map gM cd /mnt -map gr cd / -map gR eval fm.cd(ranger.RANGERDIR) map g/ cd / -map g? cd /usr/share/doc/ranger - -map gd cd ~/Documents -map gD cd ~/Downloads -map gm cd ~/Music -map gpp cd ~/Pictures -map gps cd ~/Pictures/Screenshots -map gpw cd ~/Pictures/Wallpapers -map gvv cd ~/Videos -map gvr cd ~/Videos/Recording -map ggd cd ~/.var/app/org.zdoom.GZDoom/.config/gzdoom -map ggh cd ~/Games/Heroic -map ggl cd ~/Games/Lutris -map ggm cd ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/instances -map ggs cd ~/.local/share/Steam/steamapps/common -map gr cd /run/media/ollie # External Programs map E edit @@ -480,7 +471,6 @@ map yp yank path map yd yank dir map yn yank name map y. yank name_without_extension -map F open_with nautilus f # Filesystem Operations map = chmod @@ -765,4 +755,3 @@ tmap eval -q fm.ui.taskview.task_remove() tmap redraw_window tmap taskview_close copytmap q Q w - diff --git a/ranger/dot-config/ranger/scope.sh b/ranger/dot-config/ranger/scope.sh new file mode 100755 index 0000000..e21ebfc --- /dev/null +++ b/ranger/dot-config/ranger/scope.sh @@ -0,0 +1,356 @@ +#!/usr/bin/env bash + +set -o noclobber -o noglob -o nounset -o pipefail +IFS=$'\n' + +## If the option `use_preview_script` is set to `true`, +## then this script will be called and its output will be displayed in ranger. +## ANSI color codes are supported. +## STDIN is disabled, so interactive scripts won't work properly + +## This script is considered a configuration file and must be updated manually. +## It will be left untouched if you upgrade ranger. + +## Because of some automated testing we do on the script #'s for comments need +## to be doubled up. Code that is commented out, because it's an alternative for +## example, gets only one #. + +## Meanings of exit codes: +## code | meaning | action of ranger +## -----+------------+------------------------------------------- +## 0 | success | Display stdout as preview +## 1 | no preview | Display no preview at all +## 2 | plain text | Display the plain content of the file +## 3 | fix width | Don't reload when width changes +## 4 | fix height | Don't reload when height changes +## 5 | fix both | Don't ever reload +## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview +## 7 | image | Display the file directly as an image + +## Script arguments +FILE_PATH="${1}" # Full path of the highlighted file +PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) +## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused +PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) +IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview +PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. + +FILE_EXTENSION="${FILE_PATH##*.}" +FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')" + +## Settings +HIGHLIGHT_SIZE_MAX=262143 # 256KiB +HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8} +HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo} +HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}" +PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn} +OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000} +OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night} + +handle_extension() { + case "${FILE_EXTENSION_LOWER}" in + ## Archive + a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ + rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) + atool --list -- "${FILE_PATH}" && exit 5 + bsdtar --list --file "${FILE_PATH}" && exit 5 + exit 1;; + rar) + ## Avoid password prompt by providing empty password + unrar lt -p- -- "${FILE_PATH}" && exit 5 + exit 1;; + 7z) + ## Avoid password prompt by providing empty password + 7z l -p -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## PDF + pdf) + ## Preview as text conversion + pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \ + fmt -w "${PV_WIDTH}" && exit 5 + mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \ + fmt -w "${PV_WIDTH}" && exit 5 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + + ## BitTorrent + torrent) + transmission-show -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## OpenDocument + odt|ods|odp|sxw) + ## Preview as text conversion + odt2txt "${FILE_PATH}" && exit 5 + ## Preview as markdown conversion + pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## XLSX + xlsx) + ## Preview as csv conversion + ## Uses: https://github.com/dilshod/xlsx2csv + xlsx2csv -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## HTML + htm|html|xhtml) + ## Preview as text conversion + w3m -dump "${FILE_PATH}" && exit 5 + lynx -dump -- "${FILE_PATH}" && exit 5 + elinks -dump "${FILE_PATH}" && exit 5 + pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 + ;; + + ## JSON + json) + jq --color-output . "${FILE_PATH}" && exit 5 + python -m json.tool -- "${FILE_PATH}" && exit 5 + ;; + + ## Valve Texture Format + vtf) + # You need to install no_vtf with pipx + no_vtf --always-write --no-progress -f "png|apng" -O "${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" && exit 6 + ;; + + ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected + ## by file(1). + dff|dsf|wv|wvc) + mediainfo "${FILE_PATH}" && exit 5 + exiftool "${FILE_PATH}" && exit 5 + ;; # Continue with next handler on failure + esac +} + +handle_image() { + ## Size of the preview if there are multiple options or it has to be + ## rendered from vector graphics. If the conversion program allows + ## specifying only one dimension while keeping the aspect ratio, the width + ## will be used. + local DEFAULT_SIZE="1920x1080" + + local mimetype="${1}" + case "${mimetype}" in + ## SVG + # image/svg+xml|image/svg) + # convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 + # exit 1;; + + ## DjVu + # image/vnd.djvu) + # ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \ + # - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \ + # && exit 6 || exit 1;; + + ## Image + image/*) + local orientation + orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" + ## If orientation data is present and the image actually + ## needs rotating ("1" means no rotation)... + if [[ -n "$orientation" && "$orientation" != 1 ]]; then + ## ...auto-rotate the image according to the EXIF data. + convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 + fi + + ## `w3mimgdisplay` will be called for all images (unless overriden + ## as above), but might fail for unsupported types. + exit 7;; + + ## Video + # video/*) + # # Thumbnail + # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 + # exit 1;; + + ## PDF + # application/pdf) + # pdftoppm -f 1 -l 1 \ + # -scale-to-x "${DEFAULT_SIZE%x*}" \ + # -scale-to-y -1 \ + # -singlefile \ + # -jpeg -tiffcompression jpeg \ + # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ + # && exit 6 || exit 1;; + + + ## ePub, MOBI, FB2 (using Calibre) + # application/epub+zip|application/x-mobipocket-ebook|\ + # application/x-fictionbook+xml) + # # ePub (using https://github.com/marianosimone/epub-thumbnailer) + # epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \ + # "${DEFAULT_SIZE%x*}" && exit 6 + # ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \ + # >/dev/null && exit 6 + # exit 1;; + + ## Font + application/font*|application/*opentype) + preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" + if fontimage -o "${preview_png}" \ + --pixelsize "120" \ + --fontname \ + --pixelsize "80" \ + --text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \ + --text " abcdefghijklmnopqrstuvwxyz " \ + --text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \ + --text " The quick brown fox jumps over the lazy dog. " \ + "${FILE_PATH}"; + then + convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ + && rm "${preview_png}" \ + && exit 6 + else + exit 1 + fi + ;; + + ## Preview archives using the first image inside. + ## (Very useful for comic book collections for example.) + # application/zip|application/x-rar|application/x-7z-compressed|\ + # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) + # local fn=""; local fe="" + # local zip=""; local rar=""; local tar=""; local bsd="" + # case "${mimetype}" in + # application/zip) zip=1 ;; + # application/x-rar) rar=1 ;; + # application/x-7z-compressed) ;; + # *) tar=1 ;; + # esac + # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ + # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ + # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ + # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return + # + # fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \ + # [ print(l, end='') for l in sys.stdin if \ + # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ + # sort -V | head -n 1) + # [ "$fn" = "" ] && return + # [ "$bsd" ] && fn=$(printf '%b' "$fn") + # + # [ "$tar" ] && tar --extract --to-stdout \ + # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 + # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') + # [ "$bsd" ] && bsdtar --extract --to-stdout \ + # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 + # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" + # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ + # "${IMAGE_CACHE_PATH}" && exit 6 + # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ + # "${IMAGE_CACHE_PATH}" && exit 6 + # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" + # ;; + esac + + # openscad_image() { + # TMPPNG="$(mktemp -t XXXXXX.png)" + # openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \ + # --imgsize="${OPENSCAD_IMGSIZE/x/,}" \ + # -o "${TMPPNG}" "${1}" + # mv "${TMPPNG}" "${IMAGE_CACHE_PATH}" + # } + + # case "${FILE_EXTENSION_LOWER}" in + # ## 3D models + # ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH} + # ## is hardcoded as jpeg. So we make a tempfile.png and just + # ## move/rename it to jpg. This works because image libraries are + # ## smart enough to handle it. + # csg|scad) + # openscad_image "${FILE_PATH}" && exit 6 + # ;; + # 3mf|amf|dxf|off|stl) + # openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6 + # ;; + # esac +} + +handle_mime() { + local mimetype="${1}" + case "${mimetype}" in + ## RTF and DOC + text/rtf|*msword) + ## Preview as text conversion + ## note: catdoc does not always work for .doc files + ## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/ + catdoc -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## DOCX, ePub, FB2 (using markdown) + ## You might want to remove "|epub" and/or "|fb2" below if you have + ## uncommented other methods to preview those formats + *wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml) + ## Preview as markdown conversion + pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## XLS + *ms-excel) + ## Preview as csv conversion + ## xls2csv comes with catdoc: + ## http://www.wagner.pp.ru/~vitus/software/catdoc/ + xls2csv -- "${FILE_PATH}" && exit 5 + exit 1;; + + ## Text + text/* | */xml) + ## Syntax highlight + if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then + exit 2 + fi + if [[ "$( tput colors )" -ge 256 ]]; then + local pygmentize_format='terminal256' + local highlight_format='xterm256' + else + local pygmentize_format='terminal' + local highlight_format='ansi' + fi + env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ + --out-format="${highlight_format}" \ + --force -- "${FILE_PATH}" && exit 5 + env COLORTERM=8bit bat --color=always --style="plain" \ + -- "${FILE_PATH}" && exit 5 + pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ + -- "${FILE_PATH}" && exit 5 + exit 2;; + + ## DjVu + image/vnd.djvu) + ## Preview as text conversion (requires djvulibre) + djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + + ## Image + image/*) + ## Preview as text conversion + # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + + ## Video and audio + video/* | audio/*) + mediainfo "${FILE_PATH}" && exit 5 + exiftool "${FILE_PATH}" && exit 5 + exit 1;; + esac +} + +handle_fallback() { + echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 + exit 1 +} + + +MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" +if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then + handle_image "${MIMETYPE}" +fi +handle_extension +handle_mime "${MIMETYPE}" +handle_fallback + +exit 1 diff --git a/river/.config/river/init b/river/.config/river/init deleted file mode 100755 index 073677b..0000000 --- a/river/.config/river/init +++ /dev/null @@ -1,220 +0,0 @@ -#!/bin/sh - -# Make Flatpaks visible in Fuzzel and other places -export XDG_DATA_DIRS=/var/lib/flatpak/exports/share:~/.local/share/flatpak/exports/share:$XDG_DATA_DIRS - -riverctl spawn "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river" -TERMINAL=kitty - -cp -f ~/Pictures/Wallpapers/$(ls ~/Pictures/Wallpapers -b | shuf -n 1) ~/.wallpaper - -## Autostart -riverctl spawn kanshi # Output management -riverctl spawn /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Authentication GUI -riverctl spawn mako # Notifications -riverctl spawn nm-applet # NetworkManager tray -riverctl spawn "udiskie -t -f '$TERMINAL -e ranger'" # Removeable storage management -riverctl spawn "wl-paste --type text --watch cliphist store" # Stores only text data -riverctl spawn "wl-paste --type image --watch cliphist store" # Stores only image data -riverctl spawn waybar # Bar -riverctl spawn "gnome-keyring-daemon --start --components=secrets" # Secret service - -# Per device apps -while read program; do - riverctl spawn "$program" -done < ~/.config/autostart - -## Behaviour -riverctl default-attach-mode below - -# Window rules -riverctl rule-add ssd # Use server side decorations for everything (surely this will not break shit) -riverctl rule-add -app-id blueberry.py float # Float Blueberry -riverctl rule-add -app-id Element tags 16 # Move Element to tag 5 -riverctl rule-add -app-id pavucontrol float # Float pavucontrol -riverctl rule-add -app-id steam -title "Friends List" float # Float Steam Friends -riverctl rule-add -app-id steam tags 32 # Move Steam to tag 6 -riverctl rule-add -app-id tf_linux64 fullscreen # Fullscreen Team Fortress 2 (running in borderless window) -riverctl rule-add -app-id vesktop tags 8 # Move Vesktop to tag 4 -riverctl rule-add -app-id "waydroid*" fullscreen # Fullscreen all Waydroid applications -riverctl rule-add -app-id windowkill csd -riverctl rule-add -app-id windowkill float -riverctl rule-add -app-id windowkill position 0 0 - -# If on amida and second monitor connected -if [ "$HOSTNAME" = "amida" ] && wlr-randr | grep -q "Model: 2470W"; then - riverctl rule-add -app-id Element output "AOC 2470W GGJH9HA056165" # Move Element to second monitor - riverctl rule-add -app-id Element tags 2 # Move Element to tag 2 - riverctl rule-add -app-id steam output "AOC 2470W GGJH9HA056165" # Move Steam to second monitor - riverctl rule-add -app-id steam tags 4 # Move Steam to tag 3 - riverctl rule-add -app-id vesktop output "AOC 2470W GGJH9HA056165" # Move Vesktop to second monitor - riverctl rule-add -app-id vesktop tags 1 # Move Vesktop to tag 1 -fi - -## Appearance -# Set background and border color -riverctl background-color 0x15161e -riverctl border-color-focused 0xbb9af7 -riverctl border-color-unfocused 0x414868 -riverctl border-color-urgent 0xe0af68 - -# Enable prefer-dark -gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' - -## Inputs -riverctl focus-follows-cursor disabled -riverctl set-cursor-warp on-output-change - -# Logitech G703 -riverctl input pointer-1133-16518-Logitech_G703_LS accel-profile flat - -# ThinkPad T480 trackpad -T480_POINTER=pointer-1739-0-Synaptics_TM3276-022 -riverctl input $T480_POINTER click-method clickfinger -riverctl input $T480_POINTER drag enabled -riverctl input $T480_POINTER drag-locked enabled -riverctl input $T480_POINTER disable-while-typing disabled -riverctl input $T480_POINTER natural-scroll enabled -riverctl input $T480_POINTER tap enabled -riverctl input $T480_POINTER tap-button-map left-right-middle - -# Lock screen after 5 mins idle or before sleep -riverctl spawn "swayidle -w timeout 300 'swaylock -f --fade-in=1 --grace=30' timeout 600 'wlopm --off \*' resume 'wlopm --on \*' before-sleep 'swaylock -f'" - -## Mappings -# Applications -riverctl map normal Super D spawn fuzzel -riverctl map normal Super Return spawn $TERMINAL -riverctl map normal Super E spawn "$TERMINAL -e lf" -riverctl map normal Super+Shift E spawn thunar -riverctl map normal Control+Shift Escape spawn "$TERMINAL -e btop" -riverctl map normal Super Period spawn bemoji # Emoji picker -riverctl map normal Super Slash spawn "xdg-open https://wiki.archlinux.org" # tech support :3 - -# Screenshots -mkdir -p ~/Pictures/Screenshots # Make screenshots folder if missing -riverctl map normal None Print spawn "~/config/screenshot.sh ~/Pictures/Screenshots full true" -riverctl map normal Super Print spawn "~/config/screenshot.sh ~/Pictures/Screenshots display true" -riverctl map normal Alt Print spawn "~/config/screenshot.sh ~/Pictures/Screenshots region true" - -# Clipboard -riverctl map normal Super V spawn "cliphist list | fuzzel --dmenu | cliphist decode | wl-copy" - -# Super+Shift+Escape to lock the screen -riverctl map normal Super+Shift Escape spawn swaylock - -# Super+Alt+Shift+Escape to exit session -riverctl map normal Super+Alt+Shift Escape exit - -# Toggle microphone mute -riverctl map normal Super M spawn 'pamixer --default-source -t && notify-send "$([[ $(pamixer --default-source --get-mute) == "true" ]] && echo "Microphone muted" || echo "Microphone unmuted")" -t 2000' - -# Super+Q to close the focused view -riverctl map normal Super+Shift Q close - -# Super+J and Super+K to focus the next/previous view in the layout stack -riverctl map normal Super J focus-view next -riverctl map normal Super K focus-view previous - -# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous -# view in the layout stack -riverctl map normal Super+Shift J swap next -riverctl map normal Super+Shift K swap previous - -# Super+H and Super+L to focus the previous/next output -riverctl map normal Super H focus-output previous -riverctl map normal Super L focus-output next - -# Super+Shift+H and Super+Shift+L to send the focused view to the next/previous output -riverctl map normal Super+Shift H send-to-output previous -riverctl map normal Super+Shift L send-to-output next - -# Super+Return to bump the focused view to the top of the layout stack -riverctl map normal Super I zoom - -# Super+- and Super+= to decrease/increase the main ratio of rivertile(1) -riverctl map normal Super Minus send-layout-cmd rivertile "main-ratio -0.05" -riverctl map normal Super Equal send-layout-cmd rivertile "main-ratio +0.05" - -# Super+Shift+- and Super+Shift+= to decrement/increment the main count of rivertile(1) -riverctl map normal Super+Shift Minus send-layout-cmd rivertile "main-count -1" -riverctl map normal Super+Shift Equal send-layout-cmd rivertile "main-count +1" - -# Super + Left Mouse Button to move views -riverctl map-pointer normal Super BTN_LEFT move-view - -# Super + Right Mouse Button to resize views -riverctl map-pointer normal Super BTN_RIGHT resize-view - -# Super + Middle Mouse Button to toggle float -riverctl map-pointer normal Super BTN_MIDDLE toggle-float - -for i in $(seq 1 9) -do - tags=$((1 << ($i - 1))) - - # Super+[1-9] to focus tag [0-8] - riverctl map normal Super $i set-focused-tags $tags - - # Super+Shift+[1-9] to tag focused view with tag [0-8] - riverctl map normal Super+Shift $i set-view-tags $tags - - # Super+Control+[1-9] to toggle focus of tag [0-8] - riverctl map normal Super+Control $i toggle-focused-tags $tags - - # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view - riverctl map normal Super+Shift+Control $i toggle-view-tags $tags -done - -# Super+0 to focus all tags -# Super+Shift+0 to tag focused view with all tags -all_tags=$(((1 << 32) - 1)) -riverctl map normal Super 0 set-focused-tags $all_tags -riverctl map normal Super+Shift 0 set-view-tags $all_tags - -# Super+Space to toggle float -riverctl map normal Super Space toggle-float - -# Super+Shift+Space to toggle fullscreen -riverctl map normal Super+Shift Space toggle-fullscreen - -# Super+{Up,Right,Down,Left} to change layout orientation -riverctl map normal Super Up send-layout-cmd rivertile "main-location top" -riverctl map normal Super Right send-layout-cmd rivertile "main-location right" -riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom" -riverctl map normal Super Left send-layout-cmd rivertile "main-location left" - -# Declare a passthrough mode. This mode has only a single mapping to return to -# normal mode. This makes it useful for testing a nested wayland compositor -riverctl declare-mode passthrough - -# Super+F11 to enter passthrough mode -riverctl map normal Super F11 enter-mode passthrough - -# Super+F11 to return to normal mode -riverctl map passthrough Super F11 enter-mode normal - -# Various media key mapping examples for both normal and locked mode which do -# not have a modifier -for mode in normal locked -do - # Control audio volume - riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5' - riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5' - riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute' - - # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) - riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' - riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' - riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' - riverctl map $mode None XF86AudioNext spawn 'playerctl next' - - # Control screen backlight brightness - riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl s +5%' - riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl s 5%-' -done - -# Set the default layout generator to be rivertile and start it. -# Leave this at the bottom -riverctl default-layout rivertile -rivertile -view-padding 4 -outer-padding 4 & diff --git a/river/.config/xdg-desktop-portal-wlr/river b/river/.config/xdg-desktop-portal-wlr/river deleted file mode 100644 index eceb915..0000000 --- a/river/.config/xdg-desktop-portal-wlr/river +++ /dev/null @@ -1,3 +0,0 @@ -[screencast] -chooser_type=default -max_fps=60 diff --git a/river/.config/xdg-desktop-portal/portals/gnome-keyring.portal b/river/.config/xdg-desktop-portal/portals/gnome-keyring.portal deleted file mode 100644 index 5b830a6..0000000 --- a/river/.config/xdg-desktop-portal/portals/gnome-keyring.portal +++ /dev/null @@ -1,4 +0,0 @@ -[portal] -DBusName=org.freedesktop.secrets -Interfaces=org.freedesktop.impl.portal.Secret -UseIn=river \ No newline at end of file diff --git a/river/.config/xdg-desktop-portal/river-portals.conf b/river/.config/xdg-desktop-portal/river-portals.conf deleted file mode 100644 index d55d092..0000000 --- a/river/.config/xdg-desktop-portal/river-portals.conf +++ /dev/null @@ -1,4 +0,0 @@ -[preferred] -default=gtk -org.freedesktop.impl.portal.Screenshot=wlr -org.freedesktop.impl.portal.ScreenCast=wlr diff --git a/screenshot.sh b/screenshot.sh deleted file mode 100755 index 068360c..0000000 --- a/screenshot.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# pancakes' wayland screenshot script -# takes screenshots, saves them, copies to clipboard, and notifies you -# depends on grim, libnotify, slurp, and wl-copy - -set -e - -if [ -z $2 ]; then - echo "Usage: $0 path full|display|region [notify=true|false]" - exit -fi - -FILENAME="$1/$(date +%F_%H-%M-%S)_$2.png" - -case $2 in - "full") - # capture full screen screenshot with cursor - grim -c $FILENAME - ;; - "display") - # capture display screenshot with cursor - grim -c -g "$(slurp -o)" $FILENAME - ;; - "region") - # capture screenshot of slurped region - grim -g "$(slurp)" $FILENAME - ;; - *) - echo "Mode must be either full, display, or region" - exit - ;; -esac - -NOTIFY=$3 -if [ ${NOTIFY:=false} = true ]; then - notify-send "Screenshot captured" "$FILENAME" -fi - -# copy screenshot to clipboard -wl-copy < $FILENAME diff --git a/ssh/dot-ssh/config b/ssh/dot-ssh/config new file mode 100644 index 0000000..3c04601 --- /dev/null +++ b/ssh/dot-ssh/config @@ -0,0 +1,2 @@ +Host * +SetEnv TERM=xterm-256color \ No newline at end of file diff --git a/swaylock/.config/swaylock/config b/swaylock/.config/swaylock/config deleted file mode 100644 index 6642118..0000000 --- a/swaylock/.config/swaylock/config +++ /dev/null @@ -1,26 +0,0 @@ -daemonize -clock -indicator -show-failed-attempts -image=~/.wallpaper -scaling=fill -bs-hl-color=e0af68 -caps-lock-bs-hl-color=f7768e -caps-lock-key-hl-color=7dcfff -font=Noto Sans -font-size=24 -inside-color=1a1b26e6 -inside-clear-color=e0af68e6 -inside-caps-lock-color=7dcfffe6 -inside-ver-color=7aa2f7e6 -inside-wrong-color=f7768ee6 -key-hl-color=bb9af7 -ring-color=bb9af7 -ring-clear-color=e0af68 -ring-caps-lock-color=7dcfff -ring-ver-color=7aa2f7 -ring-wrong-color=f7768e -text-color=c0caf5 -text-caps-lock-color=c0caf5 -effect-blur=10x3 -effect-greyscale \ No newline at end of file diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config deleted file mode 100644 index 604e27c..0000000 --- a/waybar/.config/waybar/config +++ /dev/null @@ -1,101 +0,0 @@ -{ - "layer": "top", - "output": "!HDMI-A-1", - "spacing": 4, - "modules-left": [ - "river/tags", - "tray", - "privacy" - ], - "modules-center": [], - "modules-right": [ - "custom/micmute", - "gamemode", - "idle_inhibitor", - "network", - "bluetooth", - "wireplumber", - "backlight", - "battery", - "clock", - "custom/exit" - ], - "tray": { - "icon-size": 16, - "spacing": 10 - }, - "custom/micmute": { - "exec": "~/.config/waybar/scripts/micmute.sh", - "interval": 2 - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "clock": { - "tooltip-format": "{:%Y-%m-%d}", - "format-alt": "{:%Y-%m-%d}" - }, - "backlight": { - "format": "{icon} {percent}%", - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "battery": { - "states": { - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-alt": "{icon} {time}", - "format-icons": [ - " ", - " ", - " ", - " ", - " " - ] - }, - "bluetooth": { - "on-click": "blueberry", - "tooltip-format": "{controller_alias}\t{controller_address}", - "tooltip-format-connected": "{controller_alias:20}\t{controller_address}\n\n{num_connections} connected:{device_enumerate}", - "tooltip-format-enumerate-connected": "\n{device_alias}\t\t{device_address}" - }, - "network": { - "format-wifi": " {essid} ({signalStrength}%)", - "format-ethernet": " {ipaddr}/{cidr}", - "tooltip-format": " {ifname} via {gwaddr}", - "format-linked": " {ifname} (No IP)", - "format-disconnected": "⚠ Disconnected", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "wireplumber": { - "format": "{icon} {volume}%", - "format-muted": "", - "format-icons": [ - "", - " ", - " " - ], - "on-click": "pavucontrol" - }, - "custom/exit": { - "format": " ", - "on-click": "wlogout -s -b 5 -L 200 -R 200 -T 400 -B 400" - } -} \ No newline at end of file diff --git a/waybar/.config/waybar/scripts/micmute.sh b/waybar/.config/waybar/scripts/micmute.sh deleted file mode 100755 index 2bf2543..0000000 --- a/waybar/.config/waybar/scripts/micmute.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -[[ $(pamixer --default-source --get-mute) == "true" ]] && echo " Muted" || echo "" \ No newline at end of file diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css deleted file mode 100644 index 40247b7..0000000 --- a/waybar/.config/waybar/style.css +++ /dev/null @@ -1,163 +0,0 @@ -* { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: FontAwesome, "Noto Sans", sans-serif; - font-size: 18px; -} - -window#waybar { - background-color: rgba(26, 27, 38, 0.9); - color: #c0caf5; -} - -window#waybar.hidden { - opacity: 0.2; -} - -button { - /* Use box-shadow instead of border so the text isn't offset */ - box-shadow: inset 0 -2px transparent; - /* Avoid rounded borders under each button name */ - border: none; - border-radius: 0; -} - -button:hover { - background: inherit; - box-shadow: inset 0 -2px #414868; -} - -#tags button { - color: #c0caf5; - padding: 0 5px; -} - -#tags button:hover { - background: inherit; - border: none; - box-shadow: inset 0 -2px #414868; - text-shadow: inherit; -} - -#tags button.focused { - box-shadow: inset 0 -2px #bb9af7; -} - -#tags button.urgent { - box-shadow: inset 0 -2px #e0af68; -} - -#custom-micmute, -#bluetooth, -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, -#tray, -#mode, -#idle_inhibitor, -#scratchpad, -#mpd { - padding: 0 10px; -} - -#window, -#workspaces { - margin: 0 4px; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left>widget:first-child>#workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right>widget:last-child>#workspaces { - margin-right: 0; -} - -#custom-micmute { - box-shadow: inset 0 -2px #f7768e; -} - -#battery {} - -#battery.charging, -#battery.plugged { - box-shadow: inset 0 -2px #9ece6a; -} - -#battery.critical:not(.charging) { - box-shadow: inset 0 -2px #f7768e; -} - -label:focus { - background-color: rgba(26, 27, 38, 0.9); - border: 2px solid #414868; -} - -#idle_inhibitor.activated { - box-shadow: inset 0 -2px #e0af68; -} - -#backlight {} - -#network {} - -#network.disconnected { - box-shadow: inset 0 -2px #f7768e; -} - -#network.linked { - box-shadow: inset 0 -2px #e0af68; -} - -#privacy { - box-shadow: inset 0 -2px #e0af68; -} - -#wireplumber {} - -#wireplumber.muted {} - -#tray {} - -#tray>.passive { - -gtk-icon-effect: dim; -} - -#tray>.needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#idle_inhibitor {} - -#idle_inhibitor.activated {} - -#privacy { - padding: 0; -} - -#privacy-item { - padding: 0 5px; - color: white; -} - -#privacy-item.screenshare { - background-color: #cf5700; -} - -#privacy-item.audio-in { - background-color: #1ca000; -} - -#privacy-item.audio-out { - background-color: #0069d4; -} \ No newline at end of file diff --git a/wlogout/.config/wlogout/icons/lock-hover.png b/wlogout/.config/wlogout/icons/lock-hover.png deleted file mode 100644 index 93aa6949b64f849ac9bc1351e7b81d6641736a50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13691 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 I@$;eo3qih~lK=n! diff --git a/wlogout/.config/wlogout/icons/lock.png b/wlogout/.config/wlogout/icons/lock.png deleted file mode 100644 index ab1505f4e7a84f134582bf77428d05732126d78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13587 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 IqnCpI2R}<=761SM diff --git a/wlogout/.config/wlogout/icons/logout-hover.png b/wlogout/.config/wlogout/icons/logout-hover.png deleted file mode 100644 index 8af8d201dfd9e583e272a2d939b55ab6c5cffa5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13183 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 diff --git a/wlogout/.config/wlogout/icons/logout.png b/wlogout/.config/wlogout/icons/logout.png deleted file mode 100644 index 0978e26f4ce29476090a9f78924c906110b8a7cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13086 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 diff --git a/wlogout/.config/wlogout/icons/reboot.png b/wlogout/.config/wlogout/icons/reboot.png deleted file mode 100644 index 6f31d709330affbecf5f4044dee1e26839fe677b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19500 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 diff --git a/wlogout/.config/wlogout/icons/shutdown-hover.png b/wlogout/.config/wlogout/icons/shutdown-hover.png deleted file mode 100644 index 5337c2c34288d9e3c27136d09bc5e0cd8ba7929f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22379 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

EYE1H!qKLSp16IJbzhYEGy(_(tsk|EU9#vUA1q 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�OdFHnOIEEdIV32ZW_Lt~r#(VYbHi24Jw*nDqDei0_oMBdwSk zuu;ke(xrI)hHwAF7YF%jDP?_E zbuPkrC_4Igwc@TKtt^v)7^>AIpE|Dsm=@j*hCYetC-4~@C(EU=P%GVnRWT|PUG2y& zR^0Sm^VDqf5ZaKPLvoKsJ?_(Y$d@u3!-0_8O?_1|h85xET6=03DS1Ed1Rs7I2hKET zg(|*0J0phRS?xxgte&roH&K!v^BO7RUK7mv5TF5zD6vt&orr5Wc$3}-xLFO*jI<*m zyei#^XV1CbqcL?ZPa_S&$*Qrw9W;s_JQY_u*4#_XFxwk0ZQ22;&z4$>GM&g_+KgU{ zwiE`N{Pv_wT4UOSFD6$3>^lnUureSkfDTpVy6lzzEVC;uIo{A5wSP(Tc;8l}c^GNPjOWy`JiROm+Pvks3iC~&RCSjteQ}Kynm`E4pMXZ52r>Hz*ot+{U zdr;WMK(HSB=C2rc?7FdXiZy)}XMG!1{bduvYp~+2tVu~CoNS<@FAtIo6a4SCH>+)i z(eHDZH@xi1E!WQYz|*exZ6t7Xf$AQ$_$4yuIcxK3^pCSBgM~T+i&>P?YUOnEg2eDO z=@oK_9}A2GJgEOG;c9pBiksLnh&p47JeXx`X8Y~dgiDkq*9+1?GCKFi4#o$CTY5*bnseY!hIzs%$6Jd%fM=(|sQ0wC(< zy9Yr?MvXvky*)7@41pLPh}G-JTWjlb!Uf0HgY4WX=$jIX7f9sEjD3G5G>u-(D}##@FKgGa$4SX)lTR^k zoW}FQI&iO7yN+?BMg$yBgMw4XXMAsID++xB${&a!)_8@9^Yn{_@~yUIAKH}ZwH6?_ z*huYXpm}eq&KNVeh7rT}^pT2w{m|ZsYQUirDJqH0q5oO=2G#Wp1xxFl7#ZFZICseg zCccIlS2a+Qu{m+m$aTx!X~IuNWHDZ%DQJyYU#P!otPf@`MhLbh)#&!3#&1Funescy zlII_I?}O-DkjLHhbWMKpw)eowhDs^e`yqZf>t@qUyhx=Wo9?SrsZFy3yK%6M8(U(`Q%Zc#%1(hb_*}nV|J&cEEB1!!1f}lUWGp## zaQh?qRH4*{p_b9W8Zc8|XwrM;<2&Sbx=z)r#B|r|$gly(KDNZW4O=Ms7e;(IbmTwD0V2r_eUL3k_Tg{@=455h(xBCMx9P Sa60gifw&Tn6Y8C4jDG;E9HSBd diff --git a/wlogout/.config/wlogout/icons/shutdown.png b/wlogout/.config/wlogout/icons/shutdown.png deleted file mode 100644 index 530fcde1985d6a408c54481855f73363ffa1c2eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22333 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 E3xFRs_W%F@ diff --git a/wlogout/.config/wlogout/icons/suspend-hover.png b/wlogout/.config/wlogout/icons/suspend-hover.png deleted file mode 100644 index f126722fdb9b7ab0aa452703bcdaa3be7c43c56e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10049 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 Q8pRD(=5}T|`+p4oAOA%%V*mgE diff --git a/wlogout/.config/wlogout/layout b/wlogout/.config/wlogout/layout deleted file mode 100644 index 3a76a23..0000000 --- a/wlogout/.config/wlogout/layout +++ /dev/null @@ -1,30 +0,0 @@ -{ - "label" : "lock", - "action" : "swaylock", - "text" : "Lock", - "keybind" : "l" -} -{ - "label" : "logout", - "action" : "riverctl exit", - "text" : "Logout", - "keybind" : "e" -} -{ - "label" : "suspend", - "action" : "systemctl suspend", - "text" : "Suspend", - "keybind" : "u" -} -{ - "label" : "shutdown", - "action" : "systemctl poweroff", - "text" : "Shutdown", - "keybind" : "s" -} -{ - "label" : "reboot", - "action" : "systemctl reboot", - "text" : "Reboot", - "keybind" : "r" -} \ No newline at end of file diff --git a/wlogout/.config/wlogout/style.css b/wlogout/.config/wlogout/style.css deleted file mode 100644 index 2ab715d..0000000 --- a/wlogout/.config/wlogout/style.css +++ /dev/null @@ -1,87 +0,0 @@ -* { - background-image: none; - box-shadow: none; - font-family: "Noto Sans", sans-serif; - font-weight: bold; -} - -window { - background-color: rgba(26, 27, 38, 0.9); -} - -button { - text-decoration-color: #c0caf5; - color: #c0caf5; - background-color: #414868; - background-repeat: no-repeat; - background-position: center; - background-size: 40%; -} - -button:focus, -button:active, -button:hover { - color: rgb(26, 27, 38); - outline-style: none; -} - -#lock { - background-image: image(url("icons/lock.png")); -} - -#lock:focus, -#lock:active, -#lock:hover { - background-color: #bb9af7; - background-image: image(url("icons/lock-hover.png")); - background-size: 50%; -} - -#logout { - background-image: image(url("icons/logout.png")); -} - -#logout:focus, -#logout:active, -#logout:hover { - background-color: #9ece6a; - background-image: image(url("icons/logout-hover.png")); - background-size: 50%; -} - -#suspend { - background-image: image(url("icons/suspend.png")); -} - -#suspend:focus, -#suspend:active, -#suspend:hover { - background-color: #e0af68; - background-image: image(url("icons/suspend-hover.png")); - background-size: 50%; -} - -#shutdown { - background-image: image(url("icons/shutdown.png")); -} - -#shutdown:focus, -#shutdown:active, -#shutdown:hover { - background-color: #f7768e; - background-image: image(url("icons/shutdown-hover.png")); - background-size: 50%; -} - - -#reboot { - background-image: image(url("icons/reboot.png")); -} - -#reboot:focus, -#reboot:active, -#reboot:hover { - background-color: #f7768e; - background-image: image(url("icons/reboot-hover.png")); - background-size: 50%; -} \ No newline at end of file diff --git a/wm/dot-config/fuzzel/fuzzel.ini b/wm/dot-config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..c732f70 --- /dev/null +++ b/wm/dot-config/fuzzel/fuzzel.ini @@ -0,0 +1,29 @@ +[main] +font=Noto Sans:size=13 +use-bold=yes +dpi-aware=no +placeholder=program name +prompt=":3 " +show-actions=yes +terminal=alacritty -e +y-margin=15 +lines=5 +horizontal-pad=5 +vertical-pad=5 +inner-pad=5 + +[colors] +background=1a1b26e5 +text=a9b1d6ff +prompt=bb9af7ff +placeholder=bb9af7b2 +input=bb9af7ff +match=bb9af7ff +selection=bb9af7ff +selection-text=565f89ff +selection-match=1a1b26ff +border=bb9af7ff + +[border] +width=2 +radius=5 diff --git a/wm/dot-config/gtklock/config.ini b/wm/dot-config/gtklock/config.ini new file mode 100644 index 0000000..8caad4a --- /dev/null +++ b/wm/dot-config/gtklock/config.ini @@ -0,0 +1,6 @@ +[main] +gtk-theme=Adwaita-dark +background=Pictures/Wallpapers/cafe.png +idle-hide=true +idle-timeout=30 +start-hidden=true \ No newline at end of file diff --git a/wm/dot-config/mako/config b/wm/dot-config/mako/config new file mode 100644 index 0000000..c33bf49 --- /dev/null +++ b/wm/dot-config/mako/config @@ -0,0 +1,14 @@ +font=Noto Sans 13 +background-color=#1a1b26e5 +text-color=#a9b1d6ff +width=400 +height=200 +border-color=#bb9af7ff +margin=15 +border-radius=5 +format=%a - %s\n%b +default-timeout=30000 +group-by=app-name,summary + +[grouped] +format=(%g) %a - %s\n%b \ No newline at end of file diff --git a/wm/dot-config/niri/config.kdl b/wm/dot-config/niri/config.kdl new file mode 100644 index 0000000..0a2617d --- /dev/null +++ b/wm/dot-config/niri/config.kdl @@ -0,0 +1,373 @@ +// This config is in the KDL format: https://kdl.dev +// "/-" comments out the following node. +// Check the wiki for a full description of the configuration: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview + +// Input device configuration. +// Find the full list of options on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Input +input { + keyboard { + xkb { + // You can set rules, model, layout, variant and options. + // For more information, see xkeyboard-config(7). + + // For example: + // layout "us,ru" + // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + } + } + + touchpad { + tap + // dwt + // dwtp + natural-scroll + scroll-method "two-finger" + disabled-on-external-mouse + } + + mouse { + accel-profile "flat" + } + + // warp-mouse-to-focus +} + +// You can configure outputs by their name, which you can find +// by running `niri msg outputs` while inside a niri instance. +// Remember to uncomment the node by removing "/-"! +output "eDP-1" { + scale 1.5 +} + +output "LG Electronics LG ULTRAGEAR 404NTCZ0R931" { + scale 1.5 + // variable-refresh-rate +} + +// Settings that influence how windows are positioned and sized. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +layout { + // Set gaps around windows in logical pixels. + gaps 10 + + // When to center a column when changing focus, options are: + // - "never", default behavior, focusing an off-screen column will keep at the left + // or right edge of the screen. + // - "always", the focused column will always be centered. + // - "on-overflow", focusing a column will center it if it doesn't fit + // together with the previously focused column. + center-focused-column "on-overflow" + + // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. + preset-column-widths { + // Proportion sets the width as a fraction of the output width, taking gaps into account. + // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. + // The default preset widths are 1/3, 1/2 and 2/3 of the output. + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + + // Fixed sets the width in logical pixels exactly. + // fixed 1920 + } + + // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. + preset-window-heights { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + // You can change the default width of the new windows. + // default-column-width { proportion 0.5; } + // If you leave the brackets empty, the windows themselves will decide their initial width. + default-column-width {} + + focus-ring { + off + } + + border { + width 2 + active-color "#bb9af7" + inactive-color "#565f89" + } +} + +environment { + DISPLAY ":10" + MOZ_ENABLE_WAYLAND "1" + MOZ_USE_XINPUT2 "1" +} + +// Add lines like this to spawn processes at startup. +// Note that running niri as a session supports xdg-desktop-autostart + +// Services +spawn-at-startup "mako" +spawn-at-startup "xwayland-satellite" ":10" +spawn-at-startup "swayidle" "-w" +spawn-at-startup "waybar" +spawn-at-startup "swww-daemon" +spawn-at-startup "wl-paste" "--watch" "cliphist" "store" +spawn-at-startup "flatpak" "run" "it.mijorus.smile" "--start-hidden" + +// Applications +spawn-at-startup "firefox" +spawn-at-startup "easyeffects" +spawn-at-startup "vesktop" +spawn-at-startup "foot" "-e" "btop" + +// Uncomment this line to ask the clients to omit their client-side decorations if possible. +// If the client will specifically ask for CSD, the request will be honored. +// Additionally, clients will be informed that they are tiled, removing some rounded corners. +prefer-no-csd + +// You can change the path where screenshots are saved. +// A ~ at the front will be expanded to the home directory. +// The path is formatted with strftime(3) to give you the screenshot date and time. +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +// You can also set this to null to disable saving screenshots to disk. +// screenshot-path null + +// Animation settings. +// The wiki explains how to configure individual animations: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations +animations { + // Uncomment to turn off all animations. + // off + + // Slow down all animations by this factor. Values below 1 speed them up instead. + // slowdown 3.0 +} + +workspace "web" +workspace "chat" + +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules + +// Round corners +window-rule { + geometry-corner-radius 5 + clip-to-geometry true +} + +// Firefox +window-rule { + match app-id="firefox" + + open-on-workspace "web" +} + +// Chat applications +window-rule { + match app-id="vesktop" + + block-out-from "screencast" + open-maximized true + open-on-workspace "chat" +} + +window-rule { + match app-id="com.github.wwmm.easyeffects" + + open-on-workspace "chat" +} + +// Steam +window-rule { + match app-id="steam" title="Steam" + + open-maximized true +} + +window-rule { + match app-id="gamescope" + + open-fullscreen true +} + +// foot +window-rule { + match app-id="foot" + + default-column-width { proportion 0.5; } +} + +// Hide private stuff :3 +window-rule { + match app-id="firefox" title=r#"^Extension: \(Bitwarden Password Manager\)"# + match app-id="org.gnome.Nautilus" + + block-out-from "screencast" +} + +binds { + // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt + // when running as a winit window. + + // Mod-Shift-/, which is usually the same as Mod-?, + // shows a list of important hotkeys. + Mod+Shift+Slash { show-hotkey-overlay; } + + Mod+Return { spawn "foot"; } + Mod+D { spawn "fuzzel"; } + Mod+E { spawn "foot" "-e" "ranger"; } + Mod+Alt+L { spawn "gtklock" "-d"; } + Mod+V { spawn "sh" "-c" "cliphist list | fuzzel -d -p '> ' --placeholder=clipboard | cliphist decode | wl-copy"; } + Mod+slash { spawn "flatpak" "run" "it.mijorus.smile"; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } + XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + + Mod+Shift+Q { close-window; } + + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Shift+Home { move-column-to-first; } + Mod+Shift+End { move-column-to-last; } + + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + + + Mod+Shift+Page_Down { move-workspace-down; } + Mod+Shift+Page_Up { move-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + // You can bind mouse wheel scroll ticks using the following syntax. + // These binds will change direction based on the natural-scroll setting. + // + // To avoid scrolling through workspaces really fast, you can use + // the cooldown-ms property. The bind will be rate-limited to this value. + // You can set a cooldown on any bind, but it's most useful for the wheel. + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + // Usually scrolling up and down with Shift in applications results in + // horizontal scrolling; these binds replicate that. + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + // Similarly, you can bind touchpad scroll "ticks". + // Touchpad scrolling is continuous, so for these binds it is split into + // discrete intervals. + // These binds are also affected by touchpad's natural-scroll, so these + // example binds are "inverted", since we have natural-scroll enabled for + // touchpads by default. + // Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } + // Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } + + // You can refer to workspaces by index. However, keep in mind that + // niri is a dynamic workspace system, so these commands are kind of + // "best effort". Trying to refer to a workspace index bigger than + // the current workspace count will instead refer to the bottommost + // (empty) workspace. + // + // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on + // will all refer to the 3rd workspace. + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Shift+1 { move-window-to-workspace 1; } + Mod+Shift+2 { move-window-to-workspace 2; } + Mod+Shift+3 { move-window-to-workspace 3; } + Mod+Shift+4 { move-window-to-workspace 4; } + Mod+Shift+5 { move-window-to-workspace 5; } + Mod+Shift+6 { move-window-to-workspace 6; } + Mod+Shift+7 { move-window-to-workspace 7; } + Mod+Shift+8 { move-window-to-workspace 8; } + Mod+Shift+9 { move-window-to-workspace 9; } + + // Switches focus between the current and the previous workspace. + // Mod+Tab { focus-workspace-previous; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + + // There are also commands that consume or expel a single window to the side. + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+C { center-column; } + + // Finer width adjustments. + // This command can also: + // * set width in pixels: "1000" + // * adjust width in pixels: "-5" or "+5" + // * set width as a percentage of screen width: "25%" + // * adjust width as a percentage of screen width: "-10%" or "+10%" + // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, + // set-column-width "100" will make the column occupy 200 physical screen pixels. + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // Actions to switch layouts. + // Note: if you uncomment these, make sure you do NOT have + // a matching layout switch hotkey configured in xkb options above. + // Having both at once on the same hotkey will break the switching, + // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). + // Mod+Space { switch-layout "next"; } + // Mod+Shift+Space { switch-layout "prev"; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + // The quit action will show a confirmation dialog to avoid accidental exits. + Mod+Shift+E { quit; } + + // Powers off the monitors. To turn them back on, do any input like + // moving the mouse or pressing any other key. + Mod+Shift+P { power-off-monitors; } +} + +hotkey-overlay { + skip-at-startup +} + diff --git a/wm/dot-config/swayidle/config b/wm/dot-config/swayidle/config new file mode 100644 index 0000000..0643783 --- /dev/null +++ b/wm/dot-config/swayidle/config @@ -0,0 +1,3 @@ +timeout 300 'gtklock -d' +timeout 600 'niri msg action power-off-monitors' +before-sleep 'gtklock -d' \ No newline at end of file diff --git a/wm/dot-config/waybar/config.jsonc b/wm/dot-config/waybar/config.jsonc new file mode 100644 index 0000000..6edc516 --- /dev/null +++ b/wm/dot-config/waybar/config.jsonc @@ -0,0 +1,93 @@ +{ + // make sure this renders above all non-fullscreen windows + "layer": "top", + // modules + "modules-left": [ + "niri/workspaces", + "niri/window" + ], + "modules-center": [ + "clock" + ], + "modules-right": [ + "privacy", + "gamemode", + "tray", + "idle_inhibitor", + "battery", + "wireplumber", + "bluetooth", + "network" + ], + // config + "niri/workspaces": { + "format": "{icon}{name}", + "format-icons": { + "web": " ", + "chat": " " + } + }, + "niri/window": { + // "format": "{app_id} | {title}" + }, + "clock": { + "format": "{:%a %R}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "weeks-pos": "right", + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + } + }, + "privacy": { + "icon-size": 13, + "icon-spacing": 5 + }, + "gamemode": { + "icon-size": 13 + }, + "tray": { + "reverse-direction": true, + "show-passive-items": true, + "spacing": 5 + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "wireplumber": { + "format": "{icon} {volume}%", + "format-icons": [ + "", + "", + " " + ], + "format-muted": "", + "on-click": "pavucontrol", + "on-click-right": "helvum" + }, + "bluetooth": { + "format": "", + "format-connected": " {num_connections}", + "format-disabled": "", + "tooltip-format": "{controller_alias} {controller_address}", + "tooltip-format-connected": "{controller_alias} {controller_address}\n\n{num_connections} connected:\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias} {device_address}" + }, + "network": { + "format-disconnected": "Disconnected", + "format-ethernet": "", + "format-wifi": " {essid}", + "tooltip-format-ethernet": "{ipaddr}/{cidr} via {ifname}", + "tooltip-format-wifi": "{ipaddr}/{cidr} via {ifname}\n{signalStrength}% signal" + } +} \ No newline at end of file diff --git a/wm/dot-config/waybar/style.css b/wm/dot-config/waybar/style.css new file mode 100644 index 0000000..b24f300 --- /dev/null +++ b/wm/dot-config/waybar/style.css @@ -0,0 +1,97 @@ +* { + border: none; + border-radius: 0; + font-family: "Noto Sans", sans-serif; + font-size: 13px; + min-height: 0; +} + +window#waybar { + background: rgba(26, 27, 38, 0.9); + color: #a9b1d6; +} + +tooltip { + background: rgba(26, 27, 38, 0.9); + border: 2px solid #565f89; + border-radius: 5px; +} + +tooltip label { + color: #a9b1d6; +} + +#workspaces button { + margin: 5px 5px; + padding: 2px 5px; + background: transparent; + border-radius: 5px; + color: #a9b1d6; +} + +#workspaces button.focused { + background: #bb9af7; + color: #1a1b26; +} + +#window, +#clock, +#privacy, +#gamemode, +#tray, +#idle_inhibitor, +#battery, +#wireplumber, +#bluetooth, +#network { + margin: 5px 5px; + padding: 0 5px; + border-radius: 5px; +} + +#window, +#tray { + background-color: #24283b; +} + +#privacy { + background-color: #e0af68; + color: black; +} + +#gamemode.running { + background-color: #7dcfff; + color: black; +} + +#idle_inhibitor.activated { + background-color: #ff9e64; + color: black; +} + +#battery { + background-color: #ffffff; + color: black; +} + +#battery.charging { + background-color: #9ece6a; + color: #1a1b26; +} + +#battery.warning:not(.charging), +#network.disconnected { + background: #f7768e; + color: #1a1b26; +} + +#bluetooth.connected { + background: #7aa2f7; + color: #1a1b26; +} + +#network.ethernet, +#network.wifi { + background: #73daca; + color: #1a1b26; +} \ No newline at end of file