├── 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 | 
22 |
23 | ### Dark Solarized Theme
24 | 
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 |
--------------------------------------------------------------------------------