├── wpg ├── wp_init.sh ├── samples │ ├── trianglify.png_wal_sample.png │ ├── red_poly_blur.png_wal_sample.png │ ├── trianglify_light.png_wal_sample.png │ ├── beck_ai_wallpaper.png_wal_sample.png │ ├── trianglify_solarized.png_wal_sample.png │ ├── trianglify_solarized_dark.png_wal_sample.png │ ├── mountains_snow_light_sky_winter.jpg_wal_sample.png │ └── nature_mountain_eagle_fog_landscape.jpg_wal_sample.png ├── wpg.conf ├── sequences ├── templates │ ├── betterlockscreen.base │ ├── dunstrc.base │ ├── gtk3.0.base │ ├── gtk3.20.base │ ├── polybar.base │ ├── i3.base │ └── gtk2.base └── schemes │ ├── _home_zachary__config_wpg_wallpapers_trianglify_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_Solarized-Mountains_png_light_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_red_poly_blur_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_trianglify_light_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_beck_ai_wallpaper_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_trianglify_solarized_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_trianglify_solarized_dark_png_dark_wal__1.1.0.json │ ├── _home_zachary__config_wpg_wallpapers_mountains_snow_light_sky_winter_jpg_dark_wal__1.1.0.json │ └── _home_zachary__config_wpg_wallpapers_nature_mountain_eagle_fog_landscape_jpg_dark_wal__1.1.0.json ├── rofi ├── README.md ├── menu │ ├── SEARCH │ └── SYSTEM ├── rofi_bar └── rofi_full ├── polybar ├── scripts │ └── nm-vpn-status.sh ├── launch.sh └── config ├── scripts ├── toggle-xautolock.sh ├── get_display.sh ├── set-wallpaper.sh ├── i3exit └── solarized_toggle.sh ├── nitrogen └── nitrogen.cfg ├── betterlockscreenrc ├── volumeicon └── volumeicon ├── README.md ├── .Xresources ├── dunst └── dunstrc ├── compton.conf ├── .bashrc ├── .vimrc ├── i3 └── config └── kitty └── kitty.conf /wpg/wp_init.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | wpg -nrs 'trianglify_solarized_dark.png' 'trianglify_solarized_dark.png' -------------------------------------------------------------------------------- /rofi/README.md: -------------------------------------------------------------------------------- 1 | Originally implemented by [bresilla](https://github.com/bresilla/dotfiles), customized to my desire. 2 | -------------------------------------------------------------------------------- /wpg/samples/trianglify.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/trianglify.png_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/red_poly_blur.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/red_poly_blur.png_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/trianglify_light.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/trianglify_light.png_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/beck_ai_wallpaper.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/beck_ai_wallpaper.png_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/trianglify_solarized.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/trianglify_solarized.png_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/trianglify_solarized_dark.png_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/trianglify_solarized_dark.png_wal_sample.png -------------------------------------------------------------------------------- /polybar/scripts/nm-vpn-status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | printf "VPN: " && (nmcli -p | awk '/PIA/{ print $3 " " $4 }' | cut -d '.' -f 1 && echo "No Connection") | head -n 1 4 | -------------------------------------------------------------------------------- /wpg/samples/mountains_snow_light_sky_winter.jpg_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/mountains_snow_light_sky_winter.jpg_wal_sample.png -------------------------------------------------------------------------------- /wpg/samples/nature_mountain_eagle_fog_landscape.jpg_wal_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zmohling/dotfiles/HEAD/wpg/samples/nature_mountain_eagle_fog_landscape.jpg_wal_sample.png -------------------------------------------------------------------------------- /scripts/toggle-xautolock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | xautolock -toggle > /dev/null 2>&1 && \ 4 | notify-send "Xautolock Toggled" "Resume in 60 minutes" && \ 5 | (sleep 60m && xautolock -toggle > /dev/null 2>&1) & 6 | 7 | -------------------------------------------------------------------------------- /nitrogen/nitrogen.cfg: -------------------------------------------------------------------------------- 1 | [geometry] 2 | posx=565 3 | posy=60 4 | sizex=377 5 | sizey=591 6 | 7 | [nitrogen] 8 | view=list 9 | recurse=true 10 | sort=alpha 11 | icon_caps=false 12 | dirs=/usr/share/backgrounds 13 | -------------------------------------------------------------------------------- /rofi/menu/SEARCH: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | FOREGROUND=$(xrdb -query | grep 'color15:'| awk 'NR==1{print $NF}') 3 | ROFI_OPTIONS=(-theme $HOME/.config/rofi/rofi_full -m -1 -fullscreen 0 -theme-str "*{accent: ${FOREGROUND:-#000000};}") 4 | 5 | rofi "${ROFI_OPTIONS[@]}" -modi 'run,drun' -show drun 6 | -------------------------------------------------------------------------------- /wpg/wpg.conf: -------------------------------------------------------------------------------- 1 | [settings] 2 | set_wallpaper = false 3 | gtk = true 4 | active = 3 5 | light_theme = false 6 | editor = kitty -e vim 7 | execute_cmd = true 8 | command = i3-msg restart 9 | backend = wal 10 | alpha = 100 11 | smart_sort = true 12 | auto_adjust = true 13 | 14 | [keywords] 15 | 16 | -------------------------------------------------------------------------------- /polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Terminate already running bar instances 4 | killall -q polybar 5 | 6 | # Wait until the processes have been shut down 7 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 8 | 9 | # Set display 10 | export MONITOR=$($HOME/.config/scripts/get_display.sh secondary) 11 | 12 | # Launch bar1 and bar2 13 | polybar wpgtk & 14 | -------------------------------------------------------------------------------- /wpg/sequences: -------------------------------------------------------------------------------- 1 | ]4;0;#002b36\]4;1;#dc322f\]4;2;#859900\]4;3;#b58900\]4;4;#268bd2\]4;5;#6c71c4\]4;6;#2aa198\]4;7;#93a1a1\]4;8;#657b83\]4;9;#dc322f\]4;10;#859900\]4;11;#b58900\]4;12;#268bd2\]4;13;#6c71c4\]4;14;#2aa198\]4;15;#fdf6e3\]10;#fdf6e3\]11;#002b36\]12;#fdf6e3\]13;#fdf6e3\]17;#fdf6e3\]19;#002b36\]4;232;#002b36\]4;256;#fdf6e3\]708;#002b36\ -------------------------------------------------------------------------------- /betterlockscreenrc: -------------------------------------------------------------------------------- 1 | # configuration file for betterlockscreen 2 | 3 | insidecolor=00000000 4 | ringcolor=ffffffff 5 | keyhlcolor=#859900ff 6 | bshlcolor=#859900ff 7 | separatorcolor=00000000 8 | insidevercolor=00000000 9 | insidewrongcolor=#dc322fff 10 | ringvercolor=ffffffff 11 | ringwrongcolor=ffffffff 12 | verifcolor=ffffffff 13 | timecolor=ffffffff 14 | datecolor=ffffffff 15 | loginbox=00000066 16 | -------------------------------------------------------------------------------- /wpg/templates/betterlockscreen.base: -------------------------------------------------------------------------------- 1 | # configuration file for betterlockscreen 2 | 3 | insidecolor=00000000 4 | ringcolor=ffffffff 5 | keyhlcolor={color2}ff 6 | bshlcolor={color2}ff 7 | separatorcolor=00000000 8 | insidevercolor=00000000 9 | insidewrongcolor={color1}ff 10 | ringvercolor=ffffffff 11 | ringwrongcolor=ffffffff 12 | verifcolor=ffffffff 13 | timecolor=ffffffff 14 | datecolor=ffffffff 15 | loginbox=00000066 16 | -------------------------------------------------------------------------------- /scripts/get_display.sh: -------------------------------------------------------------------------------- 1 | # Get output device ( secondary takes priority ) 2 | 3 | case "$1" in 4 | primary) 5 | xrandr --current | awk '/ connected primary/{ print $1 }' 6 | exit 0; 7 | ;; 8 | secondary) 9 | xrandr --current | awk '/ connected [^p]/{ print $1 }' 10 | exit 0; 11 | ;; 12 | *) 13 | echo "== ! get_display.sh: Missing or Invalid Argument ! ==" 14 | echo "Try again with: primary | secondary" 15 | exit 1; 16 | ;; 17 | 18 | 19 | esac 20 | -------------------------------------------------------------------------------- /volumeicon/volumeicon: -------------------------------------------------------------------------------- 1 | [Alsa] 2 | card=default 3 | channel=Master 4 | 5 | [Notification] 6 | show_notification=false 7 | notification_type=0 8 | 9 | [StatusIcon] 10 | stepsize=5 11 | onclick=pavucontrol 12 | theme=Default 13 | use_panel_specific_icons=false 14 | lmb_slider=false 15 | mmb_mute=false 16 | use_horizontal_slider=false 17 | show_sound_level=false 18 | use_transparent_background=false 19 | 20 | [Hotkeys] 21 | up_enabled=true 22 | down_enabled=true 23 | mute_enabled=true 24 | up=XF86AudioRaiseVolume 25 | down=XF86AudioLowerVolume 26 | mute=XF86AudioMute 27 | -------------------------------------------------------------------------------- /scripts/set-wallpaper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Wpgtk uses feh to set the wallpaper, but it often doesn't work with odd 4 | # images sizes and multiple monitors. This script moves the current theme's 5 | # wallpaper to ~/pictures/wallpapers/current/wallpaper to be accessable by 6 | # i3's feh command and our own here. 7 | 8 | WALLPAPERS_DIR="/home/$USER/pictures/wallpapers" 9 | CURR_WALLPAPER_R_PATH="current/wallpaper" 10 | CURR_WALLPAPER=`wpg -c`; 11 | 12 | diff "$WALLPAPERS_DIR/$CURR_WALLPAPER" "$WALLPAPERS_DIR/$CURR_WALLPAPER_R_PATH" 13 | if [ $? -eq 1 ]; then 14 | notify-send "Wallpaper Updated" 15 | 16 | \cp -f "$WALLPAPERS_DIR/$CURR_WALLPAPER" "$WALLPAPERS_DIR/$CURR_WALLPAPER_R_PATH" && \ 17 | feh --bg-fill --no-xinerama "$WALLPAPERS_DIR/$CURR_WALLPAPER_R_PATH" && \ 18 | betterlockscreen -u "$WALLPAPERS_DIR/$CURR_WALLPAPER_R_PATH" -b 3 19 | fi 20 | -------------------------------------------------------------------------------- /scripts/i3exit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Custom i3exit script to utilize xautolock and betterlockscreen 3 | 4 | [[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl 5 | 6 | case "$1" in 7 | lock) 8 | betterlockscreen -l blur 9 | ;; 10 | exit) 11 | i3-msg exit 12 | ;; 13 | switch_user) 14 | dm-tool switch-to-greeter 15 | ;; 16 | suspend) 17 | $logind suspend 18 | ;; 19 | hibernate) 20 | $logind hibernate 21 | ;; 22 | reboot) 23 | $logind reboot 24 | ;; 25 | poweroff) 26 | $logind poweroff 27 | ;; 28 | *) 29 | echo "== ! i3exit: missing or invalid argument ! ==" 30 | echo "Try again with: lock | exit | switch_user | suspend | hibernate | reboot | poweroff" 31 | exit 2 32 | esac 33 | 34 | exit 0 35 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_trianglify_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/trianglify.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#1b161c", 7 | "foreground": "#fbfff9", 8 | "cursor": "#fbfff9" 9 | }, 10 | "colors": { 11 | "color0": "#1b161c", 12 | "color1": "#4697a6", 13 | "color2": "#8C9971", 14 | "color3": "#579f9a", 15 | "color4": "#d1b785", 16 | "color5": "#1A9E6C", 17 | "color6": "#728A6D", 18 | "color7": "#c6cdc4", 19 | "color8": "#302732", 20 | "color9": "#4bcee7", 21 | "color10": "#bcd881", 22 | "color11": "#61ded5", 23 | "color12": "#fff496", 24 | "color13": "#15d98f", 25 | "color14": "#89c37d", 26 | "color15": "#fbfff9" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_Solarized-Mountains_png_light_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/Solarized-Mountains.png", 3 | "alpha": "100", 4 | "special": { 5 | "background": "#dfeff2", 6 | "foreground": "#002B36", 7 | "cursor": "#002B36" 8 | }, 9 | "colors": { 10 | "color0": "#dfeff2", 11 | "color1": "#869900", 12 | "color2": "#B68800", 13 | "color3": "#C28E00", 14 | "color4": "#4D5D9A", 15 | "color5": "#6D70C4", 16 | "color6": "#D33682", 17 | "color7": "#002B36", 18 | "color8": "#195b67", 19 | "color9": "#869900", 20 | "color10": "#B68800", 21 | "color11": "#C28E00", 22 | "color12": "#4D5D9A", 23 | "color13": "#6D70C4", 24 | "color14": "#D33682", 25 | "color15": "#002B36" 26 | } 27 | } -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_red_poly_blur_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/red_poly_blur.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#252525", 7 | "foreground": "#fefaff", 8 | "cursor": "#fefaff" 9 | }, 10 | "colors": { 11 | "color0": "#252525", 12 | "color1": "#C73041", 13 | "color2": "#5C748B", 14 | "color3": "#BD7688", 15 | "color4": "#16698F", 16 | "color5": "#EE5667", 17 | "color6": "#5B8DA9", 18 | "color7": "#c7c4cb", 19 | "color8": "#020911", 20 | "color9": "#ff2e47", 21 | "color10": "#6897c3", 22 | "color11": "#ff85a6", 23 | "color12": "#118cc4", 24 | "color13": "#ff5a75", 25 | "color14": "#65bcec", 26 | "color15": "#fefaff" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_trianglify_light_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/trianglify_light.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#cce1da", 7 | "foreground": "#010101", 8 | "cursor": "#010101" 9 | }, 10 | "colors": { 11 | "color0": "#cce1da", 12 | "color1": "#95CCBC", 13 | "color2": "#8F92A9", 14 | "color3": "#9FB0C2", 15 | "color4": "#92AEB6", 16 | "color5": "#D9F0B7", 17 | "color6": "#B0DCB9", 18 | "color7": "#0c1944", 19 | "color8": "#b4c6c0", 20 | "color9": "#49ad90", 21 | "color10": "#495191", 22 | "color11": "#507aa6", 23 | "color12": "#49899b", 24 | "color13": "#9ecc5b", 25 | "color14": "#58bc6d", 26 | "color15": "#010101" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dotfiles 2 | 3 | My dotfiles for Arch-based Linux. Advocate of the *Solarize Everything* movement. I use `scripts/solarized_toggle.sh` to toggle the colorscheme between solarized light and solarized dark via terminal. I prefer the light theme, but it burns my eyes at night. Burns. My. Eyes. 4 | 5 | >*"It ain't much, but it's honest work."* 6 | 7 | ## My Toolbox 8 | Linux Distribution: **Manjaro Linux** 9 | Window Manager: **i3-gaps** 10 | Terminal Emulator: **kitty** 11 | Editor: **vim** 12 | Status Bar: **polybar** 13 | Locker: **betterlockscreen** 14 | Menu: **rofi** 15 | Theme Manager(s): **wpgtk, base16** 16 | File Manager: **ranger** 17 | 18 | 19 | ## Screenshots 20 | ### Light Solarized Theme 21 | ![alt text](https://i.imgur.com/kFNoqMW.png "i3 Light Solarized Theme") 22 | 23 | ### Dark Solarized Theme 24 | ![alt text](https://i.imgur.com/gaaTeRx.png "i3 Dark Solarized Theme") 25 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_beck_ai_wallpaper_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/beck_ai_wallpaper.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#232323", 7 | "foreground": "#f7f7f7", 8 | "cursor": "#f7f7f7" 9 | }, 10 | "colors": { 11 | "color0": "#232323", 12 | "color1": "#d2d2d2", 13 | "color2": "#bcbcbc", 14 | "color3": "#bfbfbf", 15 | "color4": "#848484", 16 | "color5": "#969696", 17 | "color6": "#aeaeae", 18 | "color7": "#e6e6e6", 19 | "color8": "#3d3d3d", 20 | "color9": "#eaeaea", 21 | "color10": "#e4e4e4", 22 | "color11": "#e8e8e8", 23 | "color12": "#ababab", 24 | "color13": "#c2c2c2", 25 | "color14": "#dbdbdb", 26 | "color15": "#f7f7f7" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_trianglify_solarized_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/trianglify_solarized.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#fdf6e3", 7 | "foreground": "#002b36", 8 | "cursor": "#002b36" 9 | }, 10 | "colors": { 11 | "color0": "#fdf6e3", 12 | "color1": "#dc322f", 13 | "color2": "#859900", 14 | "color3": "#b58900", 15 | "color4": "#268bd2", 16 | "color5": "#6c71c4", 17 | "color6": "#2aa198", 18 | "color7": "#586e75", 19 | "color8": "#839496", 20 | "color9": "#dc322f", 21 | "color10": "#859900", 22 | "color11": "#b58900", 23 | "color12": "#268bd2", 24 | "color13": "#6c71c4", 25 | "color14": "#2aa198", 26 | "color15": "#002b36" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_trianglify_solarized_dark_png_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/trianglify_solarized_dark.png", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#002b36", 7 | "foreground": "#fdf6e3", 8 | "cursor": "#fdf6e3" 9 | }, 10 | "colors": { 11 | "color0": "#002b36", 12 | "color1": "#dc322f", 13 | "color2": "#859900", 14 | "color3": "#b58900", 15 | "color4": "#268bd2", 16 | "color5": "#6c71c4", 17 | "color6": "#2aa198", 18 | "color7": "#93a1a1", 19 | "color8": "#657b83", 20 | "color9": "#dc322f", 21 | "color10": "#859900", 22 | "color11": "#b58900", 23 | "color12": "#268bd2", 24 | "color13": "#6c71c4", 25 | "color14": "#2aa198", 26 | "color15": "#fdf6e3" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_mountains_snow_light_sky_winter_jpg_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/mountains_snow_light_sky_winter.jpg", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#0a0d13", 7 | "foreground": "#eaffff", 8 | "cursor": "#eaffff" 9 | }, 10 | "colors": { 11 | "color0": "#0a0d13", 12 | "color1": "#3D80C5", 13 | "color2": "#5E87B4", 14 | "color3": "#A2B8D0", 15 | "color4": "#3A7BC2", 16 | "color5": "#917B88", 17 | "color6": "#5F99D5", 18 | "color7": "#cbdeef", 19 | "color8": "#1a2334", 20 | "color9": "#3ea6ff", 21 | "color10": "#68aefb", 22 | "color11": "#baeeff", 23 | "color12": "#3a9fff", 24 | "color13": "#cd8eb3", 25 | "color14": "#67c6ff", 26 | "color15": "#eaffff" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wpg/schemes/_home_zachary__config_wpg_wallpapers_nature_mountain_eagle_fog_landscape_jpg_dark_wal__1.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "wallpaper": "/home/zachary/.config/wpg/wallpapers/nature_mountain_eagle_fog_landscape.jpg", 3 | "alpha": "100", 4 | 5 | "special": { 6 | "background": "#3c3c3c", 7 | "foreground": "#fbffff", 8 | "cursor": "#fbffff" 9 | }, 10 | "colors": { 11 | "color0": "#3c3c3c", 12 | "color1": "#B9CAC8", 13 | "color2": "#92AAAC", 14 | "color3": "#B2C2BE", 15 | "color4": "#74939A", 16 | "color5": "#9DB1B1", 17 | "color6": "#9FC1C8", 18 | "color7": "#dce2e0", 19 | "color8": "#282828", 20 | "color9": "#d7ffff", 21 | "color10": "#a9eef4", 22 | "color11": "#cfffff", 23 | "color12": "#85cad9", 24 | "color13": "#b6fbfb", 25 | "color14": "#b7ffff", 26 | "color15": "#fbffff" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /scripts/solarized_toggle.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | BACKGROUND=$(cat ~/.vimrc | awk -F= '/background/{ print $2 }') 4 | 5 | set -e 6 | shopt -s expand_aliases 7 | 8 | BASE16_SHELL="$HOME/.config/base16-shell/" 9 | eval "$("$BASE16_SHELL/profile_helper.sh")" 10 | 11 | case "$BACKGROUND" in 12 | dark) 13 | wpg -s trianglify_solarized.png 14 | sed -i 's/set background=dark/set background=light/' ~/.vimrc && \ 15 | echo "[i] color wrote: .vimrc" 16 | base16_solarized-light && \ 17 | echo "[i] color wrote: base16_shell" 18 | ;; 19 | light) 20 | wpg -s trianglify_solarized_dark.png 21 | sed -i 's/set background=light/set background=dark/' ~/.vimrc && \ 22 | echo "[i] color wrote: .vimrc" 23 | base16_solarized-dark && \ 24 | echo "[i] color wrote: base16_shell" 25 | ;; 26 | *) 27 | echo "solarize_toggle ERROR: BACKGROUND NOT FOUND IN VIMRC" 28 | exit 1 29 | ;; 30 | esac 31 | -------------------------------------------------------------------------------- /.Xresources: -------------------------------------------------------------------------------- 1 | URxvt*depth: 32 2 | URxvt*loginShell: true 3 | URxvt*font: xft:Source\ Code\ Pro:size=10.5, xft:Symbola:size=10.5 4 | URxvt*scrollBar: false 5 | URxvt*mouseWheelScrollPage: false 6 | URxvt*cursorBlink: true 7 | URxvt*saveLines: 5000 8 | URxvt*internalBorder: 5 9 | URxvt*geometry: 80x24 10 | URxvt*intensityStyles: false 11 | URxvt*letterSpace: -1 12 | 13 | rofi.color-enabled: true 14 | rofi.color-window: #1d1f21, #8c9440, #8c9440 15 | rofi.color-normal: #1d1f21, #707880, #1d1f21, #1d1f21, #5f819d 16 | rofi.color-active: #1d1f21, #707880, #1d1f21, #1d1f21, #5f819d 17 | rofi.color-urgent: #1d1f21, #707880, #1d1f21, #1d1f21, #5f819d 18 | 19 | rofi.fullscreen: true 20 | rofi.separator-style: solid 21 | rofi.sidebar-mode: false 22 | rofi.lines: 5 23 | rofi.font: Source Code Pro Semibold 10.5 24 | rofi.bw: 1 25 | rofi.columns: 2 26 | rofi.padding: 5 27 | rofi.fixed-num-lines: true 28 | rofi.hide-scrollbar: true 29 | -------------------------------------------------------------------------------- /rofi/menu/SYSTEM: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FOREGROUND=$(xrdb -query | grep 'color15:'| awk 'NR==1{print $NF}') 4 | ROFI_OPTIONS=(-theme $HOME/.config/rofi/rofi_full -m -1 -fullscreen 0 -theme-str "*{accent: $FOREGROUND;}") 5 | 6 | another=$(echo "LOCK 7 | SUSPEND 8 | LOGOUT 9 | REBOOT 10 | POWEROFF" | awk '{print $(NF-1)}' | rofi "${ROFI_OPTIONS[@]}" -dmenu -i -p "SYSTEM: ") 11 | 12 | if [ "$another" == "LOCK" ] ; then 13 | betterlockscreen -l blur; 14 | elif [ "$another" == "SUSPEND" ] ; then 15 | i3exit suspend; 16 | elif [ "$another" == "LOGOUT" ] ; then 17 | [ $(echo -e "Yes\nNo" | rofi "${ROFI_OPTIONS[@]}" -theme-str "*{accent: #e53714;}" -dmenu -i -p "Are you shure you want to proceed?") == Yes ] && i3-msg exit 18 | 19 | elif [ "$another" == "REBOOT" ] ; then 20 | [ $(echo -e "Yes\nNo" | rofi "${ROFI_OPTIONS[@]}" -theme-str "*{accent: #e53714;}" -dmenu -i -p "Are you shure you want to proceed?") == Yes ] && i3exit reboot 21 | 22 | elif [ "$another" == "POWEROFF" ] ; then 23 | [ $(echo -e "Yes\nNo" | rofi "${ROFI_OPTIONS[@]}" -theme-str "*{accent: #e53714;}" -dmenu -i -p "Are you shure you want to proceed?") == Yes ] && i3exit poweroff 24 | 25 | else 26 | echo $another 27 | fi 28 | -------------------------------------------------------------------------------- /dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [colors] 2 | background = "#657b83" 3 | foreground = "#fdf6e3" 4 | 5 | [global] 6 | ### Display ### 7 | 8 | monitor = 0 9 | follow = mouse 10 | 11 | geometry = "540x5-10+32" 12 | indicate_hidden = yes 13 | shrink = yes 14 | transparency = 0 15 | notification_height = 0 16 | separator_height = 3 17 | padding = 12 18 | horizontal_padding = 12 19 | frame_width = 3 20 | 21 | frame_color = "#8f6d01" 22 | separator_color = auto 23 | sort = yes 24 | idle_threshold = 120 25 | 26 | ### Text ### 27 | font = go mono 9 28 | line_height = 0 29 | 30 | markup = full 31 | 32 | # The format of the message. Possible variables are: 33 | # %a appname 34 | # %s summary 35 | # %b body 36 | # %i iconname (including its path) 37 | # %I iconname (without its path) 38 | # %p progress value if set ([ 0%] to [100%]) or nothing 39 | # %n progress value if set without any extra characters 40 | # %% Literal % 41 | # Markup is allowed 42 | format = "%s \n%b" 43 | alignment = left 44 | show_age_threshold = 60 45 | word_wrap = yes 46 | ellipsize = middle 47 | ignore_newline = no 48 | stack_duplicates = true 49 | hide_duplicate_count = false 50 | show_indicators = yes 51 | 52 | ### Icons ### 53 | icon_position = left 54 | max_icon_size = 64 55 | icon_path = .icons/flattrcolor/status/24:.icons/flattrcolor/devices/48:.icons/flattrcolor/apps/scalable:.icons/flattrcolor/actions/scalable 56 | 57 | ### History ### 58 | sticky_history = yes 59 | history_length = 20 60 | 61 | ### Misc/Advanced ### 62 | dmenu = /usr/bin/rofi -show run -p dunst: 63 | browser = /usr/bin/google-chrome-stable 64 | always_run_script = true 65 | title = Dunst 66 | class = Dunst 67 | startup_notification = false 68 | force_xinerama = false 69 | 70 | [experimental] 71 | per_monitor_dpi = false 72 | 73 | [shortcuts] 74 | close = ctrl+space 75 | close_all = ctrl+shift+space 76 | context = ctrl+shift+period 77 | 78 | [urgency_low] 79 | background = colors.background 80 | foreground = colors.foreground 81 | timeout = 10 82 | 83 | [urgency_normal] 84 | background = colors.background 85 | foreground = colors.foreground 86 | timeout = 10 87 | 88 | [urgency_critical] 89 | background = colors.background 90 | foreground = colors.foreground 91 | frame_color = "#dc322f" 92 | timeout = 0 93 | -------------------------------------------------------------------------------- /wpg/templates/dunstrc.base: -------------------------------------------------------------------------------- 1 | [colors] 2 | background = "{color8}" 3 | foreground = "{color15}" 4 | 5 | [global] 6 | ### Display ### 7 | 8 | monitor = 0 9 | follow = mouse 10 | 11 | geometry = "540x5-10+32" 12 | indicate_hidden = yes 13 | shrink = yes 14 | transparency = 0 15 | notification_height = 0 16 | separator_height = 3 17 | padding = 12 18 | horizontal_padding = 12 19 | frame_width = 3 20 | 21 | frame_color = "{active}" 22 | separator_color = auto 23 | sort = yes 24 | idle_threshold = 120 25 | 26 | ### Text ### 27 | font = go mono 9 28 | line_height = 0 29 | 30 | markup = full 31 | 32 | # The format of the message. Possible variables are: 33 | # %a appname 34 | # %s summary 35 | # %b body 36 | # %i iconname (including its path) 37 | # %I iconname (without its path) 38 | # %p progress value if set ([ 0%] to [100%]) or nothing 39 | # %n progress value if set without any extra characters 40 | # %% Literal % 41 | # Markup is allowed 42 | format = "%s \n%b" 43 | alignment = left 44 | show_age_threshold = 60 45 | word_wrap = yes 46 | ellipsize = middle 47 | ignore_newline = no 48 | stack_duplicates = true 49 | hide_duplicate_count = false 50 | show_indicators = yes 51 | 52 | ### Icons ### 53 | icon_position = left 54 | max_icon_size = 64 55 | icon_path = .icons/flattrcolor/status/24:.icons/flattrcolor/devices/48:.icons/flattrcolor/apps/scalable:.icons/flattrcolor/actions/scalable 56 | 57 | ### History ### 58 | sticky_history = yes 59 | history_length = 20 60 | 61 | ### Misc/Advanced ### 62 | dmenu = /usr/bin/rofi -show run -p dunst: 63 | browser = /usr/bin/google-chrome-stable 64 | always_run_script = true 65 | title = Dunst 66 | class = Dunst 67 | startup_notification = false 68 | force_xinerama = false 69 | 70 | [experimental] 71 | per_monitor_dpi = false 72 | 73 | [shortcuts] 74 | close = ctrl+space 75 | close_all = ctrl+shift+space 76 | context = ctrl+shift+period 77 | 78 | [urgency_low] 79 | background = colors.background 80 | foreground = colors.foreground 81 | timeout = 10 82 | 83 | [urgency_normal] 84 | background = colors.background 85 | foreground = colors.foreground 86 | timeout = 10 87 | 88 | [urgency_critical] 89 | background = colors.background 90 | foreground = colors.foreground 91 | frame_color = "{color9}" 92 | timeout = 0 93 | -------------------------------------------------------------------------------- /rofi/rofi_bar: -------------------------------------------------------------------------------- 1 | * { 2 | accent: #FFFFFF; 3 | bckgrd: #121212; 4 | select: #161A1B; 5 | 6 | 7 | 8 | foreground: @accent; 9 | foreground-alt: #ebebeb; 10 | background: @bckgrd; 11 | background-alt: @select; 12 | transparent: rgba(0, 0, 0, 0); 13 | urgentcolor: #e53714; 14 | 15 | 16 | font: "Monoid 14"; 17 | border-color: @background; 18 | separatorcolor: @foreground; 19 | background-color: @background; 20 | } 21 | 22 | #window { 23 | background-color: @background; 24 | anchor: north; 25 | location: north; 26 | y-offset: 700; 27 | } 28 | 29 | #mainbox { 30 | background-color: @background; 31 | spacing: 0px; 32 | children: [inputbar, message, sidebar, listview]; 33 | } 34 | 35 | #message { 36 | background-color: @background; 37 | padding: 10 1% 10; 38 | } 39 | 40 | #textbox { 41 | text-color: @background; 42 | background-color: @foreground; 43 | } 44 | 45 | #listview { 46 | fixed-height: false; 47 | dynamic: true; 48 | scrollbar: false; 49 | padding: 10px; 50 | background: @background; 51 | } 52 | 53 | #element { 54 | border: 0; 55 | padding: 10px; 56 | } 57 | 58 | #element.normal.normal { 59 | background-color: @background; 60 | text-color: @foreground-alt; 61 | } 62 | 63 | #element.normal.urgent { 64 | background-color: @background; 65 | text-color: @urgentcolor; 66 | } 67 | 68 | #element.normal.active { 69 | background-color: @background; 70 | text-color: @foreground; 71 | } 72 | 73 | #element.selected.normal { 74 | background-color: @background-alt; 75 | text-color: @foreground; 76 | } 77 | 78 | #element.selected.urgent { 79 | background-color: @urgentcolor; 80 | text-color: @background; 81 | } 82 | 83 | #element.selected.active { 84 | background-color: @foreground; 85 | text-color: @thi; 86 | } 87 | 88 | #element.alternate.normal { 89 | background-color: @background; 90 | text-color: @foreground-alt; 91 | } 92 | 93 | #element.alternate.urgent { 94 | background-color: @background; 95 | text-color: @urgentcolor; 96 | } 97 | 98 | #element.alternate.active { 99 | background-color: @background; 100 | text-color: @foreground; 101 | } 102 | 103 | #button { 104 | background-color: @background; 105 | text-color: @background; 106 | } 107 | 108 | 109 | #button.selected { 110 | text-color: @foreground; 111 | } 112 | 113 | #inputbar { 114 | background-color: @foreground; 115 | spacing: 0px; 116 | } 117 | 118 | #prompt { 119 | padding: 6px 9px; 120 | background-color: @foreground; 121 | text-color: @background-alt; 122 | padding: 10 1% 10; 123 | } 124 | 125 | #entry { 126 | padding: 6px 10px; 127 | background-color: @background-alt; 128 | text-color: @foreground; 129 | padding: 10px; 130 | } 131 | -------------------------------------------------------------------------------- /compton.conf: -------------------------------------------------------------------------------- 1 | # Shadow 2 | shadow = true; 3 | # no-dnd-shadow = true; 4 | no-dock-shadow = true; 5 | clear-shadow = true; 6 | detect-rounded-corners = true; 7 | shadow-radius = 5; 8 | shadow-offset-x = 1; 9 | shadow-offset-y = 1; 10 | shadow-opacity = .3; 11 | shadow-ignore-shaped = false; 12 | shadow-exclude = [ 13 | "name = 'Notification'", 14 | # workaround for conky until it provides window properties: 15 | "override_redirect = 1 && !WM_CLASS@:s", 16 | "class_g ?= 'Dmenu'", 17 | # "class_g ?= 'Dunst'", 18 | # disable shadows for hidden windows: 19 | "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", 20 | "_GTK_FRAME_EXTENTS@:c", 21 | # disables shadows on sticky windows: 22 | # "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'", 23 | # disables shadows on i3 frames 24 | "class_g ?= 'i3-frame'" 25 | ]; 26 | 27 | # shadow-exclude-reg = "x10+0+0"; 28 | # xinerama-shadow-crop = true; 29 | 30 | #menu-opacity = 0.95; 31 | #inactive-opacity = 0.93; 32 | #active-opacity = 1; 33 | #alpha-step = 0.01; 34 | #inactive-dim = 0.0; 35 | #blur-background = false; 36 | #blur-kern = "3x3box"; 37 | 38 | fading = false; 39 | fade-delta = 1; 40 | fade-in-step = 0.03; 41 | fade-out-step = 0.03; 42 | fade-exclude = [ ]; 43 | 44 | backend = "xrender"; 45 | mark-wmwin-focused = true; 46 | mark-ovredir-focused = true; 47 | detect-client-opacity = true; 48 | unredir-if-possible = true; 49 | refresh-rate = 0; 50 | vsync = "none"; 51 | dbe = false; 52 | paint-on-overlay = true; 53 | focus-exclude = [ "class_g = 'Cairo-clock'" ]; 54 | detect-transient = true; 55 | detect-client-leader = true; 56 | invert-color-include = [ ]; 57 | glx-copy-from-front = false; 58 | glx-swap-method = "undefined"; 59 | 60 | #opacity-rule = [ 61 | #"99:name *?= 'Call'", 62 | #"99:class_g = 'Chromium'", 63 | #"99:name *?= 'Conky'", 64 | #"99:class_g = 'Darktable'", 65 | #"50:class_g = 'Dmenu'", 66 | #"99:name *?= 'Event'", 67 | #"99:class_g = 'Firefox'", 68 | #"99:class_g = 'GIMP'", 69 | #"99:name *?= 'Image'", 70 | #"99:class_g = 'Lazpaint'", 71 | #"99:class_g = 'Midori'", 72 | #"99:name *?= 'Minitube'", 73 | #"99:class_g = 'Mousepad'", 74 | #"99:name *?= 'MuseScore'", 75 | #"90:name *?= 'Page Info'", 76 | #"99:name *?= 'Pale Moon'", 77 | #"90:name *?= 'Panel'", 78 | #"99:class_g = 'Pinta'", 79 | #"90:name *?= 'Restart'", 80 | #"99:name *?= 'sudo'", 81 | #"99:name *?= 'Screenshot'", 82 | #"99:class_g = 'Viewnior'", 83 | #"99:class_g = 'VirtualBox'", 84 | #"99:name *?= 'VLC'", 85 | #"99:name *?= 'Write'", 86 | #"93:class_g = 'URxvt' && !_NET_WM_STATE@:32a", 87 | #"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", 88 | #"96:_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'" 89 | #]; 90 | 91 | wintypes : 92 | { 93 | tooltip : 94 | { 95 | fade = true; 96 | shadow = false; 97 | opacity = 0.85; 98 | focus = true; 99 | }; 100 | fullscreen : 101 | { 102 | fade = true; 103 | shadow = false; 104 | opacity = 1; 105 | focus = true; 106 | }; 107 | }; 108 | -------------------------------------------------------------------------------- /wpg/templates/gtk3.0.base: -------------------------------------------------------------------------------- 1 | 2 | /* Default color scheme */ 3 | @define-color bg_color {color0}; 4 | @define-color fg_color {color15}; 5 | @define-color base_color {color1}; 6 | @define-color text_color {color15}; 7 | @define-color selected_bg_color {active}; 8 | @define-color selected_fg_color {color15}; 9 | @define-color tooltip_bg_color {color0}; 10 | @define-color tooltip_fg_color {color15}; 11 | 12 | /* colormap actually used by the theme, to be overridden in other css files */ 13 | @define-color theme_bg_color @bg_color; 14 | @define-color theme_fg_color @fg_color; 15 | @define-color theme_base_color @base_color; 16 | @define-color theme_text_color @text_color; 17 | @define-color theme_selected_bg_color @selected_bg_color; 18 | @define-color theme_selected_fg_color @selected_fg_color; 19 | @define-color theme_tooltip_bg_color @tooltip_bg_color; 20 | @define-color theme_tooltip_fg_color @tooltip_fg_color; 21 | 22 | /* shadow effects */ 23 | @define-color light_shadow #eeeeee; 24 | @define-color dark_shadow #222222; 25 | 26 | /* misc colors used by gtk+ */ 27 | @define-color info_fg_color white; 28 | @define-color info_bg_color #BACF66; 29 | @define-color warning_fg_color white; 30 | @define-color warning_bg_color #E6A682; 31 | @define-color question_fg_color white; 32 | @define-color question_bg_color #74C47B; 33 | @define-color error_fg_color white; 34 | @define-color error_bg_color #E682C8; 35 | @define-color link_color mix (@theme_selected_bg_color, black, 0.15); 36 | @define-color success_color #53a93f; 37 | @define-color warning_color #f57900; 38 | @define-color error_color #cc0000; 39 | 40 | /* widget colors*/ 41 | @define-color border_color #363D43; 42 | @define-color button_normal_color #3F474A; 43 | @define-color button_info_color #72B279; 44 | @define-color button_default_active_color shade(@theme_selected_bg_color, 0.857); 45 | @define-color entry_border_color shade(@theme_base_color, 0.9); 46 | @define-color frame_border_bottom_color #E3E4E7; 47 | @define-color sel_color #B98CD7; 48 | @define-color switch_bg_color #C9CBCF; 49 | @define-color panel_bg_color @bg_color; 50 | @define-color panel_fg_color @fg_color; 51 | @define-color borders #FAFAFA; 52 | @define-color scrollbar_trough shade(@theme_base_color, 0.9); 53 | @define-color scrollbar_slider_prelight mix(@scrollbar_trough, @theme_fg_color, 0.5); 54 | 55 | 56 | /* osd */ 57 | @define-color osd_separator #49525B; 58 | @define-color osd_fg #ABB4BD; 59 | @define-color osd_bg #434A54; 60 | 61 | /* window manager colors */ 62 | @define-color wm_bg @theme_bg_color; 63 | @define-color wm_title_focused @theme_fg_color; 64 | @define-color wm_title_unfocused @theme_text_color; 65 | @define-color wm_border_focused @border_color; 66 | @define-color wm_border_unfocused @border_color; 67 | 68 | @import url("gtk-widgets.css"); 69 | @import url("gtk-widgets-assets.css"); 70 | @import url("unity.css"); 71 | @import url("widgets/button.css"); 72 | @import url("widgets/cell-row.css"); 73 | @import url("widgets/check-radio.css"); 74 | @import url("widgets/column-header.css"); 75 | @import url("widgets/calendar.css"); 76 | @import url("widgets/entry.css"); 77 | @import url("widgets/infobar.css"); 78 | @import url("widgets/menu.css"); 79 | @import url("widgets/notebook.css"); 80 | @import url("widgets/progress-scale.css"); 81 | @import url("widgets/scrollbar.css"); 82 | @import url("widgets/separator.css"); 83 | @import url("widgets/sidebar.css"); 84 | @import url("widgets/spinbutton.css"); 85 | @import url("widgets/spinner.css"); 86 | @import url("widgets/switch.css"); 87 | @import url("widgets/color-chooser.css"); 88 | @import url("widgets/toolbar.css"); 89 | @import url("widgets/header-bar.css"); 90 | @import url("widgets/osd.css"); 91 | @import url("widgets/csd.css"); 92 | @import url("widgets/combobox.css"); 93 | @import url("widgets/selection-mode.css"); 94 | -------------------------------------------------------------------------------- /rofi/rofi_full: -------------------------------------------------------------------------------- 1 | * { 2 | accent: #FFFFFF; 3 | foreground: rgba(255, 255, 255, 0.8); 4 | background: rgba(0, 0, 0, 0.70); 5 | transparent: rgba(0, 0, 0, 0); 6 | 7 | normal-background: @transparent; 8 | normal-foreground: @foreground; 9 | urgent-background: @transparent; 10 | urgent-foreground: @foreground; 11 | active-background: @transparent; 12 | active-foreground: @foreground; 13 | 14 | selected-normal-background: @foreground; 15 | selected-normal-foreground: @background; 16 | selected-urgent-background: @foreground; 17 | selected-urgent-foreground: @background; 18 | selected-active-background: @foreground; 19 | selected-active-foreground: @background; 20 | 21 | alternate-normal-background: @transparent; 22 | alternate-normal-foreground: @foreground; 23 | alternate-active-background: @transparent; 24 | alternate-active-foreground: @active-foreground; 25 | alternate-urgent-background: @transparent; 26 | alternate-urgent-foreground: @urgent-foreground; 27 | 28 | border-color: @background; 29 | separatorcolor: @foreground; 30 | background-color: @transparent; 31 | spacing: 10; 32 | } 33 | 34 | #window { 35 | background-color: @background; 36 | border: 0; 37 | padding: 0; 38 | } 39 | #mainbox { 40 | border: 0; 41 | padding: 30%; 42 | } 43 | #message { 44 | border: 2px 0px 0px ; 45 | border-color: @separatorcolor; 46 | padding: 10 1% 10; 47 | } 48 | #textbox { 49 | text-color: @foreground; 50 | } 51 | #listview { 52 | fixed-height: 0; 53 | border: 2px 0px 0px ; 54 | border-color: @separatorcolor; 55 | spacing: 10px; 56 | padding: 10 1% 10; 57 | } 58 | 59 | #element { 60 | border: 0; 61 | padding: 10 10 10; 62 | } 63 | #element.normal.normal { 64 | background-color: @normal-background; 65 | text-color: @normal-foreground; 66 | } 67 | #element.normal.urgent { 68 | background-color: @urgent-background; 69 | text-color: @urgent-foreground; 70 | } 71 | #element.normal.active { 72 | background-color: @active-background; 73 | text-color: @active-foreground; 74 | } 75 | #element.selected.normal { 76 | background-color: @selected-normal-background; 77 | text-color: @selected-normal-foreground; 78 | } 79 | #element.selected.urgent { 80 | background-color: @selected-urgent-background; 81 | text-color: @selected-urgent-foreground; 82 | } 83 | #element.selected.active { 84 | background-color: @selected-active-background; 85 | text-color: @selected-active-foreground; 86 | } 87 | #element.alternate.normal { 88 | background-color: @alternate-normal-background; 89 | text-color: @alternate-normal-foreground; 90 | } 91 | #element.alternate.urgent { 92 | background-color: @alternate-urgent-background; 93 | text-color: @alternate-urgent-foreground; 94 | } 95 | #element.alternate.active { 96 | background-color: @alternate-active-background; 97 | text-color: @alternate-active-foreground; 98 | } 99 | 100 | #scrollbar { 101 | width: 4px ; 102 | border: 0; 103 | handle-width: 8px ; 104 | padding: 0; 105 | } 106 | #sidebar { 107 | border: 2px 0px 0px ; 108 | border-color: @separatorcolor; 109 | } 110 | #button.selected { 111 | background-color: @selected-normal-background; 112 | text-color: @selected-normal-foreground; 113 | } 114 | #inputbar { 115 | spacing: 10; 116 | text-color: @normal-foreground; 117 | padding: 1px ; 118 | } 119 | #case-indicator { 120 | spacing: 0; 121 | text-color: @normal-foreground; 122 | } 123 | #entry { 124 | spacing: 0; 125 | text-color: @normal-foreground; 126 | } 127 | #prompt, button{ 128 | spacing: 0; 129 | text-color: @normal-foreground; 130 | } 131 | -------------------------------------------------------------------------------- /wpg/templates/gtk3.20.base: -------------------------------------------------------------------------------- 1 | /* Default color scheme */ 2 | @define-color color0 {color0}; 3 | @define-color color1 {color1}; 4 | @define-color color2 {color2}; 5 | @define-color color3 {color3}; 6 | @define-color color4 {color4}; 7 | @define-color color5 {color5}; 8 | @define-color color6 {color6}; 9 | @define-color color7 {color7}; 10 | @define-color color8 {color8}; 11 | @define-color color9 {color9}; 12 | @define-color color10 {color10}; 13 | @define-color color11 {color11}; 14 | @define-color color12 {color12}; 15 | @define-color color13 {color13}; 16 | @define-color color14 {color14}; 17 | @define-color color15 {color15}; 18 | @define-color selected_bg_color {active}; 19 | @define-color bg_color mix(@color0, @color15, 0.12); 20 | @define-color tooltip_bg_color mix(@color0, @color15, 0.04); 21 | @define-color base_color mix(@color0, @color15, 0); 22 | @define-color fg_color @color15; 23 | @define-color text_color @color15; 24 | @define-color selected_fg_color @color15; 25 | @define-color tooltip_fg_color @color15; 26 | 27 | /* colormap actually used by the theme, to be overridden in other css files */ 28 | @define-color theme_bg_color @bg_color; 29 | @define-color theme_fg_color @fg_color; 30 | @define-color theme_base_color @base_color; 31 | @define-color theme_text_color @text_color; 32 | @define-color theme_selected_bg_color @selected_bg_color; 33 | @define-color theme_selected_fg_color @selected_fg_color; 34 | @define-color theme_tooltip_bg_color @tooltip_bg_color; 35 | @define-color theme_tooltip_fg_color @tooltip_fg_color; 36 | 37 | /* shadow effects */ 38 | @define-color light_shadow #eeeeee; 39 | @define-color dark_shadow #222222; 40 | 41 | /* misc colors used by gtk+ */ 42 | @define-color info_fg_color @text_color; 43 | @define-color info_bg_color @bg_color; 44 | @define-color warning_fg_color @text_color; 45 | @define-color warning_bg_color @bg_color; 46 | @define-color question_fg_color @text_color; 47 | @define-color question_bg_color @theme_selected_bg_color; 48 | @define-color error_fg_color @text_color; 49 | @define-color error_bg_color #f52400; 50 | @define-color link_color mix (@theme_selected_bg_color, black, 0.15); 51 | @define-color success_color #53a93f; 52 | @define-color warning_color #f57900; 53 | @define-color error_color #f52400; 54 | 55 | /* widget colors*/ 56 | @define-color border_color shade(@theme_selected_bg_color, 0.2); 57 | @define-color button_normal_color shade(@theme_bg_color, 1.20); 58 | @define-color button_info_color @theme_selected_bg_color; 59 | @define-color button_default_active_color @theme_selected_bg_color; 60 | @define-color entry_border_color shade(@theme_base_color, 0.9); 61 | @define-color frame_border_bottom_color shade(@bg_color, 0.8); 62 | @define-color sel_color shade(@theme_selected_bg_color, 0.857); 63 | @define-color switch_bg_color shade(@bg_color, 0.8); 64 | @define-color panel_bg_color @bg_color; 65 | @define-color panel_fg_color @fg_color; 66 | @define-color borders shade(@theme_selected_bg_color, 0.857); 67 | @define-color scrollbar_trough shade(@theme_base_color, 0.9); 68 | @define-color scrollbar_slider_prelight mix(@scrollbar_trough, @theme_fg_color, 0.5); 69 | 70 | 71 | /* osd */ 72 | @define-color osd_separator #49525B; 73 | @define-color osd_fg #ABB4BD; 74 | @define-color osd_bg #434A54; 75 | 76 | /* window manager colors */ 77 | @define-color wm_bg @theme_bg_color; 78 | @define-color wm_title_focused @theme_fg_color; 79 | @define-color wm_title_unfocused @theme_text_color; 80 | @define-color wm_border_focused @border_color; 81 | @define-color wm_border_unfocused @border_color; 82 | 83 | @import url("gtk-widgets.css"); 84 | @import url("unity.css"); 85 | @import url("widgets/button.css"); 86 | @import url("widgets/cell-row.css"); 87 | @import url("widgets/check-radio.css"); 88 | @import url("widgets/column-header.css"); 89 | @import url("widgets/calendar.css"); 90 | @import url("widgets/entry.css"); 91 | @import url("widgets/infobar.css"); 92 | @import url("widgets/menu.css"); 93 | @import url("widgets/notebook.css"); 94 | @import url("widgets/progress-scale.css"); 95 | @import url("widgets/scrollbar.css"); 96 | @import url("widgets/separator.css"); 97 | @import url("widgets/sidebar.css"); 98 | @import url("widgets/spinbutton.css"); 99 | @import url("widgets/spinner.css"); 100 | @import url("widgets/switch.css"); 101 | @import url("widgets/color-chooser.css"); 102 | @import url("widgets/toolbar.css"); 103 | @import url("widgets/header-bar.css"); 104 | @import url("widgets/osd.css"); 105 | @import url("widgets/csd.css"); 106 | @import url("widgets/combobox.css"); 107 | @import url("widgets/selection-mode.css"); 108 | -------------------------------------------------------------------------------- /polybar/config: -------------------------------------------------------------------------------- 1 | [colors] 2 | background = ${xrdb:color8:#657b83} 3 | foreground = ${xrdb:color15:#fdf6e3} 4 | active = #8f6d01 5 | inactive = #624a01 6 | highlight = ${xrdb:color2:#859900} 7 | error = ${xrdb:color9:#dc322f} 8 | 9 | [bar/wpgtk] 10 | monitor = ${env:MONITOR} 11 | width = 100% 12 | height = 24 13 | offset-y = 0% 14 | radius = 0.0 15 | fixed-center = true 16 | 17 | background = ${colors.background} 18 | foreground = ${colors.foreground} 19 | 20 | line-size = 0 21 | label-line-color = #f00 22 | 23 | border-size = 0 24 | border-color = #00000000 25 | 26 | padding-left = 0 27 | padding-right = 0 28 | 29 | module-margin-left = 0 30 | module-margin-right = 0 31 | 32 | font-0 = "xft:Source Code Pro:size=10;2" 33 | font-1 = "Font Awesome 5 Free:style=Solid:size=10;2" 34 | 35 | modules-left = i3 36 | modules-center = date 37 | modules-right = volume separator vpn-status separator wlan separator power 38 | ;modules-right = volume separator battery separator vpn-status separator wlan separator power 39 | 40 | tray-position = none 41 | tray-padding = 10 42 | tray-background = ${colors.inactive} 43 | 44 | [module/xwindow] 45 | type = internal/xwindow 46 | format-background = ${colors.active} 47 | format-padding = 1 48 | label = %title:0:25: ...% 49 | 50 | [module/i3] 51 | type = internal/i3 52 | format = 53 | index-sort = true 54 | wrapping-scroll = false 55 | fuzzy-matching = true 56 | 57 | label-focused = %index% 58 | label-unfocused = %index% 59 | label-visible = %index% 60 | label-urgent = %index% 61 | 62 | ; Only show workspaces on the same output as the bar 63 | pin-workspaces = false 64 | 65 | label-mode-padding = 1 66 | label-mode-foreground = ${colors.foreground} 67 | label-mode-background = ${colors.inactive} 68 | 69 | label-focused-background = ${colors.active} 70 | label-focused-padding = 1 71 | 72 | label-unfocused-padding = 1 73 | label-unfocused-background = ${colors.inactive} 74 | 75 | label-visible-background = ${colors.inactive} 76 | label-visible-padding = 1 77 | 78 | label-urgent-background = ${colors.inactive} 79 | label-urgent-padding = 1 80 | 81 | [module/vpn-status] 82 | type = custom/script 83 | exec = ~/.config/polybar/scripts/nm-vpn-status.sh 84 | interval = 5 85 | format-background = ${colors.inactive} 86 | format-padding = 1 87 | 88 | [module/power] 89 | type = custom/text 90 | content = "  " 91 | content-background = ${colors.inactive} 92 | content-foreground = ${colors.foreground} 93 | click-left = ~/.config/rofi/menu/SYSTEM 94 | 95 | [module/separator] 96 | type = custom/text 97 | content = " | " 98 | content-background = ${colors.inactive} 99 | content-foreground = ${colors.foreground} 100 | format-padding = 1 101 | 102 | [module/mpd] 103 | type = internal/mpd 104 | format-online = 105 | 106 | icon-play = ⏵ 107 | icon-pause = ⏸ 108 | icon-stop = ⏹ 109 | icon-prev = ⏮ 110 | icon-next = ⏭ 111 | 112 | label-song-maxlen = 25 113 | label-song-ellipsis = true 114 | format-playing-padding = 2 115 | format-playing-background = ${colors.highlight} 116 | 117 | [module/wlan] 118 | type = internal/network 119 | interface = wlp5s0 120 | ;interface = wlp8s0 121 | interval = 3.0 122 | 123 | format-connected-padding = 1 124 | format-connected = 125 | label-connected = %essid% 126 | format-connected-background = ${colors.inactive} 127 | 128 | format-disconnected = 129 | 130 | ramp-signal-0 = " " 131 | ramp-signal-foreground = ${colors.foreground} 132 | 133 | [module/date] 134 | type = internal/date 135 | interval = 5 136 | 137 | date = "%d %b %Y, " 138 | time = %I:%M %p 139 | 140 | format-padding = 1 141 | format-background = ${colors.background} 142 | 143 | label = %date%%time% 144 | 145 | [module/volume] 146 | type = internal/alsa 147 | 148 | format-volume = 149 | format-volume-padding = 1 150 | format-volume-background = ${colors.inactive} 151 | ramp-volume-0 = " " 152 | ramp-volume-1 = " " 153 | ramp-volume-2 = " " 154 | ramp-volume-foreground = ${colors.foreground} 155 | 156 | format-muted-prefix = " " 157 | format-muted-foreground = ${colors.foreground} 158 | format-muted-background = ${colors.inactive} 159 | label-muted = MUTED 160 | format-muted-padding = 1 161 | 162 | [module/battery] 163 | type = internal/battery 164 | battery = BAT1 165 | adapter = ACAD 166 | full-at = 100 167 | 168 | format-charging =  169 | format-charging-padding = 1 170 | format-discharging-padding = 1 171 | format-discharging = 172 | format-full = 173 | format-full-padding = 1 174 | format-full-background = ${colors.inactive} 175 | 176 | ramp-capacity-0 =  177 | ramp-capacity-1 =  178 | ramp-capacity-2 =  179 | ramp-capacity-3 =  180 | ramp-capacity-4 =  181 | ramp-capacity-foreground = ${colors.foreground} 182 | 183 | animation-charging-foreground = ${colors.foreground} 184 | animation-charging-framerate = 500 185 | animation-charging-0 =  186 | animation-charging-1 =  187 | animation-charging-2 =  188 | animation-charging-3 =  189 | animation-charging-4 =  190 | format-charging-background = ${colors.inactive} 191 | format-discharging-background = ${colors.inactive} 192 | 193 | [settings] 194 | screenchange-reload = true 195 | 196 | [global/wm] 197 | margin-top = 5 198 | margin-bottom = 0 199 | 200 | ; vim:ft=dosini 201 | -------------------------------------------------------------------------------- /wpg/templates/polybar.base: -------------------------------------------------------------------------------- 1 | [colors] 2 | background = ${{xrdb:color8:{color8}}} 3 | foreground = ${{xrdb:color15:{color15}}} 4 | active = {active} 5 | inactive = {inactive} 6 | highlight = ${{xrdb:color2:{color2}}} 7 | error = ${{xrdb:color9:{color9}}} 8 | 9 | [bar/wpgtk] 10 | monitor = ${{env:MONITOR}} 11 | width = 100% 12 | height = 24 13 | offset-y = 0% 14 | radius = 0.0 15 | fixed-center = true 16 | 17 | background = ${{colors.background}} 18 | foreground = ${{colors.foreground}} 19 | 20 | line-size = 0 21 | label-line-color = #f00 22 | 23 | border-size = 0 24 | border-color = #00000000 25 | 26 | padding-left = 0 27 | padding-right = 0 28 | 29 | module-margin-left = 0 30 | module-margin-right = 0 31 | 32 | font-0 = "xft:Source Code Pro:size=10;2" 33 | font-1 = "Font Awesome 5 Free:style=Solid:size=10;2" 34 | 35 | modules-left = i3 36 | modules-center = date 37 | modules-right = volume separator vpn-status separator wlan separator power 38 | ;modules-right = volume separator battery separator vpn-status separator wlan separator power 39 | 40 | tray-position = none 41 | tray-padding = 10 42 | tray-background = ${{colors.inactive}} 43 | 44 | [module/xwindow] 45 | type = internal/xwindow 46 | format-background = ${{colors.active}} 47 | format-padding = 1 48 | label = %title:0:25: ...% 49 | 50 | [module/i3] 51 | type = internal/i3 52 | format = 53 | index-sort = true 54 | wrapping-scroll = false 55 | fuzzy-matching = true 56 | 57 | label-focused = %index% 58 | label-unfocused = %index% 59 | label-visible = %index% 60 | label-urgent = %index% 61 | 62 | ; Only show workspaces on the same output as the bar 63 | pin-workspaces = false 64 | 65 | label-mode-padding = 1 66 | label-mode-foreground = ${{colors.foreground}} 67 | label-mode-background = ${{colors.inactive}} 68 | 69 | label-focused-background = ${{colors.active}} 70 | label-focused-padding = 1 71 | 72 | label-unfocused-padding = 1 73 | label-unfocused-background = ${{colors.inactive}} 74 | 75 | label-visible-background = ${{colors.inactive}} 76 | label-visible-padding = 1 77 | 78 | label-urgent-background = ${{colors.inactive}} 79 | label-urgent-padding = 1 80 | 81 | [module/vpn-status] 82 | type = custom/script 83 | exec = ~/.config/polybar/scripts/nm-vpn-status.sh 84 | interval = 5 85 | format-background = ${{colors.inactive}} 86 | format-padding = 1 87 | 88 | [module/power] 89 | type = custom/text 90 | content = "  " 91 | content-background = ${{colors.inactive}} 92 | content-foreground = ${{colors.foreground}} 93 | click-left = ~/.config/rofi/menu/SYSTEM 94 | 95 | [module/separator] 96 | type = custom/text 97 | content = " | " 98 | content-background = ${{colors.inactive}} 99 | content-foreground = ${{colors.foreground}} 100 | format-padding = 1 101 | 102 | [module/mpd] 103 | type = internal/mpd 104 | format-online = 105 | 106 | icon-play = ⏵ 107 | icon-pause = ⏸ 108 | icon-stop = ⏹ 109 | icon-prev = ⏮ 110 | icon-next = ⏭ 111 | 112 | label-song-maxlen = 25 113 | label-song-ellipsis = true 114 | format-playing-padding = 2 115 | format-playing-background = ${{colors.highlight}} 116 | 117 | [module/wlan] 118 | type = internal/network 119 | interface = wlp5s0 120 | ;interface = wlp8s0 121 | interval = 3.0 122 | 123 | format-connected-padding = 1 124 | format-connected = 125 | label-connected = %essid% 126 | format-connected-background = ${{colors.inactive}} 127 | 128 | format-disconnected = 129 | 130 | ramp-signal-0 = " " 131 | ramp-signal-foreground = ${{colors.foreground}} 132 | 133 | [module/date] 134 | type = internal/date 135 | interval = 5 136 | 137 | date = "%d %b %Y, " 138 | time = %I:%M %p 139 | 140 | format-padding = 1 141 | format-background = ${{colors.background}} 142 | 143 | label = %date%%time% 144 | 145 | [module/volume] 146 | type = internal/alsa 147 | 148 | format-volume = 149 | format-volume-padding = 1 150 | format-volume-background = ${{colors.inactive}} 151 | ramp-volume-0 = " " 152 | ramp-volume-1 = " " 153 | ramp-volume-2 = " " 154 | ramp-volume-foreground = ${{colors.foreground}} 155 | 156 | format-muted-prefix = " " 157 | format-muted-foreground = ${{colors.foreground}} 158 | format-muted-background = ${{colors.inactive}} 159 | label-muted = MUTED 160 | format-muted-padding = 1 161 | 162 | [module/battery] 163 | type = internal/battery 164 | battery = BAT1 165 | adapter = ACAD 166 | full-at = 100 167 | 168 | format-charging =  169 | format-charging-padding = 1 170 | format-discharging-padding = 1 171 | format-discharging = 172 | format-full = 173 | format-full-padding = 1 174 | format-full-background = ${{colors.inactive}} 175 | 176 | ramp-capacity-0 =  177 | ramp-capacity-1 =  178 | ramp-capacity-2 =  179 | ramp-capacity-3 =  180 | ramp-capacity-4 =  181 | ramp-capacity-foreground = ${{colors.foreground}} 182 | 183 | animation-charging-foreground = ${{colors.foreground}} 184 | animation-charging-framerate = 500 185 | animation-charging-0 =  186 | animation-charging-1 =  187 | animation-charging-2 =  188 | animation-charging-3 =  189 | animation-charging-4 =  190 | format-charging-background = ${{colors.inactive}} 191 | format-discharging-background = ${{colors.inactive}} 192 | 193 | [settings] 194 | screenchange-reload = true 195 | 196 | [global/wm] 197 | margin-top = 5 198 | margin-bottom = 0 199 | 200 | ; vim:ft=dosini 201 | -------------------------------------------------------------------------------- /.bashrc: -------------------------------------------------------------------------------- 1 | # 2 | # ~/.bashrc 3 | # 4 | 5 | ## Base16 Shell 6 | BASE16_SHELL="$HOME/.config/base16-shell/" 7 | [ -n "$PS1" ] && \ 8 | [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ 9 | eval "$("$BASE16_SHELL/profile_helper.sh")" 10 | 11 | 12 | [[ $- != *i* ]] && return 13 | 14 | colors() { 15 | local fgc bgc vals seq0 16 | 17 | printf "Color escapes are %s\n" '\e[${value};...;${value}m' 18 | printf "Values 30..37 are \e[33mforeground colors\e[m\n" 19 | printf "Values 40..47 are \e[43mbackground colors\e[m\n" 20 | printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n" 21 | 22 | # foreground colors 23 | for fgc in {30..37}; do 24 | # background colors 25 | for bgc in {40..47}; do 26 | fgc=${fgc#37} # white 27 | bgc=${bgc#40} # black 28 | 29 | vals="${fgc:+$fgc;}${bgc}" 30 | vals=${vals%%;} 31 | 32 | seq0="${vals:+\e[${vals}m}" 33 | printf " %-9s" "${seq0:-(default)}" 34 | printf " ${seq0}TEXT\e[m" 35 | printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" 36 | done 37 | echo; echo 38 | done 39 | } 40 | 41 | [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion 42 | 43 | # Change the window title of X terminals 44 | case ${TERM} in 45 | xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) 46 | PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' 47 | ;; 48 | screen*) 49 | PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' 50 | ;; 51 | esac 52 | 53 | use_color=true 54 | 55 | # Set colorful PS1 only on colorful terminals. 56 | # dircolors --print-database uses its own built-in database 57 | # instead of using /etc/DIR_COLORS. Try to use the external file 58 | # first to take advantage of user additions. Use internal bash 59 | # globbing instead of external grep binary. 60 | safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM 61 | match_lhs="" 62 | [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" 63 | [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ 66 | && match_lhs=$(dircolors --print-database) 67 | [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true 68 | 69 | if ${use_color} ; then 70 | # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 71 | if type -P dircolors >/dev/null ; then 72 | if [[ -f ~/.dir_colors ]] ; then 73 | eval $(dircolors -b ~/.dir_colors) 74 | elif [[ -f /etc/DIR_COLORS ]] ; then 75 | eval $(dircolors -b /etc/DIR_COLORS) 76 | fi 77 | fi 78 | 79 | if [[ ${EUID} == 0 ]] ; then 80 | PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] ' 81 | else 82 | PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] ' 83 | fi 84 | 85 | alias ls='ls --color=auto' 86 | alias grep='grep --colour=auto' 87 | alias egrep='egrep --colour=auto' 88 | alias fgrep='fgrep --colour=auto' 89 | else 90 | if [[ ${EUID} == 0 ]] ; then 91 | # show root@ when we don't have colors 92 | PS1='\u@\h \W \$ ' 93 | else 94 | PS1='\u@\h \w \$ ' 95 | fi 96 | fi 97 | 98 | unset use_color safe_term match_lhs sh 99 | 100 | alias cp="cp -i" # confirm before overwriting something 101 | alias df='df -h' # human-readable sizes 102 | alias free='free -m' # show sizes in MB 103 | alias np='nano -w PKGBUILD' 104 | alias more=less 105 | 106 | xhost +local:root > /dev/null 2>&1 107 | 108 | complete -cf sudo 109 | 110 | # Bash won't get SIGWINCH if another process is in the foreground. 111 | # Enable checkwinsize so that bash will check the terminal size when 112 | # it regains control. #65623 113 | # http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) 114 | shopt -s checkwinsize 115 | 116 | shopt -s expand_aliases 117 | 118 | # export QT_SELECT=4 119 | 120 | # Enable history appending instead of overwriting. #139609 121 | shopt -s histappend 122 | 123 | # 124 | # # ex - archive extractor 125 | # # usage: ex 126 | ex () 127 | { 128 | if [ -f $1 ] ; then 129 | case $1 in 130 | *.tar.bz2) tar xjf $1 ;; 131 | *.tar.gz) tar xzf $1 ;; 132 | *.bz2) bunzip2 $1 ;; 133 | *.rar) unrar x $1 ;; 134 | *.gz) gunzip $1 ;; 135 | *.tar) tar xf $1 ;; 136 | *.tbz2) tar xjf $1 ;; 137 | *.tgz) tar xzf $1 ;; 138 | *.zip) unzip $1 ;; 139 | *.Z) uncompress $1;; 140 | *.7z) 7z x $1 ;; 141 | *) echo "'$1' cannot be extracted via ex()" ;; 142 | esac 143 | else 144 | echo "'$1' is not a valid file" 145 | fi 146 | } 147 | 148 | # better yaourt colors 149 | export YAOURT_COLORS="nb=1:pkg=1:ver=1;32:lver=1;45:installed=1;42:grp=1;34:od=1;41;5:votes=1;44:dsc=0:other=1;35" 150 | 151 | # user specific commands & env vars 152 | export ANDROID_HOME=/opt/android/sdk 153 | export PATH=$PATH:$ANDROID_HOME/emulator 154 | export PATH=$PATH:$ANDROID_HOME/tools 155 | export PATH=$PATH:$ANDROID_HOME/tools/bin 156 | export PATH=$PATH:$ANDROID_HOME/platform-tools 157 | export PATH=$HOME/scripts:$PATH 158 | 159 | export EDITOR=/usr/bin/vim 160 | export GIT_EDITOR='vim' 161 | export BROWSER=/usr/bin/firefox 162 | export PAGER=/usr/bin/less 163 | 164 | # wpgtk 165 | # cat ~/.config/wpg/sequences 166 | 167 | # aliases 168 | alias vi="vim" 169 | 170 | # ssh 171 | SSH_ENV="$HOME/.ssh/environment" 172 | 173 | function start_agent { 174 | echo "Initialising new SSH agent..." 175 | /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" 176 | echo "Initialization successful" 177 | chmod 600 "${SSH_ENV}" 178 | . "${SSH_ENV}" > /dev/null 179 | /usr/bin/ssh-add; 180 | 181 | echo "Adding private keys to SSH agent..." 182 | for i in $(ls $HOME/.ssh | grep -E "^.*rsa$"); do 183 | ssh-add $HOME/.ssh/$i 184 | done 185 | } 186 | 187 | # Source SSH settings, if applicable 188 | if [ -f "${SSH_ENV}" ]; then 189 | . "${SSH_ENV}" > /dev/null 190 | #ps ${SSH_AGENT_PID} doesn't work under cywgin 191 | ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { 192 | start_agent; 193 | } 194 | else 195 | start_agent; 196 | fi 197 | 198 | -------------------------------------------------------------------------------- /.vimrc: -------------------------------------------------------------------------------- 1 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 2 | " ZACH'S VIMRC " 3 | " CONFIGURED FOR C/C++ DEVELOPMENT " 4 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 5 | 6 | 7 | 8 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 9 | " => VIM INITIAL SETUP 10 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 11 | 12 | " Init temporary files' directory structure 13 | if empty(glob("~/.vim/temp_dirs")) 14 | silent !mkdir -p ~/.vim/temp_dirs/backups 15 | silent !mkdir -p ~/.vim/temp_dirs/swap 16 | silent !mkdir -p ~/.vim/temp_dirs/undodir 17 | endif 18 | 19 | " Init plugin directory 20 | if empty(glob("~/.vim/plugins")) 21 | silent !mkdir -p ~/.vim/plugins 22 | endif 23 | 24 | " Download vim-plug if not present 25 | if empty(glob('~/.vim/autoload/plug.vim')) 26 | silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs 27 | \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 28 | autocmd VimEnter * PlugInstall --sync | source $MYVIMRC 29 | endif 30 | 31 | 32 | 33 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 34 | " => VIM-PLUG PLUGIN MANAGER 35 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 36 | 37 | call plug#begin('~/.vim/plugins') 38 | 39 | " Plugin Suite made by Google 40 | Plug 'google/vim-maktaba' 41 | Plug 'google/vim-codefmt' 42 | Plug 'google/vim-glaive' 43 | 44 | " Plugin for WPGTK & Pywal colorscheming 45 | "Plug 'deviantfero/wpgtk.vim' 46 | 47 | " Plugin for asynchronous linting/fixing 48 | Plug 'w0rp/ale' 49 | 50 | " Plugin for surrounding text with quotes, peren., brackets, etc. 51 | Plug 'tpope/vim-surround' 52 | 53 | " A light and configurable statusline/tabline 54 | Plug 'itchyny/lightline.vim' 55 | 56 | " Solarized8 for Vim 57 | Plug 'lifepillar/vim-solarized8' 58 | 59 | " Base16 for Vim 60 | "Plug 'chriskempson/base16-vim/' 61 | 62 | call plug#end() 63 | 64 | call glaive#Install() 65 | 66 | 67 | 68 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 69 | " => PLUGIN CONFIGURATION 70 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 71 | 72 | 73 | """"""""""""""""" ALE """"""""""""""""" 74 | " Set linters, notably: Google's cpplint for C/C++ linting 75 | let g:ale_linters = { 76 | \ 'javascript': ['jshint'], 77 | \ 'python': ['flake8'], 78 | \ 'go': ['go', 'golint', 'errcheck'], 79 | \ 'c': ['gcc', 'cpplint'], 80 | \ 'cc': ['g++', 'cpplint'], 81 | \ 'cpp': ['g++', 'cpplint'], 82 | \ 'h': ['g++', 'cpplint'] 83 | \} 84 | 85 | " Disabling highlighting 86 | let g:ale_set_highlights = 1 87 | 88 | " C/C++ Options 89 | "let g:ale_c_clang_options = '-Wall' 90 | 91 | " Lint on leave insert mode 92 | let g:ale_lint_on_text_changed = 'always' 93 | 94 | " Javascript fixer 95 | let g:ale_fixers = { 96 | \ 'javascript': ['eslint'], 97 | \ } 98 | 99 | let g:ale_fix_on_save = 0 100 | 101 | 102 | """"""""""""""""" SURROUND """"""""""""""""" 103 | vmap Si S(i_f) 104 | au FileType mako vmap Si S"i${ _(2f"a) } 105 | 106 | 107 | """"""""""""""""" LIGHTLINE """"""""""""""""" 108 | " Statusbar color and formatting 109 | let g:lightline = { 110 | \ 'colorscheme': 'wombat', 111 | \ } 112 | 113 | let g:lightline = { 114 | \ 'colorscheme': 'solarized', 115 | \ 'active': { 116 | \ 'left': [ ['mode', 'paste'], 117 | \ ['fugitive', 'readonly', 'filename', 'modified'] ], 118 | \ 'right': [ [ 'lineinfo' ], ['percent'] ] 119 | \ }, 120 | \ 'component': { 121 | \ 'readonly': '%{&filetype=="help"?"":&readonly?"🔒":""}', 122 | \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}', 123 | \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}' 124 | \ }, 125 | \ 'component_visible_condition': { 126 | \ 'readonly': '(&filetype!="help"&& &readonly)', 127 | \ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))', 128 | \ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())' 129 | \ }, 130 | \ 'separator': { 'left': ' ', 'right': ' ' }, 131 | \ 'subseparator': { 'left': ' ', 'right': ' ' } 132 | \ } 133 | 134 | 135 | """"""""""""""""" VIM-CODEDMT """"""""""""""""" 136 | " Auto-formatting 137 | augroup autoformat_settings 138 | autocmd FileType bzl AutoFormatBuffer buildifier 139 | autocmd FileType c,cc,cpp,proto,javascript AutoFormatBuffer clang-format 140 | autocmd FileType dart AutoFormatBuffer dartfmt 141 | autocmd FileType go AutoFormatBuffer gofmt 142 | autocmd FileType gn AutoFormatBuffer gn 143 | autocmd FileType html,css,sass,scss,less,json AutoFormatBuffer js-beautify 144 | autocmd FileType java AutoFormatBuffer google-java-format 145 | autocmd FileType python AutoFormatBuffer yapf 146 | " Alternative: autocmd FileType python AutoFormatBuffer autopep8 147 | augroup END 148 | 149 | " use google style for clang-format 150 | Glaive codefmt clang_format_style='google' 151 | 152 | 153 | 154 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 155 | " => General 156 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 157 | 158 | " Sets how many lines of history VIM remembers 159 | set history=500 160 | 161 | " Enable filetype plugins 162 | filetype plugin on 163 | filetype indent on 164 | 165 | " Set to auto read when a file is changed from the outside 166 | set autoread 167 | 168 | " :W sudo saves the file 169 | " (useful for handling the permission-denied error) 170 | command W w !sudo tee % > /dev/null 171 | 172 | " Set Vim clipboard to global clipboard 173 | set clipboard=unnamedplus 174 | 175 | " Set language 176 | let $LANG='en' 177 | set langmenu=en 178 | 179 | " Set utf8 as standard encoding and en_US as the standard language 180 | set encoding=utf8 181 | 182 | " Use Unix as the standard file type 183 | set ffs=unix,dos,mac 184 | 185 | " Set .viminfo location to temp_dir 186 | set viminfo+=n~/.vim/temp_dirs/viminfo 187 | 188 | " Turn persistent undo on 189 | set undodir=~/.vim/temp_dirs/undodir 190 | set undofile 191 | 192 | " Backup files directory 193 | set backupdir=~/.vim/temp_dirs/backups 194 | 195 | " Swap files directory 196 | set dir=~/.vim/temp_dirs/swap 197 | 198 | " Create a backup files 199 | set backup 200 | set writebackup 201 | 202 | " Create swap files 203 | set swapfile 204 | 205 | " Do not store network history 206 | let g:netrw_dirhistmax = 0 207 | 208 | 209 | 210 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 211 | " => VIM UI 212 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 213 | 214 | " force vim to use 256 colors 215 | set t_Co=256 216 | 217 | " Enable syntax highlighting 218 | syntax enable 219 | 220 | " Set light/dark mode 221 | set background=light 222 | 223 | " Colorscheme 224 | try 225 | set termguicolors 226 | colorscheme solarized8_high 227 | catch 228 | colorscheme default 229 | endtry 230 | 231 | " Set font 232 | set gfn=Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11 233 | 234 | " Set hybrid relative line numbering 235 | set number relativenumber 236 | set nu rnu 237 | 238 | " Always show current position 239 | set ruler 240 | 241 | " Set 7 lines to the cursor - when moving vertically using j/k 242 | set so=7 243 | 244 | " Disable scrollbars 245 | set guioptions-=r 246 | set guioptions-=R 247 | set guioptions-=l 248 | set guioptions-=L 249 | 250 | " Height of the command bar 251 | set cmdheight=1 252 | 253 | " Left margin 254 | set foldcolumn=1 255 | 256 | " Always show the status line 257 | set laststatus=2 258 | 259 | " Format the status line 260 | set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c 261 | 262 | 263 | 264 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 265 | " => VIM behavior 266 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 267 | 268 | " Fix default backspace 269 | set backspace=eol,start,indent 270 | set whichwrap+=<,>,h,l 271 | 272 | " Remap VIM 0 to first non-blank character 273 | map 0 ^ 274 | 275 | " Return to last edit position when opening files 276 | au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif 277 | 278 | " Delete trailing white space on save 279 | fun! CleanExtraSpaces() 280 | let save_cursor = getpos(".") 281 | let old_query = getreg('/') 282 | silent! %s/\s\+$//e 283 | call setpos('.', save_cursor) 284 | call setreg('/', old_query) 285 | endfun 286 | 287 | if has("autocmd") 288 | autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee,*.c,*.cc,*.cpp,*.h :call CleanExtraSpaces() 289 | endif 290 | 291 | " Ignore case when searching 292 | set ignorecase 293 | 294 | " When searching try to be smart about cases 295 | set smartcase 296 | 297 | " Highlight search results 298 | set hlsearch 299 | 300 | " Makes search act like search in modern browsers 301 | set incsearch 302 | 303 | " Don't redraw while executing macros (good performance config) 304 | set lazyredraw 305 | 306 | " For regular expressions 307 | set magic 308 | 309 | " Show matching brackets when text indicator is over them 310 | set showmatch 311 | " How many tenths of a second to blink when matching brackets 312 | set mat=2 313 | 314 | " No annoying sound on errors 315 | set noerrorbells 316 | set novisualbell 317 | set t_vb= 318 | set tm=500 319 | 320 | 321 | 322 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 323 | " => Tab and Indent 324 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 325 | 326 | " Use spaces instead of tabs 327 | set expandtab 328 | 329 | " Be smart when using tabs 330 | set smarttab 331 | 332 | " 1 tab == 4 spaces 333 | set shiftwidth=4 334 | set tabstop=4 335 | 336 | " indent for special file 337 | autocmd FileType c,cc,cpp,h setlocal expandtab shiftwidth=2 softtabstop=2 cindent 338 | 339 | " Linebreak on 500 characters 340 | set lbr 341 | set tw=500 342 | 343 | set ai "Auto indent 344 | set si "Smart indent 345 | set wrap "Wrap lines 346 | 347 | 348 | 349 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 350 | " => Helper functions 351 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 352 | 353 | " Returns true if paste mode is enabled 354 | function! HasPaste() 355 | if &paste 356 | return 'PASTE MODE ' 357 | endif 358 | return '' 359 | endfunction 360 | -------------------------------------------------------------------------------- /i3/config: -------------------------------------------------------------------------------- 1 | # 2 | # i3 config file (v4) 3 | # Please see https://i3wm.org/docs/userguide.html for a complete reference! 4 | 5 | set $coloract "#8f6d01" 6 | set $colorin "#624a01" 7 | set $primary_display "$(get_display.sh primary)" 8 | set $secondary_display "$(get_display.sh secondary)" 9 | set $terminal kitty 10 | set_from_resource $color15 i3wm.color15 "#fdf6e3" 11 | set_from_resource $split i3wm.color10 "#859900" 12 | set_from_resource $coloru i3wm.color2 "#859900" 13 | set_from_resource $color0 i3wm.color0 "#002b36" 14 | set_from_resource $color8 i3wm.color8 "#657b83" 15 | 16 | # Set mod key (Mod1=, Mod4=) 17 | set $mod Mod1 18 | 19 | # Configure border style 20 | new_window pixel 2 21 | new_float pixel 1 22 | 23 | # Hide borders 24 | hide_edge_borders vertical 25 | 26 | # Font for window titles. Will also be used by the bar unless a different font 27 | # is used in the bar {} block below. 28 | font xft:Source Code Pro 10.5 29 | 30 | # Default gaps 31 | gaps inner 10 32 | gaps outer 0 33 | 34 | ######### COLORS ########## 35 | # class border backgr text indicator child_border 36 | client.focused $coloract $coloract $color15 $split $coloract 37 | client.focused_inactive $color0 $color0 $color15 $split $color0 38 | client.unfocused $color0 $color0 $color15 $split $color0 39 | client.urgent $coloru $coloru $color15 $coloru $coloru 40 | client.placeholder $color0 $color8 $color15 $color0 $color8 41 | client.background $color0 42 | 43 | # Use Mouse+$mod to drag floating windows 44 | floating_modifier $mod 45 | 46 | 47 | ###### SOUND ####### 48 | exec --no-startup-id volumeicon 49 | exec --no-startup-id pulseaudio 50 | bindsym $mod+Ctrl+m exec pavucontrol 51 | #exec --no-startup-id pa-applet 52 | # Media Keys 53 | bindsym XF86AudioPlay exec playerctl play-pause 54 | bindsym XF86AudioPrev exec playerctl previous 55 | bindsym XF86AudioNext exec playerctl next 56 | 57 | 58 | ###### POWER ###### 59 | bindsym $mod+p exec ~/.config/rofi/menu/SYSTEM 60 | bindsym XF86Sleep exec i3exit suspend 61 | bindsym XF86PowerOff exec i3exit poweroff 62 | 63 | bindsym $mod+Shift+plus exec xbacklight -inc 10 64 | bindsym $mod+Shift+minus exec xbacklight -dec 10 65 | 66 | ###### APPLICATIONS ###### 67 | # Start up 68 | # exec --no-startup-id xfce4-power-manager 69 | exec --no-startup-id ~/.config/wpg/wp_init.sh 70 | # exec --no-startup-id urxvtd 71 | exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 72 | exec --no-startup-id nitrogen --restore; sleep 1; compton -b 73 | exec --no-startup-id nm-applet 74 | exec --no-startup-id clipit 75 | exec --no-startup-id blueman-applet 76 | exec --no-startup-id feh --bg-fill --no-xinerama ~/pictures/wallpapers/current/wallpaper 77 | exec --no-startup-id betterlockscreen -u ~/pictures/wallpapers/current/wallpaper -b 3 78 | exec --no-startup-id xautolock -time 5 -locker "i3exit lock" -killtime 10 -killer "xset dpms force off" -nowlocker "betterlockscreen -l blur" 79 | exec redshift -l 42.0:-93.6 -t 4500:3000 -g 0.8 -m randr -v 80 | 81 | # Restart 82 | exec_always --no-startup-id ~/scripts/set-wallpaper.sh 83 | exec_always --no-startup-id ~/.config/polybar/launch.sh 84 | exec_always --no-startup-id setxkbmap -option caps:swapescape 85 | exec_always --no-startup-id sbxkb 86 | exec_always --no-startup-id ff-theme-util 87 | exec_always --no-startup-id fix_xcursor 88 | 89 | 90 | ###### CUSTOM KEYBINDINGS ####### 91 | # Essential 92 | bindsym $mod+d exec "bash ~/.config/rofi/menu/SEARCH" 93 | bindsym $mod+Return exec $terminal 94 | bindsym $mod+Shift+q kill 95 | # Useful, but not used often 96 | bindsym Print exec --no-startup-id i3-scrot 97 | bindsym $mod+Ctrl+b exec $terminal -e 'bmenu' 98 | bindsym $mod+F2 exec firefox 99 | bindsym $mod+F3 exec ranger 100 | bindsym $mod+t exec --no-startup-id pkill compton 101 | bindsym $mod+Ctrl+t exec --no-startup-id compton -b 102 | bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" 103 | bindsym $mod+Print --release exec --no-startup-id i3-scrot -w 104 | bindsym $mod+Ctrl+x --release exec --no-startup-id xkill 105 | 106 | # enter fullscreen mode for the focused container 107 | bindsym $mod+f fullscreen toggle;exec ~/scripts/toggle-xautolock.sh 108 | 109 | # change focus 110 | bindsym $mod+h focus left 111 | bindsym $mod+j focus down 112 | bindsym $mod+k focus up 113 | bindsym $mod+l focus right 114 | 115 | # alternatively, you can use the cursor keys: 116 | bindsym $mod+Left focus left 117 | bindsym $mod+Down focus down 118 | bindsym $mod+Up focus up 119 | bindsym $mod+Right focus right 120 | 121 | # move focused window 122 | bindsym $mod+Shift+h move left 123 | bindsym $mod+Shift+j move down 124 | bindsym $mod+Shift+k move up 125 | bindsym $mod+Shift+l move right 126 | 127 | # alternatively, you can use the cursor keys: 128 | bindsym $mod+Shift+Left move left 129 | bindsym $mod+Shift+Down move down 130 | bindsym $mod+Shift+Up move up 131 | bindsym $mod+Shift+Right move right 132 | 133 | # split in horizontal and vertical orientation 134 | bindsym $mod+v split v 135 | bindsym $mod+n split h 136 | 137 | # change container layout (stacked, tabbed, toggle split) 138 | bindsym $mod+Shift+t layout tabbed 139 | bindsym $mod+Shift+s layout stacked 140 | bindsym $mod+Shift+e layout toggle split 141 | 142 | # toggle tiling / floating 143 | bindsym $mod+Shift+space floating toggle 144 | bindsym $mod+o sticky toggle 145 | 146 | # change focus between tiling / floating windows 147 | bindsym $mod+space focus mode_toggle 148 | 149 | # focus the parent container 150 | #bindsym $mod+p focus parent 151 | 152 | # reload the configuration file 153 | bindsym $mod+Shift+c reload 154 | 155 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 156 | bindsym $mod+Shift+r restart 157 | 158 | # exit i3 (logs you out of your X session) 159 | bindsym $mod+Shift+x exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" 160 | 161 | mode "resize" { 162 | # resize windows 163 | bindsym h resize shrink width 10 px or 5 ppt 164 | bindsym j resize grow height 10 px or 5 ppt 165 | bindsym k resize shrink height 10 px or 5 ppt 166 | bindsym l resize grow width 10 px or 5 ppt 167 | 168 | # resize gaps 169 | bindsym minus gaps outer current plus 10 170 | bindsym plus gaps outer current minus 10 171 | bindsym Shift+minus gaps inner current plus 10 172 | bindsym Shift+plus gaps inner current minus 10 173 | 174 | # move windows 175 | bindsym Shift+l move right 30 176 | bindsym Shift+j move down 30 177 | bindsym Shift+k move up 30 178 | bindsym Shift+h move left 30 179 | 180 | bindsym Return mode "default" 181 | bindsym Escape mode "default" 182 | } 183 | 184 | bindsym $mod+r mode "resize" 185 | 186 | 187 | ###### WORKSPACES ###### 188 | # switch to workspace 189 | bindsym $mod+1 workspace 1 190 | bindsym $mod+2 workspace 2 191 | bindsym $mod+3 workspace 3 192 | bindsym $mod+4 workspace 4 193 | bindsym $mod+5 workspace 5 194 | bindsym $mod+6 workspace 6 195 | bindsym $mod+7 workspace 7 196 | bindsym $mod+8 workspace 8 197 | bindsym $mod+9 workspace 9 198 | bindsym $mod+0 workspace 10 199 | 200 | # assign output device to workspaces 201 | # exec --no-startup-id i3-msg "workspace 1 output $secondary_display" 202 | # exec --no-startup-id i3-msg "workspace 2 output $secondary_display" 203 | # exec --no-startup-id i3-msg "workspace 3 output $secondary_display" 204 | # exec --no-startup-id i3-msg "workspace 4 output $secondary_display" 205 | # exec --no-startup-id i3-msg "workspace 5 output $secondary_display" 206 | # exec --no-startup-id i3-msg "workspace 6 output $primary_display" 207 | # exec --no-startup-id i3-msg "workspace 7 output $primary_display" 208 | # exec --no-startup-id i3-msg "workspace 8 output $primary_display" 209 | # exec --no-startup-id i3-msg "workspace 9 output $primary_display" 210 | # exec --no-startup-id i3-msg "workspace 10 output $primary_display" 211 | 212 | # move focused container to workspace 213 | bindsym $mod+Shift+1 move container to workspace 1 214 | bindsym $mod+Shift+2 move container to workspace 2 215 | bindsym $mod+Shift+3 move container to workspace 3 216 | bindsym $mod+Shift+4 move container to workspace 4 217 | bindsym $mod+Shift+5 move container to workspace 5 218 | bindsym $mod+Shift+6 move container to workspace 6 219 | bindsym $mod+Shift+7 move container to workspace 7 220 | bindsym $mod+Shift+8 move container to workspace 8 221 | bindsym $mod+Shift+9 move container to workspace 9 222 | bindsym $mod+Shift+0 move container to workspace 10 223 | 224 | ##### WINDOWS ###### 225 | # assign [title = "gotop"] 1 226 | # assign [class = "Firefox"] 6 227 | # assign [class = "Spotify"] 10 228 | # assign [class = "Slack"] 10 229 | # assign [class = "DBeaver"] 3 230 | # assign [class = "zoom"] 9 231 | # assign [instance = "music"] 10 232 | 233 | for_window [class="Clamtk"] floating enable 234 | for_window [class="Anki" title="Add"] floating enable 235 | for_window [class="Anki" title="Edit Current"] floating enable 236 | for_window [class="Wpg"] floating enable 237 | for_window [title="alsamixer"] floating enable border pixel 1 238 | for_window [class="Calamares"] floating enable border normal 239 | for_window [class="Clipgrab"] floating enable 240 | for_window [title="File Transfer*"] floating enable 241 | for_window [class="Galculator"] floating enable border pixel 1 242 | for_window [class="GParted"] floating enable border normal 243 | for_window [title="i3_help"] floating enable sticky enable border normal 244 | for_window [class="Lightdm-settings"] floating enable 245 | for_window [class="Lxappearance"] floating enable sticky enable border normal 246 | for_window [class="Manjaro Settings Manager"] floating enable border normal 247 | for_window [title="MuseScore: Play Panel"] floating enable 248 | for_window [class="Nitrogen"] floating enable sticky enable border normal 249 | for_window [class="Oblogout"] fullscreen enable 250 | for_window [class="octopi"] floating enable 251 | for_window [title="About Pale Moon"] floating enable 252 | for_window [class="Pamac-manager"] floating enable 253 | for_window [class="Pavucontrol"] floating enable 254 | for_window [class="qt5ct"] floating enable sticky enable border normal 255 | for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal 256 | for_window [class="Simple-scan"] floating enable border normal 257 | for_window [class="(?i)System-config-printer.py"] floating enable border normal 258 | for_window [class="Skype"] floating enable border normal 259 | for_window [class="Timeset-gui"] floating enable border normal 260 | for_window [class="(?i)virtualbox"] floating enable border normal 261 | for_window [class="Xfburn"] floating enable 262 | for_window [class="hw4.TicTacToe"] floating enable 263 | 264 | # switch to workspace with urgent window automatically 265 | for_window [urgent=latest] focus 266 | -------------------------------------------------------------------------------- /wpg/templates/i3.base: -------------------------------------------------------------------------------- 1 | # 2 | # i3 config file (v4) 3 | # Please see https://i3wm.org/docs/userguide.html for a complete reference! 4 | 5 | set $coloract "{active}" 6 | set $colorin "{inactive}" 7 | set $primary_display "$(get_display.sh primary)" 8 | set $secondary_display "$(get_display.sh secondary)" 9 | set $terminal kitty 10 | set_from_resource $color15 i3wm.color15 "{color15}" 11 | set_from_resource $split i3wm.color10 "{color10}" 12 | set_from_resource $coloru i3wm.color2 "{color2}" 13 | set_from_resource $color0 i3wm.color0 "{color0}" 14 | set_from_resource $color8 i3wm.color8 "{color8}" 15 | 16 | # Set mod key (Mod1=, Mod4=) 17 | set $mod Mod1 18 | 19 | # Configure border style 20 | new_window pixel 2 21 | new_float pixel 1 22 | 23 | # Hide borders 24 | hide_edge_borders vertical 25 | 26 | # Font for window titles. Will also be used by the bar unless a different font 27 | # is used in the bar {{}} block below. 28 | font xft:Source Code Pro 10.5 29 | 30 | # Default gaps 31 | gaps inner 10 32 | gaps outer 0 33 | 34 | ######### COLORS ########## 35 | # class border backgr text indicator child_border 36 | client.focused $coloract $coloract $color15 $split $coloract 37 | client.focused_inactive $color0 $color0 $color15 $split $color0 38 | client.unfocused $color0 $color0 $color15 $split $color0 39 | client.urgent $coloru $coloru $color15 $coloru $coloru 40 | client.placeholder $color0 $color8 $color15 $color0 $color8 41 | client.background $color0 42 | 43 | # Use Mouse+$mod to drag floating windows 44 | floating_modifier $mod 45 | 46 | 47 | ###### SOUND ####### 48 | exec --no-startup-id volumeicon 49 | exec --no-startup-id pulseaudio 50 | bindsym $mod+Ctrl+m exec pavucontrol 51 | #exec --no-startup-id pa-applet 52 | # Media Keys 53 | bindsym XF86AudioPlay exec playerctl play-pause 54 | bindsym XF86AudioPrev exec playerctl previous 55 | bindsym XF86AudioNext exec playerctl next 56 | 57 | 58 | ###### POWER ###### 59 | bindsym $mod+p exec ~/.config/rofi/menu/SYSTEM 60 | bindsym XF86Sleep exec i3exit suspend 61 | bindsym XF86PowerOff exec i3exit poweroff 62 | 63 | bindsym $mod+Shift+plus exec xbacklight -inc 10 64 | bindsym $mod+Shift+minus exec xbacklight -dec 10 65 | 66 | ###### APPLICATIONS ###### 67 | # Start up 68 | # exec --no-startup-id xfce4-power-manager 69 | exec --no-startup-id ~/.config/wpg/wp_init.sh 70 | # exec --no-startup-id urxvtd 71 | exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 72 | exec --no-startup-id nitrogen --restore; sleep 1; compton -b 73 | exec --no-startup-id nm-applet 74 | exec --no-startup-id clipit 75 | exec --no-startup-id blueman-applet 76 | exec --no-startup-id feh --bg-fill --no-xinerama ~/pictures/wallpapers/current/wallpaper 77 | exec --no-startup-id betterlockscreen -u ~/pictures/wallpapers/current/wallpaper -b 3 78 | exec --no-startup-id xautolock -time 5 -locker "i3exit lock" -killtime 10 -killer "xset dpms force off" -nowlocker "betterlockscreen -l blur" 79 | exec redshift -l 42.0:-93.6 -t 4500:3000 -g 0.8 -m randr -v 80 | 81 | # Restart 82 | exec_always --no-startup-id ~/scripts/set-wallpaper.sh 83 | exec_always --no-startup-id ~/.config/polybar/launch.sh 84 | exec_always --no-startup-id setxkbmap -option caps:swapescape 85 | exec_always --no-startup-id sbxkb 86 | exec_always --no-startup-id ff-theme-util 87 | exec_always --no-startup-id fix_xcursor 88 | 89 | 90 | ###### CUSTOM KEYBINDINGS ####### 91 | # Essential 92 | bindsym $mod+d exec "bash ~/.config/rofi/menu/SEARCH" 93 | bindsym $mod+Return exec $terminal 94 | bindsym $mod+Shift+q kill 95 | # Useful, but not used often 96 | bindsym Print exec --no-startup-id i3-scrot 97 | bindsym $mod+Ctrl+b exec $terminal -e 'bmenu' 98 | bindsym $mod+F2 exec firefox 99 | bindsym $mod+F3 exec ranger 100 | bindsym $mod+t exec --no-startup-id pkill compton 101 | bindsym $mod+Ctrl+t exec --no-startup-id compton -b 102 | bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" 103 | bindsym $mod+Print --release exec --no-startup-id i3-scrot -w 104 | bindsym $mod+Ctrl+x --release exec --no-startup-id xkill 105 | 106 | # enter fullscreen mode for the focused container 107 | bindsym $mod+f fullscreen toggle;exec ~/scripts/toggle-xautolock.sh 108 | 109 | # change focus 110 | bindsym $mod+h focus left 111 | bindsym $mod+j focus down 112 | bindsym $mod+k focus up 113 | bindsym $mod+l focus right 114 | 115 | # alternatively, you can use the cursor keys: 116 | bindsym $mod+Left focus left 117 | bindsym $mod+Down focus down 118 | bindsym $mod+Up focus up 119 | bindsym $mod+Right focus right 120 | 121 | # move focused window 122 | bindsym $mod+Shift+h move left 123 | bindsym $mod+Shift+j move down 124 | bindsym $mod+Shift+k move up 125 | bindsym $mod+Shift+l move right 126 | 127 | # alternatively, you can use the cursor keys: 128 | bindsym $mod+Shift+Left move left 129 | bindsym $mod+Shift+Down move down 130 | bindsym $mod+Shift+Up move up 131 | bindsym $mod+Shift+Right move right 132 | 133 | # split in horizontal and vertical orientation 134 | bindsym $mod+v split v 135 | bindsym $mod+n split h 136 | 137 | # change container layout (stacked, tabbed, toggle split) 138 | bindsym $mod+Shift+t layout tabbed 139 | bindsym $mod+Shift+s layout stacked 140 | bindsym $mod+Shift+e layout toggle split 141 | 142 | # toggle tiling / floating 143 | bindsym $mod+Shift+space floating toggle 144 | bindsym $mod+o sticky toggle 145 | 146 | # change focus between tiling / floating windows 147 | bindsym $mod+space focus mode_toggle 148 | 149 | # focus the parent container 150 | #bindsym $mod+p focus parent 151 | 152 | # reload the configuration file 153 | bindsym $mod+Shift+c reload 154 | 155 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 156 | bindsym $mod+Shift+r restart 157 | 158 | # exit i3 (logs you out of your X session) 159 | bindsym $mod+Shift+x exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" 160 | 161 | mode "resize" {{ 162 | # resize windows 163 | bindsym h resize shrink width 10 px or 5 ppt 164 | bindsym j resize grow height 10 px or 5 ppt 165 | bindsym k resize shrink height 10 px or 5 ppt 166 | bindsym l resize grow width 10 px or 5 ppt 167 | 168 | # resize gaps 169 | bindsym minus gaps outer current plus 10 170 | bindsym plus gaps outer current minus 10 171 | bindsym Shift+minus gaps inner current plus 10 172 | bindsym Shift+plus gaps inner current minus 10 173 | 174 | # move windows 175 | bindsym Shift+l move right 30 176 | bindsym Shift+j move down 30 177 | bindsym Shift+k move up 30 178 | bindsym Shift+h move left 30 179 | 180 | bindsym Return mode "default" 181 | bindsym Escape mode "default" 182 | }} 183 | 184 | bindsym $mod+r mode "resize" 185 | 186 | 187 | ###### WORKSPACES ###### 188 | # switch to workspace 189 | bindsym $mod+1 workspace 1 190 | bindsym $mod+2 workspace 2 191 | bindsym $mod+3 workspace 3 192 | bindsym $mod+4 workspace 4 193 | bindsym $mod+5 workspace 5 194 | bindsym $mod+6 workspace 6 195 | bindsym $mod+7 workspace 7 196 | bindsym $mod+8 workspace 8 197 | bindsym $mod+9 workspace 9 198 | bindsym $mod+0 workspace 10 199 | 200 | # assign output device to workspaces 201 | # exec --no-startup-id i3-msg "workspace 1 output $secondary_display" 202 | # exec --no-startup-id i3-msg "workspace 2 output $secondary_display" 203 | # exec --no-startup-id i3-msg "workspace 3 output $secondary_display" 204 | # exec --no-startup-id i3-msg "workspace 4 output $secondary_display" 205 | # exec --no-startup-id i3-msg "workspace 5 output $secondary_display" 206 | # exec --no-startup-id i3-msg "workspace 6 output $primary_display" 207 | # exec --no-startup-id i3-msg "workspace 7 output $primary_display" 208 | # exec --no-startup-id i3-msg "workspace 8 output $primary_display" 209 | # exec --no-startup-id i3-msg "workspace 9 output $primary_display" 210 | # exec --no-startup-id i3-msg "workspace 10 output $primary_display" 211 | 212 | # move focused container to workspace 213 | bindsym $mod+Shift+1 move container to workspace 1 214 | bindsym $mod+Shift+2 move container to workspace 2 215 | bindsym $mod+Shift+3 move container to workspace 3 216 | bindsym $mod+Shift+4 move container to workspace 4 217 | bindsym $mod+Shift+5 move container to workspace 5 218 | bindsym $mod+Shift+6 move container to workspace 6 219 | bindsym $mod+Shift+7 move container to workspace 7 220 | bindsym $mod+Shift+8 move container to workspace 8 221 | bindsym $mod+Shift+9 move container to workspace 9 222 | bindsym $mod+Shift+0 move container to workspace 10 223 | 224 | ##### WINDOWS ###### 225 | # assign [title = "gotop"] 1 226 | # assign [class = "Firefox"] 6 227 | # assign [class = "Spotify"] 10 228 | # assign [class = "Slack"] 10 229 | # assign [class = "DBeaver"] 3 230 | # assign [class = "zoom"] 9 231 | # assign [instance = "music"] 10 232 | 233 | for_window [class="Clamtk"] floating enable 234 | for_window [class="Anki" title="Add"] floating enable 235 | for_window [class="Anki" title="Edit Current"] floating enable 236 | for_window [class="Wpg"] floating enable 237 | for_window [title="alsamixer"] floating enable border pixel 1 238 | for_window [class="Calamares"] floating enable border normal 239 | for_window [class="Clipgrab"] floating enable 240 | for_window [title="File Transfer*"] floating enable 241 | for_window [class="Galculator"] floating enable border pixel 1 242 | for_window [class="GParted"] floating enable border normal 243 | for_window [title="i3_help"] floating enable sticky enable border normal 244 | for_window [class="Lightdm-settings"] floating enable 245 | for_window [class="Lxappearance"] floating enable sticky enable border normal 246 | for_window [class="Manjaro Settings Manager"] floating enable border normal 247 | for_window [title="MuseScore: Play Panel"] floating enable 248 | for_window [class="Nitrogen"] floating enable sticky enable border normal 249 | for_window [class="Oblogout"] fullscreen enable 250 | for_window [class="octopi"] floating enable 251 | for_window [title="About Pale Moon"] floating enable 252 | for_window [class="Pamac-manager"] floating enable 253 | for_window [class="Pavucontrol"] floating enable 254 | for_window [class="qt5ct"] floating enable sticky enable border normal 255 | for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal 256 | for_window [class="Simple-scan"] floating enable border normal 257 | for_window [class="(?i)System-config-printer.py"] floating enable border normal 258 | for_window [class="Skype"] floating enable border normal 259 | for_window [class="Timeset-gui"] floating enable border normal 260 | for_window [class="(?i)virtualbox"] floating enable border normal 261 | for_window [class="Xfburn"] floating enable 262 | for_window [class="hw4.TicTacToe"] floating enable 263 | 264 | # switch to workspace with urgent window automatically 265 | for_window [urgent=latest] focus 266 | -------------------------------------------------------------------------------- /wpg/templates/gtk2.base: -------------------------------------------------------------------------------- 1 | #modded Numix gtkrc 2 | 3 | gtk-color-scheme = "bg_color:{color0} 4 | color0:{color0} 5 | color1:{color1} 6 | color2:{color2} 7 | color3:{color3} 8 | color4:{color4} 9 | color5:{color5} 10 | color6:{color6} 11 | color7:{color7} 12 | color8:{color8} 13 | color9:{color9} 14 | color10:{color10} 15 | color11:{color11} 16 | color12:{color12} 17 | color13:{color13} 18 | color14:{color14} 19 | color15:{color15} 20 | text_color:{color15} 21 | selected_bg_color:{active} 22 | selected_fg_color:{color15} 23 | tooltip_bg_color:{color0} 24 | tooltip_fg_color:{color15} 25 | titlebar_bg_color:{color0} 26 | titlebar_fg_color:{color15} 27 | menu_bg_color:{color0} 28 | menu_fg_color:{color15} 29 | link_color:{active}" 30 | gtk-auto-mnemonics = 1 31 | 32 | # Default Style 33 | # DO --NOT-- CHANGE ACTIVE 34 | # IT's THE COLOR THAT WPGTK REPLACES 35 | # FEEL FREE TO MODIFY EVERYTHING ELSE IN gtkrc.base 36 | 37 | style "murrine-default" {{ 38 | GtkArrow::arrow-scaling= 0.6 39 | 40 | GtkButton::child-displacement-x = 0 41 | GtkButton::child-displacement-y = 0 42 | 43 | GtkButton::default-border = {{ 0, 0, 0, 0 }} 44 | 45 | GtkButtonBox::child-min-height = 26 46 | 47 | GtkCheckButton::indicator-size = 16 48 | 49 | # The following line hints to gecko (and possibly other appliations) 50 | # that the entry should be drawn transparently on the canvas. 51 | # Without this, gecko will fill in the background of the entry. 52 | GtkEntry::honors-transparent-bg-hint = 1 53 | GtkEntry::state-hint = 0 54 | 55 | GtkExpander::expander-size = 16 56 | 57 | GtkImage::x-ayatana-indicator-dynamic = 1 58 | 59 | GtkMenu::horizontal-padding = 0 60 | GtkMenu::vertical-padding = 0 61 | 62 | GtkMenuBar::internal-padding = 0 63 | GtkMenuBar::window-dragging = 1 64 | 65 | GtkMenuItem::arrow-scaling= 0.5 66 | 67 | GtkPaned::handle-size = 1 68 | 69 | GtkProgressBar::min-horizontal-bar-height = 12 70 | GtkProgressBar::min-vertical-bar-width = 12 71 | 72 | GtkRange::trough-border = 0 73 | GtkRange::slider-width = 8 74 | GtkRange::stepper-size = 12 75 | GtkRange::stepper_spacing = 0 76 | GtkRange::trough-under-steppers = 1 77 | 78 | GtkScale::slider-length = 16 79 | GtkScale::slider-width = 16 80 | GtkScale::trough-side-details = 1 81 | 82 | GtkScrollbar::activate-slider = 1 83 | GtkScrollbar::has-backward-stepper = 0 84 | GtkScrollbar::has-forward-stepper = 0 85 | GtkScrollbar::has-secondary-backward-stepper = 0 86 | GtkScrollbar::has-secondary-forward-stepper = 0 87 | GtkScrollbar::min-slider-length = 80 88 | GtkScrollbar::slider-width = 8 89 | GtkScrollbar::trough-border = 0 90 | 91 | GtkScrolledWindow::scrollbar-spacing = 0 92 | GtkScrolledWindow::scrollbars-within-bevel = 1 93 | 94 | GtkSeparatorMenuItem::horizontal-padding = 0 95 | 96 | GtkToolbar::internal-padding = 0 97 | 98 | GtkTreeView::expander-size = 11 99 | GtkTreeView::vertical-separator = 0 100 | 101 | GtkWidget::focus-line-width = 1 102 | # The following line prevents the Firefox tabs 103 | # from jumping a few pixels when you create a new tab 104 | GtkWidget::focus-padding = 0 105 | 106 | GtkWidget::wide-separators = 1 107 | GtkWidget::separator-width = 1 108 | GtkWidget::separator-height = 1 109 | 110 | GtkWindow::resize-grip-height = 0 111 | GtkWindow::resize-grip-width = 0 112 | 113 | WnckTasklist::fade-overlay-rect = 0 114 | 115 | GnomeHRef::link_color = @link_color 116 | GtkHTML::link-color = @link_color 117 | GtkIMHtmlr::hyperlink-color = @link_color 118 | GtkIMHtml::hyperlink-color = @link_color 119 | GtkWidget::link-color = @link_color 120 | GtkWidget::visited-link-color = @text_color 121 | 122 | GtkToolbar::shadow-type = GTK_SHADOW_NONE # Makes toolbars flat and unified 123 | GtkMenuBar::shadow-type = GTK_SHADOW_NONE # Makes menubars flat and unified 124 | 125 | xthickness = 1 126 | ythickness = 1 127 | 128 | fg[NORMAL] = @text_color 129 | fg[PRELIGHT] = @text_color 130 | fg[SELECTED] = @selected_fg_color 131 | fg[ACTIVE] = @text_color 132 | fg[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 133 | 134 | bg[NORMAL] = @bg_color 135 | bg[PRELIGHT] = shade (1.02, @bg_color) 136 | bg[SELECTED] = @selected_bg_color 137 | bg[ACTIVE] = @bg_color 138 | bg[INSENSITIVE] = @bg_color 139 | 140 | base[NORMAL] = shade(0.85, @color0) 141 | base[PRELIGHT] = shade (0.85, @color0) 142 | base[SELECTED] = @selected_bg_color 143 | base[ACTIVE] = @selected_bg_color 144 | base[INSENSITIVE] = shade (0.85, @bg_color) 145 | 146 | text[NORMAL] = @text_color 147 | text[PRELIGHT] = @text_color 148 | text[SELECTED] = @selected_fg_color 149 | text[ACTIVE] = @selected_fg_color 150 | text[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 151 | 152 | engine "murrine" {{ 153 | animation = FALSE 154 | arrowstyle = 1 # 0 = normal arrows, 1 = filled arrows 155 | border_shades = {{ 1.0, 1.0 }} # gradient to draw on border 156 | colorize_scrollbar = TRUE 157 | comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow 158 | contrast = 0.0 # overal contrast with borders 159 | focusstyle = 1 # 0 = none, 1 = grey dotted, 2 = colored with fill, 3 = colored glow 160 | glazestyle = 0 # 0 = flat highlight, 1 = curved highlight, 2 = concave, 3 = top curved highlight, 4 = beryl highlight 161 | glowstyle = 0 # 0 = glow on top, 1 = glow on bottom, 2 = glow on top and bottom, 3 = glow on middle vertically, 4 = glow on middle horizontally, 5 = glow on all sides 162 | glow_shade = 1.0 # amount of glow 163 | gradient_shades = {{ 1.0, 1.0, 1.0, 1.0 }} # gradient to draw on widgets 164 | highlight_shade = 1.0 # amount of highlight 165 | lightborder_shade = 1.0 # amount of inset light border 166 | lightborderstyle = 1 # 0 = lightborder on top side, 1 = lightborder on all sides 167 | listviewheaderstyle = 0 # 0 = flat, 1 = glassy, 2 = raised 168 | listviewstyle = 0 # 0 = none, 1 = dotted, 2 = line 169 | menubaritemstyle = 0 # 0 = menuitem look, 1 = button look 170 | menubarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped 171 | menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped 172 | menustyle = 0 # 0 = none, 1 = vertical striped 173 | progressbarstyle = 0 # 0 = none, 1 = diagonal striped, 2 = vertical striped 174 | reliefstyle = 0 # 0 = flat, 1 = inset, 2 = shadow, 3 = shadow with gradient, 4 = stronger shadow with gradient 175 | roundness = 0 # roundness of widgets 176 | scrollbarstyle = 0 # 0 = none, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles 177 | sliderstyle = 0 # 0 = none, 1 = handles 178 | stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles 179 | toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient 180 | }} 181 | }} 182 | 183 | style "murrine-wide" {{ 184 | xthickness = 2 185 | ythickness = 2 186 | }} 187 | 188 | style "murrine-wider" {{ 189 | xthickness = 3 190 | ythickness = 3 191 | }} 192 | 193 | style "murrine-thin" {{ 194 | xthickness = 0 195 | ythickness = 0 196 | }} 197 | 198 | # Notebook 199 | 200 | style "murrine-notebook-bg" {{ 201 | bg[NORMAL] = @bg_color 202 | bg[ACTIVE] = shade (0.70, @bg_color) 203 | }} 204 | 205 | style "murrine-notebook" = "murrine-notebook-bg" {{ 206 | xthickness = 2 207 | ythickness = 2 208 | 209 | engine "murrine" {{ 210 | roundness = 0 211 | }} 212 | }} 213 | 214 | # Various Standard Widgets 215 | 216 | style "murrine-button" = "murrine-wider" {{ 217 | bg[NORMAL] = shade (1.3, @bg_color) 218 | bg[PRELIGHT] = shade (0.80, @selected_bg_color) 219 | bg[ACTIVE] = shade (1.00, @selected_bg_color) 220 | bg[INSENSITIVE] = shade (0.85, @bg_color) 221 | 222 | engine "murrine" {{ 223 | }} 224 | }} 225 | 226 | style "murrine-scrollbar" {{ 227 | bg[NORMAL] = @bg_color 228 | bg[PRELIGHT] = mix (0.31, @text_color, @bg_color) 229 | bg[ACTIVE] = @selected_bg_color 230 | 231 | engine "murrine" {{ 232 | roundness = 0 233 | contrast = 0.0 234 | border_shades = {{ 0.9, 0.9 }} 235 | trough_shades = {{ 0.97, 0.97 }} 236 | trough_border_shades = {{ 1.0, 1.0 }} 237 | }} 238 | }} 239 | 240 | style "murrine-overlay-scrollbar" {{ 241 | bg[ACTIVE] = shade (0.8, @bg_color) 242 | bg[INSENSITIVE] = shade (0.97, @bg_color) 243 | 244 | base[SELECTED] = shade (0.6, @bg_color) 245 | base[INSENSITIVE] = shade (0.85, @bg_color) 246 | }} 247 | 248 | style "murrine-scale" = "murrine-thin" {{ 249 | bg[NORMAL] = @bg_color 250 | bg[ACTIVE] = @bg_color 251 | bg[SELECTED] = @selected_bg_color 252 | bg[INSENSITIVE] = shade (0.95, @bg_color) 253 | 254 | engine "murrine" {{ 255 | roundness = 8 256 | gradient_shades = {{ 1.08, 1.08, 1.08, 1.08 }} 257 | border_shades = {{ 1.0, 1.0 }} 258 | trough_shades = {{ 1.08, 1.08 }} 259 | trough_border_shades = {{ 0.8, 0.8 }} 260 | }} 261 | }} 262 | 263 | style "murrine-progressbar" = "murrine-thin" {{ 264 | bg[NORMAL] = @bg_color 265 | bg[ACTIVE] = shade(0.60, @bg_color) 266 | 267 | fg[PRELIGHT] = @selected_fg_color 268 | 269 | engine "murrine" {{ 270 | roundness = 0 271 | border_shades = {{ 1.2, 1.2 }} 272 | trough_border_shades = {{ 0.8, 0.8 }} 273 | }} 274 | }} 275 | 276 | style "murrine-treeview-header" = "murrine-button" {{ 277 | engine "murrine" {{ 278 | roundness = 0 279 | }} 280 | }} 281 | 282 | style "murrine-treeview" {{ 283 | engine "murrine" {{ 284 | roundness = 0 285 | }} 286 | }} 287 | 288 | style "murrine-frame-title" {{ 289 | fg[NORMAL] = lighter (@text_color) 290 | }} 291 | 292 | style "murrine-tooltips" {{ 293 | xthickness = 5 294 | ythickness = 5 295 | 296 | bg[NORMAL] = @tooltip_bg_color 297 | bg[SELECTED] = @tooltip_bg_color 298 | 299 | fg[NORMAL] = @text_color 300 | 301 | engine "murrine" {{ 302 | textstyle = 0 303 | roundness = 0 304 | rgba = FALSE 305 | }} 306 | }} 307 | 308 | style "murrine-spinbutton" = "murrine-button" {{ 309 | engine "murrine" {{ 310 | }} 311 | }} 312 | 313 | style "murrine-radiocheck" = "murrine-default" {{ 314 | bg[SELECTED] = @bg_color 315 | 316 | text[NORMAL] = @selected_bg_color 317 | text[PRELIGHT] = @selected_bg_color 318 | }} 319 | 320 | style "murrine-entry" = "murrine-wider" {{ 321 | bg[SELECTED] = @selected_bg_color 322 | 323 | engine "murrine" {{ 324 | border_shades = {{ 1.15, 1.15 }} 325 | }} 326 | }} 327 | 328 | style "metacity-frame" = "murrine-default" {{ 329 | bg[SELECTED] = @selected_bg_color 330 | }} 331 | 332 | style "murrine-statusbar" {{ 333 | bg[NORMAL] = @bg_color 334 | }} 335 | style "murrine-comboboxentry" = "murrine-entry" {{ }} 336 | style "murrine-hscale" = "murrine-scale" {{ }} 337 | style "murrine-vscale" = "murrine-scale" {{ }} 338 | style "murrine-hscrollbar" = "murrine-scrollbar" {{ }} 339 | style "murrine-vscrollbar" = "murrine-scrollbar" {{ }} 340 | 341 | # Menus 342 | 343 | style "murrine-menu" = "murrine-thin" {{ 344 | bg[NORMAL] = shade(0.8, @menu_bg_color) 345 | bg[PRELIGHT] = @selected_bg_color 346 | bg[SELECTED] = @selected_bg_color 347 | bg[ACTIVE] = @menu_bg_color 348 | bg[INSENSITIVE] = @menu_bg_color 349 | 350 | fg[NORMAL] = @menu_fg_color 351 | fg[PRELIGHT] = @selected_fg_color 352 | fg[SELECTED] = @selected_fg_color 353 | fg[ACTIVE] = @selected_fg_color 354 | fg[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) 355 | 356 | text[NORMAL] = @menu_fg_color 357 | text[PRELIGHT] = @selected_fg_color 358 | text[SELECTED] = @selected_fg_color 359 | text[ACTIVE] = @selected_fg_color 360 | text[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) 361 | 362 | engine "murrine" {{ 363 | roundness = 0 364 | }} 365 | }} 366 | 367 | style "murrine-menu-item" = "murrine-wider" {{ 368 | bg[PRELIGHT] = @selected_bg_color 369 | bg[SELECTED] = @selected_bg_color 370 | bg[ACTIVE] = @selected_bg_color 371 | 372 | fg[NORMAL] = @menu_fg_color # Fix for XFCE menu text 373 | fg[PRELIGHT] = @selected_fg_color 374 | fg[SELECTED] = @selected_fg_color 375 | fg[ACTIVE] = @selected_fg_color 376 | fg[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) 377 | 378 | engine "murrine" {{ 379 | textstyle = 0 380 | border_shades = {{ 1.2, 1.2 }} 381 | }} 382 | }} 383 | 384 | style "murrine-separator-menu-item" = "murrine-thin" {{ }} 385 | 386 | style "murrine-menubar" {{ 387 | bg[NORMAL] = @bg_color 388 | bg[PRELIGHT] = mix (0.21, @text_color, @bg_color) 389 | bg[SELECTED] = mix (0.21, @text_color, @bg_color) 390 | bg[ACTIVE] = shade (0.9, @bg_color) 391 | bg[INSENSITIVE] = @bg_color 392 | 393 | fg[NORMAL] = @text_color 394 | fg[PRELIGHT] = shade (1.08, @text_color) 395 | fg[SELECTED] = shade (1.08, @text_color) 396 | fg[ACTIVE] = @text_color 397 | fg[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 398 | 399 | engine "murrine" {{ 400 | roundness = 0 401 | }} 402 | }} 403 | 404 | style "murrine-menubaritem" {{ 405 | bg[NORMAL] = @bg_color 406 | bg[PRELIGHT] = @selected_bg_color 407 | bg[SELECTED] = @selected_bg_color 408 | bg[ACTIVE] = shade (0.9, @bg_color) 409 | bg[INSENSITIVE] = @bg_color 410 | 411 | fg[NORMAL] = @text_color 412 | fg[PRELIGHT] = shade (1.08, @text_color) 413 | fg[SELECTED] = shade (1.08, @text_color) 414 | fg[ACTIVE] = @text_color 415 | fg[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 416 | 417 | engine "murrine" {{ 418 | roundness = 0 419 | }} 420 | }} 421 | 422 | # Toolbars 423 | 424 | style "murrine-toolbar" = "murrine-thin" {{ 425 | bg[NORMAL] = @bg_color 426 | bg[PRELIGHT] = shade (1.02, @bg_color) 427 | bg[SELECTED] = @selected_bg_color 428 | bg[ACTIVE] = shade (0.9, @bg_color) 429 | bg[INSENSITIVE] = @bg_color 430 | 431 | fg[NORMAL] = @text_color 432 | fg[PRELIGHT] = @text_color 433 | fg[SELECTED] = @selected_fg_color 434 | fg[ACTIVE] = @text_color 435 | fg[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 436 | 437 | engine "murrine" {{ 438 | }} 439 | }} 440 | 441 | style "murrine-toolbutton" = "murrine-button" {{ 442 | bg[NORMAL] = shade (1.08, @bg_color) 443 | bg[PRELIGHT] = shade (1.10, @bg_color) 444 | bg[SELECTED] = @selected_bg_color 445 | bg[ACTIVE] = shade (0.95, @bg_color) 446 | bg[INSENSITIVE] = shade (0.85, @bg_color) 447 | 448 | fg[NORMAL] = @text_color 449 | fg[PRELIGHT] = @text_color 450 | fg[SELECTED] = @selected_fg_color 451 | fg[ACTIVE] = @text_color 452 | fg[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 453 | 454 | engine "murrine" {{ 455 | }} 456 | }} 457 | 458 | class "GtkToolbar" style "murrine-toolbar" 459 | class "GtkHandleBox" style "murrine-toolbar" 460 | widget_class "*Toolbar*.*Separator*" style "murrine-toolbar" 461 | 462 | # Panels 463 | 464 | style "murrine-panel" = "murrine-thin" {{ 465 | xthickness = 2 466 | 467 | bg[NORMAL] = @menu_bg_color 468 | bg[PRELIGHT] = shade(0.8, @selected_bg_color) 469 | bg[SELECTED] = @selected_bg_color 470 | bg[ACTIVE] = @selected_bg_color 471 | bg[INSENSITIVE] = @menu_bg_color 472 | 473 | fg[NORMAL] = @text_color 474 | fg[PRELIGHT] = @text_color 475 | fg[SELECTED] = @text_color 476 | fg[ACTIVE] = @text_color 477 | fg[INSENSITIVE] = shade(0.8, @text_color) 478 | 479 | base[NORMAL] = @menu_bg_color 480 | base[PRELIGHT] = mix (0.21, @text_color, @menu_bg_color) 481 | base[SELECTED] = @selected_bg_color 482 | base[ACTIVE] = @selected_bg_color 483 | base[INSENSITIVE] = @menu_bg_color 484 | 485 | text[NORMAL] = @text_color 486 | text[PRELIGHT] = shade (1.08, @text_color) 487 | text[SELECTED] = shade (1.08, @text_color) 488 | text[ACTIVE] = @text_color 489 | text[INSENSITIVE] = mix (0.5, @menu_bg_color, @text_color) 490 | 491 | engine "murrine" {{ 492 | roundness = 0 493 | contrast = 0.0 494 | }} 495 | }} 496 | 497 | widget "*PanelWidget*" style "murrine-panel" 498 | widget "*PanelApplet*" style "murrine-panel" 499 | widget "*fast-user-switch*" style "murrine-panel" 500 | widget "*CPUFreq*Applet*" style "murrine-panel" 501 | widget "*indicator-applet*" style "murrine-panel" 502 | class "PanelApp*" style "murrine-panel" 503 | class "PanelToplevel*" style "murrine-panel" 504 | widget_class "*PanelToplevel*" style "murrine-panel" 505 | widget_class "*notif*" style "murrine-panel" 506 | widget_class "*Notif*" style "murrine-panel" 507 | widget_class "*Tray*" style "murrine-panel" 508 | widget_class "*tray*" style "murrine-panel" 509 | widget_class "*computertemp*" style "murrine-panel" 510 | widget_class "*Applet*Tomboy*" style "murrine-panel" 511 | widget_class "*Applet*Netstatus*" style "murrine-panel" 512 | widget "*gdm-user-switch-menubar*" style "murrine-panel" 513 | 514 | style "bold-panel-item" {{ 515 | font_name = "Bold" 516 | 517 | engine "murrine" {{ 518 | roundness = 0 519 | }} 520 | }} 521 | 522 | widget "*Panel*MenuBar*" style "bold-panel-item" 523 | widget "*gimmie*" style "bold-panel-item" 524 | 525 | # widget_class "*Mail*" style "murrine-panel" # Disabled to fix Evolution bug 526 | # class "*Panel*" style "murrine-panel" # Disabled to fix bug 527 | 528 | # XFCE Styles 529 | 530 | style "workspace-switcher" = "murrine-panel" {{ 531 | bg[SELECTED] = @selected_bg_color 532 | }} 533 | 534 | style "xfce-header" {{ 535 | bg[NORMAL] = shade (0.9, @bg_color) 536 | base[NORMAL] = shade (1.18, @bg_color) 537 | }} 538 | 539 | style "xfdesktop-windowlist" {{ 540 | bg[NORMAL] = @bg_color 541 | fg[INSENSITIVE] = shade (0.95, @bg_color) 542 | text[INSENSITIVE] = shade (0.95, @bg_color) 543 | }} 544 | 545 | style "xfdesktop-icon-view" {{ 546 | XfdesktopIconView::label-alpha = 0 547 | XfdesktopIconView::selected-label-alpha = 60 548 | XfdesktopIconVIew::ellipsize-icon-labels = 1 549 | 550 | base[NORMAL] = @selected_bg_color 551 | base[SELECTED] = @selected_bg_color 552 | base[ACTIVE] = @selected_bg_color 553 | 554 | fg[NORMAL] = @selected_fg_color 555 | fg[SELECTED] = @selected_fg_color 556 | fg[ACTIVE] = @selected_fg_color 557 | 558 | engine "murrine" {{ 559 | textstyle = 5 560 | text_shade = 0.05 561 | }} 562 | }} 563 | 564 | style "xfwm-tabwin" {{ 565 | Xfwm4TabwinWidget::border-width = 0 566 | Xfwm4TabwinWidget::icon-size = 64 567 | 568 | bg[NORMAL] = @menu_bg_color 569 | fg[NORMAL] = @menu_fg_color 570 | 571 | engine "murrine" {{ 572 | focusstyle = 0 573 | }} 574 | }} 575 | 576 | style "xfsm-logout" {{ 577 | bg[NORMAL] = @menu_bg_color 578 | bg[ACTIVE] = @menu_bg_color 579 | bg[PRELIGHT] = shade (1.1, @menu_bg_color) 580 | bg[SELECTED] = shade (0.5, @menu_bg_color) 581 | bg[INSENSITIVE] = shade (1.3, @menu_bg_color) 582 | 583 | fg[NORMAL] = @menu_fg_color 584 | fg[PRELIGHT] = @menu_fg_color 585 | 586 | text[NORMAL] = @menu_fg_color 587 | 588 | engine "murrine" {{ 589 | }} 590 | }} 591 | 592 | style "xfsm-logout-button" {{ 593 | bg[NORMAL] = shade (1.2, @menu_bg_color) 594 | bg[PRELIGHT] = shade (1.4, @menu_bg_color) 595 | 596 | engine "murrine" {{ 597 | }} 598 | }} 599 | 600 | widget "*WnckPager*" style "workspace-switcher" 601 | 602 | widget "*Xfce*Panel*" style "murrine-panel" 603 | class "*Xfce*Panel*" style "murrine-panel" 604 | 605 | # Thunar Styles 606 | 607 | style "sidepane" {{ 608 | base[NORMAL] = @bg_color 609 | base[INSENSITIVE] = shade(0.90, @bg_color) 610 | bg[NORMAL] = @bg_color 611 | text[NORMAL] = @text_color 612 | }} 613 | 614 | widget_class "*ThunarShortcutsView*" style "sidepane" 615 | widget_class "*ThunarTreeView*" style "sidepane" 616 | widget_class "*ThunarLocationEntry*" style "murrine-entry" 617 | 618 | # Gtk2 Open-File Dialog 619 | 620 | widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" 621 | widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "murrine-treeview-header" 622 | 623 | # Google Chrome/Chromium Styles (requires 9.0.597 or newer) 624 | 625 | style "chromium-toolbar-button" {{ 626 | engine "murrine" {{ 627 | roundness = 2 628 | textstyle = 0 629 | }} 630 | }} 631 | 632 | style "chrome-gtk-frame" {{ 633 | ChromeGtkFrame::frame-color = @titlebar_bg_color 634 | ChromeGtkFrame::inactive-frame-color = @titlebar_bg_color 635 | 636 | ChromeGtkFrame::frame-gradient-size = 0 637 | ChromeGtkFrame::frame-gradient-color = @titlebar_bg_color 638 | 639 | ChromeGtkFrame::incognito-frame-color = @titlebar_bg_color 640 | ChromeGtkFrame::incognito-inactive-frame-color = @titlebar_bg_color 641 | 642 | ChromeGtkFrame::incognito-frame-gradient-size = 0 643 | ChromeGtkFrame::incognito-frame-gradient-color = @titlebar_bg_color 644 | 645 | ChromeGtkFrame::scrollbar-trough-color = @bg_color 646 | ChromeGtkFrame::scrollbar-slider-normal-color = mix (0.21, @text_color, @bg_color) 647 | ChromeGtkFrame::scrollbar-slider-prelight-color = mix (0.31, @text_color, @bg_color) 648 | }} 649 | 650 | class "ChromeGtkFrame" style "chrome-gtk-frame" 651 | 652 | widget_class "*Chrom*Button*" style "chromium-toolbar-button" 653 | 654 | # General Styles 655 | 656 | class "GtkWidget" style "murrine-default" 657 | 658 | class "GtkFrame" style "murrine-wide" 659 | class "MetaFrames" style "metacity-frame" 660 | class "GtkWindow" style "metacity-frame" 661 | 662 | class "GtkSeparator" style "murrine-wide" 663 | class "GtkCalendar" style "murrine-wide" 664 | 665 | class "GtkSpinButton" style "murrine-spinbutton" 666 | 667 | class "GtkScale" style "murrine-scale" 668 | class "GtkVScale" style "murrine-vscale" 669 | class "GtkHScale" style "murrine-hscale" 670 | class "GtkScrollbar" style "murrine-scrollbar" 671 | class "GtkVScrollbar" style "murrine-vscrollbar" 672 | class "GtkHScrollbar" style "murrine-hscrollbar" 673 | 674 | class "GtkRadio*" style "murrine-radiocheck" 675 | class "GtkCheck*" style "murrine-radiocheck" 676 | 677 | class "GtkEntry" style "murrine-entry" 678 | 679 | widget_class "*" style "murrine-notebook" 680 | widget_class "**" style "murrine-notebook-bg" 681 | widget_class "**" style "murrine-notebook-bg" 682 | widget_class "**" style "murrine-notebook-bg" 683 | widget_class "*.GtkNotebook.*.GtkViewport" style "murrine-notebook" 684 | 685 | widget_class "*" style "murrine-button" 686 | widget_class "**" style "murrine-statusbar" 687 | widget_class "*" style "murrine-progressbar" 688 | widget_class "*" style "murrine-progressbar" 689 | 690 | widget_class "**" style "murrine-comboboxentry" 691 | widget_class "**" style "murrine-comboboxentry" 692 | 693 | widget_class "**" style "murrine-menu" 694 | widget_class "**" style "murrine-menu-item" 695 | widget_class "**" style "murrine-separator-menu-item" 696 | widget_class "*Menu*.*Sepa*" style "murrine-separator-menu-item" 697 | widget_class "**" style "murrine-menubar" 698 | widget_class "***" style "murrine-menubaritem" 699 | 700 | widget_class "*GtkToolButton*" style "murrine-toolbutton" 701 | widget_class "*GtkToggleToolButton*" style "murrine-toolbutton" 702 | widget_class "*GtkMenuToolButton*" style "murrine-toolbutton" 703 | widget_class "*GtkToolbar*Button" style "murrine-toolbutton" 704 | 705 | widget_class "*.." style "murrine-frame-title" 706 | 707 | widget_class "*.*" style "murrine-treeview" 708 | widget_class "*.." style "murrine-treeview-header" 709 | widget_class "*.." style "murrine-treeview-header" 710 | widget_class "*.." style "murrine-treeview-header" 711 | widget_class "*.." style "murrine-treeview-header" 712 | 713 | widget "gtk-tooltip*" style "murrine-tooltips" 714 | 715 | widget_class "**" style "murrine-overlay-scrollbar" 716 | 717 | # Workarounds and Non-Standard Styling 718 | 719 | style "text-is-fg-color-workaround" {{ 720 | text[NORMAL] = @text_color 721 | text[PRELIGHT] = @text_color 722 | text[SELECTED] = @selected_fg_color 723 | text[ACTIVE] = @text_color 724 | text[INSENSITIVE] = mix (0.5, @bg_color, @text_color) 725 | }} 726 | 727 | widget_class "*.." style "text-is-fg-color-workaround" 728 | 729 | style "fg-is-text-color-workaround" {{ 730 | fg[NORMAL] = @text_color 731 | fg[PRELIGHT] = @text_color 732 | fg[ACTIVE] = @selected_fg_color 733 | fg[SELECTED] = @selected_fg_color 734 | fg[INSENSITIVE] = darker (@text_color) 735 | }} 736 | 737 | widget_class "**" style "fg-is-text-color-workaround" 738 | widget_class "*" style "fg-is-text-color-workaround" 739 | widget_class "*" style "fg-is-text-color-workaround" 740 | 741 | style "murrine-evo-new-button-workaround" {{ 742 | engine "murrine" {{ 743 | toolbarstyle = 0 744 | }} 745 | }} 746 | 747 | widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround" 748 | 749 | style "inkscape-toolbar-fix" {{ 750 | engine "murrine" {{ 751 | gradient_shades = {{ 1.0, 1.0, 1.0, 1.0 }} 752 | highlight_shade = 1.0 753 | }} 754 | }} 755 | 756 | #widget "*GtkHandleBox*" style "inkscape-toolbar-fix" 757 | #widget "*HandleBox*CommandsToolbar*" style "inkscape-toolbar-fix" 758 | #widget "*HandleBox*SnapToolbar*" style "inkscape-toolbar-fix" 759 | widget "*HandleBox*SelectToolbar*" style "inkscape-toolbar-fix" 760 | widget "*HandleBox*NodeToolbar*" style "inkscape-toolbar-fix" 761 | widget "*HandleBox*TweakToolbar*" style "inkscape-toolbar-fix" 762 | widget "*HandleBox*ZoomToolbar*" style "inkscape-toolbar-fix" 763 | widget "*HandleBox*StarToolbar*" style "inkscape-toolbar-fix" 764 | widget "*HandleBox*RectToolbar*" style "inkscape-toolbar-fix" 765 | widget "*HandleBox*3DBoxToolbar*" style "inkscape-toolbar-fix" 766 | widget "*HandleBox*ArcToolbar*" style "inkscape-toolbar-fix" 767 | widget "*HandleBox*SpiralToolbar*" style "inkscape-toolbar-fix" 768 | widget "*HandleBox*PencilToolbar*" style "inkscape-toolbar-fix" 769 | widget "*HandleBox*PenToolbar*" style "inkscape-toolbar-fix" 770 | widget "*HandleBox*CalligraphyToolbar*" style "inkscape-toolbar-fix" 771 | widget "*HandleBox*EraserToolbar*" style "inkscape-toolbar-fix" 772 | widget "*HandleBox*LPEToolToolbar*" style "inkscape-toolbar-fix" 773 | widget "*HandleBox*DropperToolbar*" style "inkscape-toolbar-fix" 774 | widget "*HandleBox*ConnectorToolbar*" style "inkscape-toolbar-fix" 775 | widget "*HandleBox*PaintbucketToolbar*" style "inkscape-toolbar-fix" 776 | 777 | # Performance Fixes 778 | 779 | style "performance-fix" {{ 780 | engine "murrine" {{ 781 | textstyle = 0 782 | }} 783 | }} 784 | 785 | widget_class "*gtkmm__GtkWindow*" style "performance-fix" # Inkscape 786 | widget_class "*GimpDisplayShell*" style "performance-fix" # Gimp 787 | widget_class "*GimpToolbox*" style "performance-fix" 788 | widget_class "*GimpMenuDock*" style "performance-fix" 789 | widget "*OOoFixed*" style "performance-fix" # Openoffice/Libreoffice 790 | widget_class "*MozContainer*" style "performance-fix" # Firefox (Not sure if this one does anything though.) 791 | 792 | widget_class "*XfceHeading*" style "xfce-header" 793 | widget_class "*XfceDesktop*" style "xfdesktop-windowlist" 794 | widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" 795 | widget "xfwm4-tabwin*" style "xfwm-tabwin" 796 | widget_class "*XfsmLogoutDialog*" style "xfsm-logout" 797 | widget_class "*XfsmLogoutDialog*GtkButton" style "xfsm-logout-button" 798 | -------------------------------------------------------------------------------- /kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # vim:fileencoding=utf-8:ft=conf:foldmethod=marker 2 | 3 | #: Fonts {{{ 4 | 5 | #: kitty has very powerful font management. You can configure 6 | #: individual font faces and even specify special fonts for particular 7 | #: characters. 8 | 9 | font_family Source Code Pro 10 | bold_font auto 11 | italic_font auto 12 | bold_italic_font auto 13 | 14 | #: You can specify different fonts for the bold/italic/bold-italic 15 | #: variants. By default they are derived automatically, by the OSes 16 | #: font system. Setting them manually is useful for font families that 17 | #: have many weight variants like Book, Medium, Thick, etc. For 18 | #: example:: 19 | 20 | #: font_family Operator Mono Book 21 | #: bold_font Operator Mono Medium 22 | #: italic_font Operator Mono Book Italic 23 | #: bold_italic_font Operator Mono Medium Italic 24 | 25 | font_size 11.0 26 | 27 | #: Font size (in pts) 28 | 29 | adjust_line_height 0 30 | adjust_column_width 0 31 | 32 | #: Change the size of each character cell kitty renders. You can use 33 | #: either numbers, which are interpreted as pixels or percentages 34 | #: (number followed by %), which are interpreted as percentages of the 35 | #: unmodified values. You can use negative pixels or percentages less 36 | #: than 100% to reduce sizes (but this might cause rendering 37 | #: artifacts). 38 | 39 | # symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols 40 | 41 | #: Map the specified unicode codepoints to a particular font. Useful 42 | #: if you need special rendering for some symbols, such as for 43 | #: Powerline. Avoids the need for patched fonts. Each unicode code 44 | #: point is specified in the form U+. You 45 | #: can specify multiple code points, separated by commas and ranges 46 | #: separated by hyphens. symbol_map itself can be specified multiple 47 | #: times. Syntax is:: 48 | 49 | #: symbol_map codepoints Font Family Name 50 | 51 | box_drawing_scale 0.001, 1, 1.5, 2 52 | 53 | #: Change the sizes of the lines used for the box drawing unicode 54 | #: characters These values are in pts. They will be scaled by the 55 | #: monitor DPI to arrive at a pixel value. There must be four values 56 | #: corresponding to thin, normal, thick, and very thick lines. 57 | 58 | #: }}} 59 | 60 | #: Cursor customization {{{ 61 | 62 | cursor #cccccc 63 | 64 | #: Default cursor color 65 | 66 | cursor_text_color #111111 67 | 68 | #: Choose the color of text under the cursor. If you want it rendered 69 | #: with the background color of the cell underneath instead, use the 70 | #: special keyword: background 71 | 72 | cursor_shape block 73 | 74 | #: The cursor shape can be one of (block, beam, underline) 75 | 76 | cursor_blink_interval 0.5 77 | cursor_stop_blinking_after 15.0 78 | 79 | #: The interval (in seconds) at which to blink the cursor. Set to zero 80 | #: to disable blinking. Note that numbers smaller than repaint_delay 81 | #: will be limited to repaint_delay. Stop blinking cursor after the 82 | #: specified number of seconds of keyboard inactivity. Set to zero to 83 | #: never stop blinking. 84 | 85 | #: }}} 86 | 87 | #: Scrollback {{{ 88 | 89 | scrollback_lines 2000 90 | 91 | #: Number of lines of history to keep in memory for scrolling back. 92 | #: Memory is allocated on demand. Negative numbers are (effectively) 93 | #: infinite scrollback. Note that using very large scrollback is not 94 | #: recommended as it can slow down resizing of the terminal and also 95 | #: use large amounts of RAM. 96 | 97 | scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER 98 | 99 | #: Program with which to view scrollback in a new window. The 100 | #: scrollback buffer is passed as STDIN to this program. If you change 101 | #: it, make sure the program you use can handle ANSI escape sequences 102 | #: for colors and text formatting. INPUT_LINE_NUMBER in the command 103 | #: line above will be replaced by an integer representing which line 104 | #: should be at the top of the screen. 105 | 106 | scrollback_pager_history_size 0 107 | 108 | #: Separate scrollback history size, used only for browsing the 109 | #: scrollback buffer (in MB). This separate buffer is not available 110 | #: for interactive scrolling but will be piped to the pager program 111 | #: when viewing scrollback buffer in a separate window. The current 112 | #: implementation stores one character in 4 bytes, so approximatively 113 | #: 2500 lines per megabyte at 100 chars per line. A value of zero or 114 | #: less disables this feature. The maximum allowed size is 4GB. 115 | 116 | wheel_scroll_multiplier 5.0 117 | 118 | #: Modify the amount scrolled by the mouse wheel. Note this is only 119 | #: used for low precision scrolling devices, not for high precision 120 | #: scrolling on platforms such as macOS and Wayland. Use negative 121 | #: numbers to change scroll direction. 122 | 123 | touch_scroll_multiplier 1.0 124 | 125 | #: Modify the amount scrolled by a touchpad. Note this is only used 126 | #: for high precision scrolling devices on platforms such as macOS and 127 | #: Wayland. Use negative numbers to change scroll direction. 128 | 129 | #: }}} 130 | 131 | #: Mouse {{{ 132 | 133 | url_color #0087BD 134 | url_style curly 135 | 136 | #: The color and style for highlighting URLs on mouse-over. url_style 137 | #: can be one of: none, single, double, curly 138 | 139 | open_url_modifiers kitty_mod 140 | 141 | #: The modifier keys to press when clicking with the mouse on URLs to 142 | #: open the URL 143 | 144 | open_url_with default 145 | 146 | #: The program with which to open URLs that are clicked on. The 147 | #: special value default means to use the operating system's default 148 | #: URL handler. 149 | 150 | copy_on_select no 151 | 152 | #: Copy to clipboard on select. With this enabled, simply selecting 153 | #: text with the mouse will cause the text to be copied to clipboard. 154 | #: Useful on platforms such as macOS that do not have the concept of 155 | #: primary selections. Note that this is a security risk, as all 156 | #: programs, including websites open in your browser can read the 157 | #: contents of the clipboard. 158 | 159 | rectangle_select_modifiers ctrl+alt 160 | 161 | #: The modifiers to use rectangular selection (i.e. to select text in 162 | #: a rectangular block with the mouse) 163 | 164 | select_by_word_characters :@-./_~?&=%+# 165 | 166 | #: Characters considered part of a word when double clicking. In 167 | #: addition to these characters any character that is marked as an 168 | #: alpha-numeric character in the unicode database will be matched. 169 | 170 | click_interval -1.0 171 | 172 | #: The interval between successive clicks to detect double/triple 173 | #: clicks (in seconds). Negative numbers will use the system default 174 | #: instead, if available, or fallback to 0.5. 175 | 176 | mouse_hide_wait 3.0 177 | 178 | #: Hide mouse cursor after the specified number of seconds of the 179 | #: mouse not being used. Set to zero to disable mouse cursor hiding. 180 | 181 | focus_follows_mouse no 182 | 183 | #: Set the active window to the window under the mouse when moving the 184 | #: mouse around 185 | 186 | #: }}} 187 | 188 | #: Performance tuning {{{ 189 | 190 | repaint_delay 10 191 | 192 | #: Delay (in milliseconds) between screen updates. Decreasing it, 193 | #: increases frames-per-second (FPS) at the cost of more CPU usage. 194 | #: The default value yields ~100 FPS which is more than sufficient for 195 | #: most uses. Note that to actually achieve 100 FPS you have to either 196 | #: set sync_to_monitor to no or use a monitor with a high refresh 197 | #: rate. 198 | 199 | input_delay 3 200 | 201 | #: Delay (in milliseconds) before input from the program running in 202 | #: the terminal is processed. Note that decreasing it will increase 203 | #: responsiveness, but also increase CPU usage and might cause flicker 204 | #: in full screen programs that redraw the entire screen on each loop, 205 | #: because kitty is so fast that partial screen updates will be drawn. 206 | 207 | sync_to_monitor yes 208 | 209 | #: Sync screen updates to the refresh rate of the monitor. This 210 | #: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing) 211 | #: when scrolling. However, it limits the rendering speed to the 212 | #: refresh rate of your monitor. With a very high speed mouse/high 213 | #: keyboard repeat rate, you may notice some slight input latency. If 214 | #: so, set this to no. 215 | 216 | #: }}} 217 | 218 | #: Terminal bell {{{ 219 | 220 | enable_audio_bell no 221 | 222 | #: Enable/disable the audio bell. Useful in environments that require 223 | #: silence. 224 | 225 | visual_bell_duration 0.0 226 | 227 | #: Visual bell duration. Flash the screen when a bell occurs for the 228 | #: specified number of seconds. Set to zero to disable. 229 | 230 | window_alert_on_bell yes 231 | 232 | #: Request window attention on bell. Makes the dock icon bounce on 233 | #: macOS or the taskbar flash on linux. 234 | 235 | bell_on_tab yes 236 | 237 | #: Show a bell symbol on the tab if a bell occurs in one of the 238 | #: windows in the tab and the window is not the currently focused 239 | #: window 240 | 241 | #: }}} 242 | 243 | #: Window layout {{{ 244 | 245 | remember_window_size no 246 | initial_window_width 80c 247 | initial_window_height 24c 248 | 249 | #: If enabled, the window size will be remembered so that new 250 | #: instances of kitty will have the same size as the previous 251 | #: instance. If disabled, the window will initially have size 252 | #: configured by initial_window_width/height, in pixels. You can use a 253 | #: suffix of "c" on the width/height values to have them interpreted 254 | #: as number of cells instead of pixels. 255 | 256 | enabled_layouts * 257 | 258 | #: The enabled window layouts. A comma separated list of layout names. 259 | #: The special value all means all layouts. The first listed layout 260 | #: will be used as the startup layout. For a list of available 261 | #: layouts, see the 262 | #: https://sw.kovidgoyal.net/kitty/index.html#layouts. 263 | 264 | window_resize_step_cells 2 265 | window_resize_step_lines 2 266 | 267 | #: The step size (in units of cell width/cell height) to use when 268 | #: resizing windows. The cells value is used for horizontal resizing 269 | #: and the lines value for vertical resizing. 270 | 271 | window_border_width 1.0 272 | 273 | #: The width (in pts) of window borders. Will be rounded to the 274 | #: nearest number of pixels based on screen resolution. Note that 275 | #: borders are displayed only when more than one window is visible. 276 | #: They are meant to separate multiple windows. 277 | 278 | draw_minimal_borders yes 279 | 280 | #: Draw only the minimum borders needed. This means that only the 281 | #: minimum needed borders for inactive windows are drawn. That is only 282 | #: the borders that separate the inactive window from a neighbor. Note 283 | #: that setting a non-zero window margin overrides this and causes all 284 | #: borders to be drawn. 285 | 286 | window_margin_width 0.0 287 | 288 | #: The window margin (in pts) (blank area outside the border) 289 | 290 | single_window_margin_width -1000.0 291 | 292 | #: The window margin (in pts) to use when only a single window is 293 | #: visible. Negative values will cause the value of 294 | #: window_margin_width to be used instead. 295 | 296 | window_padding_width 0.0 297 | 298 | #: The window padding (in pts) (blank area between the text and the 299 | #: window border) 300 | 301 | active_border_color #00ff00 302 | 303 | #: The color for the border of the active window 304 | 305 | inactive_border_color #cccccc 306 | 307 | #: The color for the border of inactive windows 308 | 309 | bell_border_color #ff5a00 310 | 311 | #: The color for the border of inactive windows in which a bell has 312 | #: occurred 313 | 314 | inactive_text_alpha 1.0 315 | 316 | #: Fade the text in inactive windows by the specified amount (a number 317 | #: between zero and one, with zero being fully faded). 318 | 319 | hide_window_decorations no 320 | 321 | #: Hide the window decorations (title-bar and window borders). Whether 322 | #: this works and exactly what effect it has depends on the window 323 | #: manager/operating system. 324 | 325 | #: }}} 326 | 327 | #: Tab bar {{{ 328 | 329 | tab_bar_edge bottom 330 | 331 | #: Which edge to show the tab bar on, top or bottom 332 | 333 | tab_bar_margin_width 0.0 334 | 335 | #: The margin to the left and right of the tab bar (in pts) 336 | 337 | tab_bar_style fade 338 | 339 | #: The tab bar style, can be one of: fade, separator or hidden. In the 340 | #: fade style, each tab's edges fade into the background color, in the 341 | #: separator style, tabs are separated by a configurable separator. 342 | 343 | tab_fade 0.25 0.5 0.75 1 344 | 345 | #: Control how each tab fades into the background when using fade for 346 | #: the tab_bar_style. Each number is an alpha (between zero and one) 347 | #: that controls how much the corresponding cell fades into the 348 | #: background, with zero being no fade and one being full fade. You 349 | #: can change the number of cells used by adding/removing entries to 350 | #: this list. 351 | 352 | tab_separator " ┇" 353 | 354 | #: The separator between tabs in the tab bar when using separator as 355 | #: the tab_bar_style. 356 | 357 | tab_title_template {title} 358 | 359 | #: A template to render the tab title. The default just renders the 360 | #: title. If you wish to include the tab-index as well, use something 361 | #: like: {index}: {title}. Useful if you have shortcuts mapped for 362 | #: goto_tab N. 363 | 364 | active_tab_foreground #000 365 | active_tab_background #eee 366 | active_tab_font_style bold-italic 367 | inactive_tab_foreground #444 368 | inactive_tab_background #999 369 | inactive_tab_font_style normal 370 | 371 | #: Tab bar colors and styles 372 | 373 | #: }}} 374 | 375 | #: Color scheme {{{ 376 | 377 | foreground #dddddd 378 | background #000000 379 | 380 | #: The foreground and background colors 381 | 382 | background_opacity 1.0 383 | dynamic_background_opacity no 384 | 385 | #: The opacity of the background. A number between 0 and 1, where 1 is 386 | #: opaque and 0 is fully transparent. This will only work if 387 | #: supported by the OS (for instance, when using a compositor under 388 | #: X11). Note that it only sets the default background color's 389 | #: opacity. This is so that things like the status bar in vim, 390 | #: powerline prompts, etc. still look good. But it means that if you 391 | #: use a color theme with a background color in your editor, it will 392 | #: not be rendered as transparent. Instead you should change the 393 | #: default background color in your kitty config and not use a 394 | #: background color in the editor color scheme. Or use the escape 395 | #: codes to set the terminals default colors in a shell script to 396 | #: launch your editor. Be aware that using a value less than 1.0 is a 397 | #: (possibly significant) performance hit. If you want to dynamically 398 | #: change transparency of windows set dynamic_background_opacity to 399 | #: yes (this is off by default as it has a performance cost) 400 | 401 | dim_opacity 0.75 402 | 403 | #: How much to dim text that has the DIM/FAINT attribute set. One 404 | #: means no dimming and zero means fully dimmed (i.e. invisible). 405 | 406 | selection_foreground #000000 407 | selection_background #FFFACD 408 | 409 | #: The foreground and background for text selected with the mouse 410 | 411 | 412 | #: The 16 terminal colors. There are 8 basic colors, each color has a 413 | #: dull and bright version. You can also set the remaining colors from 414 | #: the 256 color table as color16 to color255. 415 | 416 | color0 #000000 417 | color8 #767676 418 | 419 | #: black 420 | 421 | color1 #cc0403 422 | color9 #f2201f 423 | 424 | #: red 425 | 426 | color2 #19cb00 427 | color10 #23fd00 428 | 429 | #: green 430 | 431 | color3 #cecb00 432 | color11 #fffd00 433 | 434 | #: yellow 435 | 436 | color4 #0d73cc 437 | color12 #1a8fff 438 | 439 | #: blue 440 | 441 | color5 #cb1ed1 442 | color13 #fd28ff 443 | 444 | #: magenta 445 | 446 | color6 #0dcdcd 447 | color14 #14ffff 448 | 449 | #: cyan 450 | 451 | color7 #dddddd 452 | color15 #ffffff 453 | 454 | #: white 455 | 456 | #: }}} 457 | 458 | #: Advanced {{{ 459 | 460 | shell bash 461 | 462 | #: The shell program to execute. The default value of . means to use 463 | #: whatever shell is set as the default shell for the current user. 464 | #: Note that on macOS if you change this, you might need to add 465 | #: --login to ensure that the shell starts in interactive mode and 466 | #: reads its startup rc files. 467 | 468 | editor vim 469 | 470 | #: The console editor to use when editing the kitty config file or 471 | #: similar tasks. A value of . means to use the environment variable 472 | #: EDITOR. Note that this environment variable has to be set not just 473 | #: in your shell startup scripts but system-wide, otherwise kitty will 474 | #: not see it. 475 | 476 | close_on_child_death no 477 | 478 | #: Close the window when the child process (shell) exits. If no (the 479 | #: default), the terminal will remain open when the child exits as 480 | #: long as there are still processes outputting to the terminal (for 481 | #: example disowned or backgrounded processes). If yes, the window 482 | #: will close as soon as the child process exits. Note that setting it 483 | #: to yes means that any background processes still using the terminal 484 | #: can fail silently because their stdout/stderr/stdin no longer work. 485 | 486 | allow_remote_control no 487 | 488 | #: Allow other programs to control kitty. If you turn this on other 489 | #: programs can control all aspects of kitty, including sending text 490 | #: to kitty windows, opening new windows, closing windows, reading the 491 | #: content of windows, etc. Note that this even works over ssh 492 | #: connections. 493 | 494 | # env 495 | 496 | #: Specify environment variables to set in all child processes. Note 497 | #: that environment variables are expanded recursively, so if you 498 | #: use:: 499 | 500 | #: env MYVAR1=a 501 | #: env MYVAR2=${MYVAR1}/${HOME}/b 502 | 503 | #: The value of MYVAR2 will be a//b. 504 | 505 | startup_session none 506 | 507 | #: Path to a session file to use for all kitty instances. Can be 508 | #: overridden by using the kitty --session command line option for 509 | #: individual instances. See 510 | #: https://sw.kovidgoyal.net/kitty/index.html#sessions in the kitty 511 | #: documentation for details. Note that relative paths are interpreted 512 | #: with respect to the kitty config directory. Environment variables 513 | #: in the path are expanded. 514 | 515 | clipboard_control write-clipboard write-primary 516 | 517 | #: Allow programs running in kitty to read and write from the 518 | #: clipboard. You can control exactly which actions are allowed. The 519 | #: set of possible actions is: write-clipboard read-clipboard write- 520 | #: primary read-primary The default is to allow writing to the 521 | #: clipboard and primary selection. Note that enabling the read 522 | #: functionality is a security risk as it means that any program, even 523 | #: one running on a remote server via SSH can read your clipboard. 524 | 525 | term xterm-kitty 526 | 527 | #: The value of the TERM environment variable to set. Changing this 528 | #: can break many terminal programs, only change it if you know what 529 | #: you are doing, not because you read some advice on Stack Overflow 530 | #: to change it. The TERM variable if used by various programs to get 531 | #: information about the capabilities and behavior of the terminal. If 532 | #: you change it, depending on what programs you run, and how 533 | #: different the terminal you are changing it to is, various things 534 | #: from key-presses, to colors, to various advanced features may not 535 | #: work. 536 | 537 | #: }}} 538 | 539 | #: OS specific tweaks {{{ 540 | 541 | macos_titlebar_color system 542 | 543 | #: Change the color of the kitty window's titlebar on macOS. A value 544 | #: of system means to use the default system color, a value of 545 | #: background means to use the background color of the currently 546 | #: active window and finally you can use an arbitrary color, such as 547 | #: #12af59 or red. WARNING: This option works by using a hack, as 548 | #: there is no proper Cocoa API for it. It sets the background color 549 | #: of the entire window and makes the titlebar transparent. As such it 550 | #: is incompatible with background_opacity. If you want to use both, 551 | #: you are probably better off just hiding the titlebar with 552 | #: hide_window_decorations. 553 | 554 | macos_option_as_alt yes 555 | 556 | #: Use the option key as an alt key. With this set to no, kitty will 557 | #: use the macOS native Option+Key = unicode character behavior. This 558 | #: will break any Alt+key keyboard shortcuts in your terminal 559 | #: programs, but you can use the macOS unicode input technique. 560 | 561 | macos_hide_from_tasks no 562 | 563 | #: Hide the kitty window from running tasks (Option+Tab) on macOS. 564 | 565 | macos_quit_when_last_window_closed no 566 | 567 | #: Have kitty quit when all the top-level windows are closed. By 568 | #: default, kitty will stay running, even with no open windows, as is 569 | #: the expected behavior on macOS. 570 | 571 | macos_window_resizable yes 572 | 573 | #: Disable this if you want kitty top-level (OS) windows to not be 574 | #: resizable on macOS. 575 | 576 | macos_thicken_font 0 577 | 578 | #: Draw an extra border around the font with the given width, to 579 | #: increase legibility at small font sizes. For example, a value of 580 | #: 0.75 will result in rendering that looks similar to sub-pixel 581 | #: antialiasing at common font sizes. 582 | 583 | macos_traditional_fullscreen no 584 | 585 | #: Use the traditional full-screen transition, that is faster, but 586 | #: less pretty. 587 | 588 | macos_custom_beam_cursor no 589 | 590 | #: Enable/disable custom mouse cursor for macOS that is easier to see 591 | #: on both light and dark backgrounds. WARNING: this might make your 592 | #: mouse cursor invisible on dual GPU machines. 593 | 594 | #: }}} 595 | 596 | #: Keyboard shortcuts {{{ 597 | 598 | #: For a list of key names, see: GLFW keys 599 | #: . The name to use 600 | #: is the part after the GLFW_KEY_ prefix. For a list of modifier 601 | #: names, see: GLFW mods 602 | #: 603 | 604 | #: On Linux you can also use XKB key names to bind keys that are not 605 | #: supported by GLFW. See XKB keys 606 | #: for a list of key names. The name to use is the part 608 | #: after the XKB_KEY_ prefix. Note that you should only use an XKB key 609 | #: name for keys that are not present in the list of GLFW keys. 610 | 611 | #: Finally, you can use raw system key codes to map keys. To see the 612 | #: system key code for a key, start kitty with the kitty --debug- 613 | #: keyboard option. Then kitty will output some debug text for every 614 | #: key event. In that text look for ``native_code`` the value of that 615 | #: becomes the key name in the shortcut. For example: 616 | 617 | #: .. code-block:: none 618 | 619 | #: on_key_input: glfw key: 65 native_code: 0x61 action: PRESS mods: 0x0 text: 'a' 620 | 621 | #: Here, the key name for the A key is 0x61 and you can use it with:: 622 | 623 | #: map ctrl+0x61 something 624 | 625 | #: to map ctrl+a to something. 626 | 627 | #: You can use the special action no_op to unmap a keyboard shortcut 628 | #: that is assigned in the default configuration. 629 | 630 | #: You can combine multiple actions to be triggered by a single 631 | #: shortcut, using the syntax below:: 632 | 633 | #: map key combine action1 action2 action3 ... 634 | 635 | #: For example:: 636 | 637 | #: map kitty_mod+e combine : new_window : next_layout 638 | 639 | #: this will create a new window and switch to the next available 640 | #: layout 641 | 642 | #: You can use multi-key shortcuts using the syntax shown below:: 643 | 644 | #: map key1>key2>key3 action 645 | 646 | #: For example:: 647 | 648 | #: map ctrl+f>2 set_font_size 20 649 | 650 | kitty_mod ctrl+shift 651 | 652 | #: The value of kitty_mod is used as the modifier for all default 653 | #: shortcuts, you can change it in your kitty.conf to change the 654 | #: modifiers for all the default shortcuts. 655 | 656 | clear_all_shortcuts no 657 | 658 | #: You can have kitty remove all shortcut definition seen up to this 659 | #: point. Useful, for instance, to remove the default shortcuts. 660 | 661 | #: Clipboard {{{ 662 | 663 | map kitty_mod+c copy_to_clipboard 664 | 665 | #: There is also a copy_or_interrupt action that can be optionally 666 | #: mapped to Ctrl+c. It will copy only if there is a selection and 667 | #: send an interrupt otherwise. 668 | 669 | map kitty_mod+v paste_from_clipboard 670 | map kitty_mod+s paste_from_selection 671 | map shift+insert paste_from_selection 672 | map kitty_mod+o pass_selection_to_program 673 | 674 | #: You can also pass the contents of the current selection to any 675 | #: program using pass_selection_to_program. By default, the system's 676 | #: open program is used, but you can specify your own, for example:: 677 | 678 | #: map kitty_mod+o pass_selection_to_program firefox 679 | 680 | #: You can pass the current selection to a terminal program running in 681 | #: a new kitty window, by using the @selection placeholder:: 682 | 683 | #: map kitty_mod+y new_window less @selection 684 | 685 | #: }}} 686 | 687 | #: Scrolling {{{ 688 | 689 | map kitty_mod+up scroll_line_up 690 | map kitty_mod+k scroll_line_up 691 | map kitty_mod+down scroll_line_down 692 | map kitty_mod+j scroll_line_down 693 | map kitty_mod+page_up scroll_page_up 694 | map kitty_mod+page_down scroll_page_down 695 | map kitty_mod+home scroll_home 696 | map kitty_mod+end scroll_end 697 | map kitty_mod+h show_scrollback 698 | 699 | #: You can pipe the contents of the current screen + history buffer as 700 | #: STDIN to an arbitrary program using the ``pipe`` function. For 701 | #: example, the following opens the scrollback buffer in less in an 702 | #: overlay window:: 703 | 704 | #: map f1 pipe @ansi overlay less +G -R 705 | 706 | #: For more details on piping screen and buffer contents to external 707 | #: programs, see pipe. 708 | 709 | #: }}} 710 | 711 | #: Window management {{{ 712 | 713 | map kitty_mod+enter new_window 714 | 715 | #: You can open a new window running an arbitrary program, for 716 | #: example:: 717 | 718 | #: map kitty_mod+y new_window mutt 719 | 720 | #: You can open a new window with the current working directory set to 721 | #: the working directory of the current window using:: 722 | 723 | #: map ctrl+alt+enter new_window_with_cwd 724 | 725 | #: You can open a new window that is allowed to control kitty via the 726 | #: kitty remote control facility by prefixing the command line with @. 727 | #: Any programs running in that window will be allowed to control 728 | #: kitty. For example:: 729 | 730 | #: map ctrl+enter new_window @ some_program 731 | 732 | map kitty_mod+n new_os_window 733 | map kitty_mod+w close_window 734 | map kitty_mod+] next_window 735 | map kitty_mod+[ previous_window 736 | map kitty_mod+f move_window_forward 737 | map kitty_mod+b move_window_backward 738 | map kitty_mod+` move_window_to_top 739 | map kitty_mod+r start_resizing_window 740 | map kitty_mod+1 first_window 741 | map kitty_mod+2 second_window 742 | map kitty_mod+3 third_window 743 | map kitty_mod+4 fourth_window 744 | map kitty_mod+5 fifth_window 745 | map kitty_mod+6 sixth_window 746 | map kitty_mod+7 seventh_window 747 | map kitty_mod+8 eighth_window 748 | map kitty_mod+9 ninth_window 749 | map kitty_mod+0 tenth_window 750 | #: }}} 751 | 752 | #: Tab management {{{ 753 | 754 | map kitty_mod+right next_tab 755 | map kitty_mod+left previous_tab 756 | map kitty_mod+t new_tab 757 | map kitty_mod+q close_tab 758 | map kitty_mod+. move_tab_forward 759 | map kitty_mod+, move_tab_backward 760 | map kitty_mod+alt+t set_tab_title 761 | 762 | #: You can also create shortcuts to go to specific tabs, with 1 being 763 | #: the first tab, 2 the second tab and -1 being the previously active 764 | #: tab:: 765 | 766 | #: map ctrl+alt+1 goto_tab 1 767 | #: map ctrl+alt+2 goto_tab 2 768 | 769 | #: Just as with new_window above, you can also pass the name of 770 | #: arbitrary commands to run when using new_tab and use 771 | #: new_tab_with_cwd. Finally, if you want the new tab to open next to 772 | #: the current tab rather than at the end of the tabs list, use:: 773 | 774 | #: map ctrl+t new_tab !neighbor [optional cmd to run] 775 | #: }}} 776 | 777 | #: Layout management {{{ 778 | 779 | map kitty_mod+l next_layout 780 | 781 | #: You can also create shortcuts to switch to specific layouts:: 782 | 783 | #: map ctrl+alt+t goto_layout tall 784 | #: map ctrl+alt+s goto_layout stack 785 | 786 | #: Similarly, to switch back to the previous layout:: 787 | 788 | #: map ctrl+alt+p last_used_layout 789 | #: }}} 790 | 791 | #: Font sizes {{{ 792 | 793 | #: You can change the font size for all top-level kitty OS windows at 794 | #: a time or only the current one. 795 | 796 | map kitty_mod+equal change_font_size all +2.0 797 | map kitty_mod+minus change_font_size all -2.0 798 | map kitty_mod+backspace change_font_size all 0 799 | 800 | #: To setup shortcuts for specific font sizes:: 801 | 802 | #: map kitty_mod+f6 change_font_size all 10.0 803 | 804 | #: To setup shortcuts to change only the current OS window's font 805 | #: size:: 806 | 807 | #: map kitty_mod+f6 change_font_size current 10.0 808 | #: }}} 809 | 810 | #: Select and act on visible text {{{ 811 | 812 | #: Use the hints kitten to select text and either pass it to an 813 | #: external program or insert it into the terminal or copy it to the 814 | #: clipboard. 815 | 816 | map kitty_mod+e kitten hints 817 | 818 | #: Open a currently visible URL using the keyboard. The program used 819 | #: to open the URL is specified in open_url_with. 820 | 821 | map kitty_mod+p>f kitten hints --type path --program - 822 | 823 | #: Select a path/filename and insert it into the terminal. Useful, for 824 | #: instance to run git commands on a filename output from a previous 825 | #: git command. 826 | 827 | map kitty_mod+p>shift+f kitten hints --type path 828 | 829 | #: Select a path/filename and open it with the default open program. 830 | 831 | map kitty_mod+p>l kitten hints --type line --program - 832 | 833 | #: Select a line of text and insert it into the terminal. Use for the 834 | #: output of things like: ls -1 835 | 836 | map kitty_mod+p>w kitten hints --type word --program - 837 | 838 | #: Select words and insert into terminal. 839 | 840 | map kitty_mod+p>h kitten hints --type hash --program - 841 | 842 | #: Select something that looks like a hash and insert it into the 843 | #: terminal. Useful with git, which uses sha1 hashes to identify 844 | #: commits 845 | 846 | 847 | #: The hints kitten has many more modes of operation that you can map 848 | #: to different shortcuts. For a full description see kittens/hints. 849 | #: }}} 850 | 851 | #: Miscellaneous {{{ 852 | 853 | map kitty_mod+f11 toggle_fullscreen 854 | map kitty_mod+u kitten unicode_input 855 | map kitty_mod+f2 edit_config_file 856 | map kitty_mod+escape kitty_shell window 857 | 858 | #: Open the kitty shell in a new window/tab/overlay/os_window to 859 | #: control kitty using commands. 860 | 861 | map kitty_mod+a>m set_background_opacity +0.1 862 | map kitty_mod+a>l set_background_opacity -0.1 863 | map kitty_mod+a>1 set_background_opacity 1 864 | map kitty_mod+a>d set_background_opacity default 865 | map kitty_mod+delete clear_terminal reset active 866 | 867 | #: You can create shortcuts to clear/reset the terminal. For example:: 868 | 869 | #: # Reset the terminal 870 | #: map kitty_mod+f9 clear_terminal reset active 871 | #: # Clear the terminal screen by erasing all contents 872 | #: map kitty_mod+f10 clear_terminal clear active 873 | #: # Clear the terminal scrollback by erasing it 874 | #: map kitty_mod+f11 clear_terminal scrollback active 875 | #: # Scroll the contents of the screen into the scrollback 876 | #: map kitty_mod+f12 clear_terminal scroll active 877 | 878 | #: If you want to operate on all windows instead of just the current 879 | #: one, use all instead of :italic`active`. 880 | 881 | #: It is also possible to remap Ctrl+L to both scroll the current 882 | #: screen contents into the scrollback buffer and clear the screen, 883 | #: instead of just clearing the screen:: 884 | 885 | #: map ctrl+l combine : clear_terminal scroll active : send_text normal,application 886 | 887 | 888 | #: You can tell kitty to send arbitrary (UTF-8) encoded text to the 889 | #: client program when pressing specified shortcut keys. For example:: 890 | 891 | #: map ctrl+alt+a send_text all Special text 892 | 893 | #: This will send "Special text" when you press the ctrl+alt+a key 894 | #: combination. The text to be sent is a python string literal so you 895 | #: can use escapes like \x1b to send control codes or \u21fb to send 896 | #: unicode characters (or you can just input the unicode characters 897 | #: directly as UTF-8 text). The first argument to send_text is the 898 | #: keyboard modes in which to activate the shortcut. The possible 899 | #: values are normal or application or kitty or a comma separated 900 | #: combination of them. The special keyword all means all modes. The 901 | #: modes normal and application refer to the DECCKM cursor key mode 902 | #: for terminals, and kitty refers to the special kitty extended 903 | #: keyboard protocol. 904 | 905 | #: Another example, that outputs a word and then moves the cursor to 906 | #: the start of the line (same as pressing the Home key):: 907 | 908 | #: map ctrl+alt+a send_text normal Word\x1b[H 909 | #: map ctrl+alt+a send_text application Word\x1bOH 910 | 911 | #: }}} 912 | 913 | # }}} 914 | --------------------------------------------------------------------------------