├── .gitignore
├── README.md
├── btop
├── btop.conf
└── themes
│ ├── catppuccin_frappe.theme
│ ├── catppuccin_latte.theme
│ ├── catppuccin_macchiato.theme
│ └── catppuccin_mocha.theme
├── cava
└── config
├── dunst
├── dunstrc
└── mocha.conf
├── hypr
├── hyprland.conf
├── scripts
│ ├── brightness_ctl.sh
│ ├── fans.sh
│ ├── import-gsettings.sh
│ ├── volume_ctl.sh
│ ├── wallpaper.sh
│ └── wallpaper
│ │ └── wallpaper.sh
├── themes
│ ├── frappe.conf
│ ├── latte.conf
│ ├── macchiato.conf
│ └── mocha.conf
└── xdg-portal.sh
├── kitty
├── current-theme.conf
├── kitty.conf
└── themes
│ ├── diff-frappe.conf
│ ├── diff-latte.conf
│ ├── diff-macchiato.conf
│ ├── diff-mocha.conf
│ ├── frappe.conf
│ ├── latte.conf
│ ├── macchiato.conf
│ └── mocha.conf
├── rofi
├── cliphist-rofi.sh
└── config.rasi
├── swayidle
└── config
├── swaylock
└── config
└── waybar
├── config
├── default
├── style.css
├── themes
├── catppuccin-mocha.css
├── tokyo-night.css
└── variables.css
└── tokyo_wip_style.css
/.gitignore:
--------------------------------------------------------------------------------
1 | Authy\ Desktop/
2 | autostart/
3 | beekeeper-studio/
4 | cef_user_data/
5 | Code/
6 | darktable/
7 | dconf/
8 | Docker\ Desktop/
9 | Electron/
10 | gcloud/
11 | google-chrome/
12 | i3/
13 | inkscape/
14 | menus/
15 | Morgen/
16 | nano/
17 | obs-studio/
18 | obsidian/
19 | Paradigma\ Software\, Inc\./
20 | ParadigmaSoft/
21 | pulse/
22 | spotify/
23 | systemd/
24 | Thunar/
25 | Unknown\ Organization/
26 | vifm/
27 | vlc/
28 | vscode-sqltools/
29 | xfce4/
30 | xsettingsd/
31 | yay/
32 | spicetify/
33 | Slack/
34 | neofetch/
35 | nordvpn/
36 | composer/
37 | deepin/
38 | flutter/
39 | composer/
40 | gedit/
41 | transmission-daemon/
42 | xed/
43 |
44 | nwg-look/config
45 | EOS-greeter.conf
46 | eos-update-notifier.first_init
47 | example.picom.conf
48 | pavucontrol.ini
49 | QtProject.conf
50 | reflector-simple-free-params.txt
51 | user-dirs.dirs
52 | user-dirs.locale
53 | xdg-terminals.list
54 | zoom.conf
55 | zoomus.conf
56 | btop/btop.log
57 | gtk-3.0/bookmarks
58 | gtk-3.0/gtk.css
59 | gtk-3.0/settings.ini
60 | gtk-4.0/gtk.css
61 | gtk-4.0/settings.ini
62 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hyprland Dots
2 |
3 | Fair warning, I've tried to keep these clean of any unnessecary pieces, and I can't guarantee everything will work for you. There may also be missing pieces!?
4 |
5 | this rice covers:
6 |
7 | * Hyprland - wm
8 | * btop - cpu graphs
9 | * cava - audio visualiser
10 | * dunst - notifications
11 | * kitty - terminal client
12 | * rofi - launcher
13 | * swaylock-effects - lockscreen
14 | * waybar - bar
15 | * slurp - screenshots
16 | * wf-recorder - screenrecording
17 |
18 | * 
19 |
20 |
21 | https://github.com/floodedcodeboy/hyprland-dots/assets/1107148/03549298-e996-4caf-8b72-b1b5a5d2ec14
22 |
23 |
24 |
25 | Feel free to leave comments and/or feedback!
26 |
27 |
--------------------------------------------------------------------------------
/btop/btop.conf:
--------------------------------------------------------------------------------
1 | #? Config file for btop v. 1.3.0
2 |
3 | #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
4 | #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
5 | color_theme = "/home/jacob/.config/btop/themes/catppuccin_mocha.theme"
6 |
7 | #* If the theme set background should be shown, set to False if you want terminal background transparency.
8 | theme_background = True
9 |
10 | #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
11 | truecolor = True
12 |
13 | #* Set to true to force tty mode regardless if a real tty has been detected or not.
14 | #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
15 | force_tty = False
16 |
17 | #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
18 | #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
19 | #* Use whitespace " " as separator between different presets.
20 | #* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
21 | presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
22 |
23 | #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
24 | #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
25 | vim_keys = False
26 |
27 | #* Rounded corners on boxes, is ignored if TTY mode is ON.
28 | rounded_corners = True
29 |
30 | #* Default symbols to use for graph creation, "braille", "block" or "tty".
31 | #* "braille" offers the highest resolution but might not be included in all fonts.
32 | #* "block" has half the resolution of braille but uses more common characters.
33 | #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
34 | #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
35 | graph_symbol = "braille"
36 |
37 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
38 | graph_symbol_cpu = "default"
39 |
40 | # Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
41 | graph_symbol_gpu = "default"
42 |
43 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
44 | graph_symbol_mem = "default"
45 |
46 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
47 | graph_symbol_net = "default"
48 |
49 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
50 | graph_symbol_proc = "default"
51 |
52 | #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
53 | shown_boxes = "cpu mem net proc"
54 |
55 | #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
56 | update_ms = 2000
57 |
58 | #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
59 | #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
60 | proc_sorting = "cpu lazy"
61 |
62 | #* Reverse sorting order, True or False.
63 | proc_reversed = False
64 |
65 | #* Show processes as a tree.
66 | proc_tree = False
67 |
68 | #* Use the cpu graph colors in the process list.
69 | proc_colors = True
70 |
71 | #* Use a darkening gradient in the process list.
72 | proc_gradient = True
73 |
74 | #* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
75 | proc_per_core = False
76 |
77 | #* Show process memory as bytes instead of percent.
78 | proc_mem_bytes = True
79 |
80 | #* Show cpu graph for each process.
81 | proc_cpu_graphs = True
82 |
83 | #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
84 | proc_info_smaps = False
85 |
86 | #* Show proc box on left side of screen instead of right.
87 | proc_left = True
88 |
89 | #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
90 | proc_filter_kernel = False
91 |
92 | #* In tree-view, always accumulate child process resources in the parent process.
93 | proc_aggregate = False
94 |
95 | #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
96 | #* Select from a list of detected attributes from the options menu.
97 | cpu_graph_upper = "total"
98 |
99 | #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
100 | #* Select from a list of detected attributes from the options menu.
101 | cpu_graph_lower = "user"
102 |
103 | #* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
104 | show_gpu_info = "Auto"
105 |
106 | #* Toggles if the lower CPU graph should be inverted.
107 | cpu_invert_lower = False
108 |
109 | #* Set to True to completely disable the lower CPU graph.
110 | cpu_single_graph = False
111 |
112 | #* Show cpu box at bottom of screen instead of top.
113 | cpu_bottom = False
114 |
115 | #* Shows the system uptime in the CPU box.
116 | show_uptime = True
117 |
118 | #* Show cpu temperature.
119 | check_temp = True
120 |
121 | #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
122 | cpu_sensor = "Auto"
123 |
124 | #* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
125 | show_coretemp = True
126 |
127 | #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
128 | #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
129 | #* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
130 | #* Example: "4:0 5:1 6:3"
131 | cpu_core_map = ""
132 |
133 | #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
134 | temp_scale = "celsius"
135 |
136 | #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
137 | base_10_sizes = False
138 |
139 | #* Show CPU frequency.
140 | show_cpu_freq = True
141 |
142 | #* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
143 | #* Special formatting: /host = hostname | /user = username | /uptime = system uptime
144 | clock_format = "%X"
145 |
146 | #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
147 | background_update = True
148 |
149 | #* Custom cpu model name, empty string to disable.
150 | custom_cpu_name = ""
151 |
152 | #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
153 | #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
154 | disks_filter = ""
155 |
156 | #* Show graphs instead of meters for memory values.
157 | mem_graphs = False
158 |
159 | #* Show mem box below net box instead of above.
160 | mem_below_net = False
161 |
162 | #* Count ZFS ARC in cached and available memory.
163 | zfs_arc_cached = True
164 |
165 | #* If swap memory should be shown in memory box.
166 | show_swap = True
167 |
168 | #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
169 | swap_disk = True
170 |
171 | #* If mem box should be split to also show disks info.
172 | show_disks = True
173 |
174 | #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
175 | only_physical = True
176 |
177 | #* Read disks list from /etc/fstab. This also disables only_physical.
178 | use_fstab = True
179 |
180 | #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
181 | zfs_hide_datasets = False
182 |
183 | #* Set to true to show available disk space for privileged users.
184 | disk_free_priv = False
185 |
186 | #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
187 | show_io_stat = False
188 |
189 | #* Toggles io mode for disks, showing big graphs for disk read/write speeds.
190 | io_mode = False
191 |
192 | #* Set to True to show combined read/write io graphs in io mode.
193 | io_graph_combined = False
194 |
195 | #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
196 | #* Example: "/mnt/media:100 /:20 /boot:1".
197 | io_graph_speeds = ""
198 |
199 | #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
200 | net_download = 100
201 |
202 | net_upload = 100
203 |
204 | #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
205 | net_auto = True
206 |
207 | #* Sync the auto scaling for download and upload to whichever currently has the highest scale.
208 | net_sync = True
209 |
210 | #* Starts with the Network Interface specified here.
211 | net_iface = ""
212 |
213 | #* Show battery stats in top right if battery is present.
214 | show_battery = True
215 |
216 | #* Which battery to use if multiple are present. "Auto" for auto detection.
217 | selected_battery = "Auto"
218 |
219 | #* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
220 | #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
221 | log_level = "WARNING"
222 |
223 | #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
224 | nvml_measure_pcie_speeds = True
225 |
226 | #* Horizontally mirror the GPU graph.
227 | gpu_mirror_graph = True
228 |
229 | #* Custom gpu0 model name, empty string to disable.
230 | custom_gpu_name0 = ""
231 |
232 | #* Custom gpu1 model name, empty string to disable.
233 | custom_gpu_name1 = ""
234 |
235 | #* Custom gpu2 model name, empty string to disable.
236 | custom_gpu_name2 = ""
237 |
238 | #* Custom gpu3 model name, empty string to disable.
239 | custom_gpu_name3 = ""
240 |
241 | #* Custom gpu4 model name, empty string to disable.
242 | custom_gpu_name4 = ""
243 |
244 | #* Custom gpu5 model name, empty string to disable.
245 | custom_gpu_name5 = ""
--------------------------------------------------------------------------------
/btop/themes/catppuccin_frappe.theme:
--------------------------------------------------------------------------------
1 | # Main background, empty for terminal default, need to be empty if you want transparent background
2 | theme[main_bg]="#303446"
3 |
4 | # Main text color
5 | theme[main_fg]="#C6D0F5"
6 |
7 | # Title color for boxes
8 | theme[title]="#C6D0F5"
9 |
10 | # Highlight color for keyboard shortcuts
11 | theme[hi_fg]="#8CAAEE"
12 |
13 | # Background color of selected item in processes box
14 | theme[selected_bg]="#51576D"
15 |
16 | # Foreground color of selected item in processes box
17 | theme[selected_fg]="#8CAAEE"
18 |
19 | # Color of inactive/disabled text
20 | theme[inactive_fg]="#838BA7"
21 |
22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
23 | theme[graph_text]="#F2D5CF"
24 |
25 | # Background color of the percentage meters
26 | theme[meter_bg]="#51576D"
27 |
28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
29 | theme[proc_misc]="#F2D5CF"
30 |
31 | # CPU, Memory, Network, Proc box outline colors
32 | theme[cpu_box]="#ca9ee6" #Mauve
33 | theme[mem_box]="#a6d189" #Green
34 | theme[net_box]="#ea999c" #Maroon
35 | theme[proc_box]="#8caaee" #Blue
36 |
37 | # Box divider line and small boxes line color
38 | theme[div_line]="#737994"
39 |
40 | # Temperature graph color (Green -> Yellow -> Red)
41 | theme[temp_start]="#a6d189"
42 | theme[temp_mid]="#e5c890"
43 | theme[temp_end]="#e78284"
44 |
45 | # CPU graph colors (Teal -> Lavender)
46 | theme[cpu_start]="#81c8be"
47 | theme[cpu_mid]="#85c1dc"
48 | theme[cpu_end]="#babbf1"
49 |
50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue)
51 | theme[free_start]="#ca9ee6"
52 | theme[free_mid]="#babbf1"
53 | theme[free_end]="#8caaee"
54 |
55 | # Mem/Disk cached meter (Sapphire -> Lavender)
56 | theme[cached_start]="#85c1dc"
57 | theme[cached_mid]="#8caaee"
58 | theme[cached_end]="#babbf1"
59 |
60 | # Mem/Disk available meter (Peach -> Red)
61 | theme[available_start]="#ef9f76"
62 | theme[available_mid]="#ea999c"
63 | theme[available_end]="#e78284"
64 |
65 | # Mem/Disk used meter (Green -> Sky)
66 | theme[used_start]="#a6d189"
67 | theme[used_mid]="#81c8be"
68 | theme[used_end]="#99d1db"
69 |
70 | # Download graph colors (Peach -> Red)
71 | theme[download_start]="#ef9f76"
72 | theme[download_mid]="#ea999c"
73 | theme[download_end]="#e78284"
74 |
75 | # Upload graph colors (Green -> Sky)
76 | theme[upload_start]="#a6d189"
77 | theme[upload_mid]="#81c8be"
78 | theme[upload_end]="#99d1db"
79 |
80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
81 | theme[process_start]="#85c1dc"
82 | theme[process_mid]="#babbf1"
83 | theme[process_end]="#ca9ee6"
84 |
--------------------------------------------------------------------------------
/btop/themes/catppuccin_latte.theme:
--------------------------------------------------------------------------------
1 | # Main background, empty for terminal default, need to be empty if you want transparent background
2 | theme[main_bg]="#EFF1F5"
3 |
4 | # Main text color
5 | theme[main_fg]="#4C4F69"
6 |
7 | # Title color for boxes
8 | theme[title]="#4C4F69"
9 |
10 | # Highlight color for keyboard shortcuts
11 | theme[hi_fg]="#1E66F5"
12 |
13 | # Background color of selected item in processes box
14 | theme[selected_bg]="#BCC0CC"
15 |
16 | # Foreground color of selected item in processes box
17 | theme[selected_fg]="#1E66F5"
18 |
19 | # Color of inactive/disabled text
20 | theme[inactive_fg]="#8C8FA1"
21 |
22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
23 | theme[graph_text]="#DC8A78"
24 |
25 | # Background color of the percentage meters
26 | theme[meter_bg]="#BCC0CC"
27 |
28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
29 | theme[proc_misc]="#DC8A78"
30 |
31 | # CPU, Memory, Network, Proc box outline colors
32 | theme[cpu_box]="#8839ef" #Mauve
33 | theme[mem_box]="#40a02b" #Green
34 | theme[net_box]="#e64553" #Maroon
35 | theme[proc_box]="#1e66f5" #Blue
36 |
37 | # Box divider line and small boxes line color
38 | theme[div_line]="#9CA0B0"
39 |
40 | # Temperature graph color (Green -> Yellow -> Red)
41 | theme[temp_start]="#40a02b
42 | theme[temp_mid]="#df8e1d"
43 | theme[temp_end]="#d20f39"
44 |
45 | # CPU graph colors (Teal -> Lavender)
46 | theme[cpu_start]="#179299"
47 | theme[cpu_mid]="#209fb5"
48 | theme[cpu_end]="#7287fd"
49 |
50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue)
51 | theme[free_start]="#8839ef"
52 | theme[free_mid]="#7287fd"
53 | theme[free_end]="#1e66f5"
54 |
55 | # Mem/Disk cached meter (Sapphire -> Lavender)
56 | theme[cached_start]="#209fb5"
57 | theme[cached_mid]="#1e66f5"
58 | theme[cached_end]="#7287fd"
59 |
60 | # Mem/Disk available meter (Peach -> Red)
61 | theme[available_start]="#fe640b"
62 | theme[available_mid]="#e64553"
63 | theme[available_end]="#d20f39"
64 |
65 |
66 | # Mem/Disk used meter (Green -> Sky)
67 | theme[used_start]="#40a02b"
68 | theme[used_mid]="#179299"
69 | theme[used_end]="#04a5e5"
70 |
71 | # Download graph colors (Peach -> Red)
72 | theme[download_start]="#fe640b"
73 | theme[download_mid]="#e64553"
74 | theme[download_end]="#d20f39"
75 |
76 | # Upload graph colors (Green -> Sky)
77 | theme[upload_start]="#40a02b"
78 | theme[upload_mid]="#179299"
79 | theme[upload_end]="#04a5e5"
80 |
81 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Lavender-> Mauve)
82 | theme[process_start]="#209fb5"
83 | theme[process_mid]="#7287fd"
84 | theme[process_end]="#8839ef"
85 |
--------------------------------------------------------------------------------
/btop/themes/catppuccin_macchiato.theme:
--------------------------------------------------------------------------------
1 | # Main background, empty for terminal default, need to be empty if you want transparent background
2 | theme[main_bg]="#24273A"
3 |
4 | # Main text color
5 | theme[main_fg]="#CAD3F5"
6 |
7 | # Title color for boxes
8 | theme[title]="#CAD3F5"
9 |
10 | # Highlight color for keyboard shortcuts
11 | theme[hi_fg]="#8AADF4"
12 |
13 | # Background color of selected item in processes box
14 | theme[selected_bg]="#494D64"
15 |
16 | # Foreground color of selected item in processes box
17 | theme[selected_fg]="#8AADF4"
18 |
19 | # Color of inactive/disabled text
20 | theme[inactive_fg]="#8087A2"
21 |
22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
23 | theme[graph_text]="#F4DBD6"
24 |
25 | # Background color of the percentage meters
26 | theme[meter_bg]="#494D64"
27 |
28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
29 | theme[proc_misc]="#F4DBD6"
30 |
31 | # CPU, Memory, Network, Proc box outline colors
32 | theme[cpu_box]="#c6a0f6" #Mauve
33 | theme[mem_box]="#a6da95" #Green
34 | theme[net_box]="#ee99a0" #Maroon
35 | theme[proc_box]="#8aadf4" #Blue
36 |
37 | # Box divider line and small boxes line color
38 | theme[div_line]="#6E738D"
39 |
40 | # Temperature graph color (Green -> Yellow -> Red)
41 | theme[temp_start]="#a6da95"
42 | theme[temp_mid]="#eed49f"
43 | theme[temp_end]="#ed8796"
44 |
45 | # CPU graph colors (Teal -> Lavender)
46 | theme[cpu_start]="#8bd5ca"
47 | theme[cpu_mid]="#7dc4e4"
48 | theme[cpu_end]="#b7bdf8"
49 |
50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue)
51 | theme[free_start]="#c6a0f6"
52 | theme[free_mid]="#b7bdf8"
53 | theme[free_end]="#8aadf4"
54 |
55 | # Mem/Disk cached meter (Sapphire -> Lavender)
56 | theme[cached_start]="#7dc4e4"
57 | theme[cached_mid]="#8aadf4"
58 | theme[cached_end]="#b7bdf8"
59 |
60 | # Mem/Disk available meter (Peach -> Red)
61 | theme[available_start]="#f5a97f"
62 | theme[available_mid]="#ee99a0"
63 | theme[available_end]="#ed8796"
64 |
65 | # Mem/Disk used meter (Green -> Sky)
66 | theme[used_start]="#a6da95"
67 | theme[used_mid]="#8bd5ca"
68 | theme[used_end]="#91d7e3"
69 |
70 | # Download graph colors (Peach -> Red)
71 | theme[download_start]="#f5a97f"
72 | theme[download_mid]="#ee99a0"
73 | theme[download_end]="#ed8796"
74 |
75 | # Upload graph colors (Green -> Sky)
76 | theme[upload_start]="#a6da95"
77 | theme[upload_mid]="#8bd5ca"
78 | theme[upload_end]="#91d7e3"
79 |
80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
81 | theme[process_start]="#7dc4e4"
82 | theme[process_mid]="#b7bdf8"
83 | theme[process_end]="#c6a0f6"
84 |
--------------------------------------------------------------------------------
/btop/themes/catppuccin_mocha.theme:
--------------------------------------------------------------------------------
1 | # Main background, empty for terminal default, need to be empty if you want transparent background
2 | theme[main_bg]="#1E1E2E"
3 |
4 | # Main text color
5 | theme[main_fg]="#CDD6F4"
6 |
7 | # Title color for boxes
8 | theme[title]="#CDD6F4"
9 |
10 | # Highlight color for keyboard shortcuts
11 | theme[hi_fg]="#89B4FA"
12 |
13 | # Background color of selected item in processes box
14 | theme[selected_bg]="#45475A"
15 |
16 | # Foreground color of selected item in processes box
17 | theme[selected_fg]="#89B4FA"
18 |
19 | # Color of inactive/disabled text
20 | theme[inactive_fg]="#7F849C"
21 |
22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
23 | theme[graph_text]="#F5E0DC"
24 |
25 | # Background color of the percentage meters
26 | theme[meter_bg]="#45475A"
27 |
28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
29 | theme[proc_misc]="#F5E0DC"
30 |
31 | # CPU, Memory, Network, Proc box outline colors
32 | theme[cpu_box]="#cba6f7" #Mauve
33 | theme[mem_box]="#a6e3a1" #Green
34 | theme[net_box]="#eba0ac" #Maroon
35 | theme[proc_box]="#89b4fa" #Blue
36 |
37 | # Box divider line and small boxes line color
38 | theme[div_line]="#6C7086"
39 |
40 | # Temperature graph color (Green -> Yellow -> Red)
41 | theme[temp_start]="#a6e3a1"
42 | theme[temp_mid]="#f9e2af"
43 | theme[temp_end]="#f38ba8"
44 |
45 | # CPU graph colors (Teal -> Lavender)
46 | theme[cpu_start]="#94e2d5"
47 | theme[cpu_mid]="#74c7ec"
48 | theme[cpu_end]="#b4befe"
49 |
50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue)
51 | theme[free_start]="#cba6f7"
52 | theme[free_mid]="#b4befe"
53 | theme[free_end]="#89b4fa"
54 |
55 | # Mem/Disk cached meter (Sapphire -> Lavender)
56 | theme[cached_start]="#74c7ec"
57 | theme[cached_mid]="#89b4fa"
58 | theme[cached_end]="#b4befe"
59 |
60 | # Mem/Disk available meter (Peach -> Red)
61 | theme[available_start]="#fab387"
62 | theme[available_mid]="#eba0ac"
63 | theme[available_end]="#f38ba8"
64 |
65 | # Mem/Disk used meter (Green -> Sky)
66 | theme[used_start]="#a6e3a1"
67 | theme[used_mid]="#94e2d5"
68 | theme[used_end]="#89dceb"
69 |
70 | # Download graph colors (Peach -> Red)
71 | theme[download_start]="#fab387"
72 | theme[download_mid]="#eba0ac"
73 | theme[download_end]="#f38ba8"
74 |
75 | # Upload graph colors (Green -> Sky)
76 | theme[upload_start]="#a6e3a1"
77 | theme[upload_mid]="#94e2d5"
78 | theme[upload_end]="#89dceb
79 |
80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
81 | theme[process_start]="#74C7EC"
82 | theme[process_mid]="#89DCEB"
83 | theme[process_end]="#cba6f7"
84 |
--------------------------------------------------------------------------------
/cava/config:
--------------------------------------------------------------------------------
1 | ## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
2 |
3 |
4 | [general]
5 |
6 | # Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
7 | ; mode = normal
8 |
9 | # Accepts only non-negative values.
10 | ; framerate = 60
11 |
12 | # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
13 | # new as of 0.6.0 autosens of low values (dynamic range)
14 | # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
15 | ; autosens = 1
16 | ; overshoot = 20
17 |
18 | # Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
19 | # 200 means double height. Accepts only non-negative values.
20 | ; sensitivity = 100
21 |
22 | # The number of bars (0-200). 0 sets it to auto (fill up console).
23 | # Bars' width and space between bars in number of characters.
24 | ; bars = 0
25 | ; bar_width = 2
26 | ; bar_spacing = 1
27 | # bar_height is only used for output in "noritake" format
28 | ; bar_height = 32
29 |
30 | # For SDL width and space between bars is in pixels, defaults are:
31 | ; bar_width = 20
32 | ; bar_spacing = 5
33 |
34 |
35 | # Lower and higher cutoff frequencies for lowest and highest bars
36 | # the bandwidth of the visualizer.
37 | # Note: there is a minimum total bandwidth of 43Mhz x number of bars.
38 | # Cava will automatically increase the higher cutoff if a too low band is specified.
39 | ; lower_cutoff_freq = 50
40 | ; higher_cutoff_freq = 10000
41 |
42 |
43 | # Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
44 | # only check for input once per second. Cava will wake up once input is detected. 0 = disable.
45 | ; sleep_timer = 0
46 |
47 |
48 | [input]
49 |
50 | # Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
51 | # Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
52 | #
53 | # All input methods uses the same config variable 'source'
54 | # to define where it should get the audio.
55 | #
56 | # For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
57 | # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
58 | #
59 | # For alsa 'source' will be the capture device.
60 | # For fifo 'source' will be the path to fifo-file.
61 | # For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
62 | ; method = pulse
63 | ; source = auto
64 |
65 | method = pipewire
66 | source = auto
67 |
68 | ; method = alsa
69 | ; source = hw:Loopback,1
70 |
71 | ; method = fifo
72 | ; source = /tmp/mpd.fifo
73 | ; sample_rate = 44100
74 | ; sample_bits = 16
75 |
76 | ; method = shmem
77 | ; source = /squeezelite-AA:BB:CC:DD:EE:FF
78 |
79 | ; method = portaudio
80 | ; source = auto
81 |
82 |
83 | [output]
84 |
85 | # Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake' or 'sdl'.
86 | # 'noncurses' uses a custom framebuffer technique and prints only changes
87 | # from frame to frame in the terminal. 'ncurses' is default if supported.
88 | #
89 | # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
90 | # stream of the bar heights that can be used to send to other applications.
91 | # 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
92 | #
93 | # 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
94 | # in graphic mode. It only support the 3000 series graphical VFDs for now.
95 | #
96 | # 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
97 | ; method = ncurses
98 |
99 | # Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
100 | # Default is 'bottom'. Other orientations are only supported on sdl and ncruses
101 | # output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
102 | # which can make ncurses not look right.
103 | ; orientation = bottom
104 |
105 | # Visual channels. Can be 'stereo' or 'mono'.
106 | # 'stereo' mirrors both channels with low frequencies in center.
107 | # 'mono' outputs left to right lowest to highest frequencies.
108 | # 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
109 | # set 'reverse' to 1 to display frequencies the other way around.
110 | ; channels = stereo
111 | ; mono_option = average
112 | ; reverse = 0
113 |
114 | # Raw output target. A fifo will be created if target does not exist.
115 | ; raw_target = /dev/stdout
116 |
117 | # Raw data format. Can be 'binary' or 'ascii'.
118 | ; data_format = binary
119 |
120 | # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
121 | ; bit_format = 16bit
122 |
123 | # Ascii max value. In 'ascii' mode range will run from 0 to value specified here
124 | ; ascii_max_range = 1000
125 |
126 | # Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
127 | # Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
128 | ; bar_delimiter = 59
129 | ; frame_delimiter = 10
130 |
131 | # sdl window size and position. -1,-1 is centered.
132 | ; sdl_width = 1000
133 | ; sdl_height = 500
134 | ; sdl_x = -1
135 | ; sdl_y= -1
136 |
137 | # set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
138 | # 'frequency' displays the lower cut off frequency of the bar above.
139 | # Only supported on ncurses and noncurses output.
140 | ; xaxis = none
141 |
142 | # enable alacritty synchronized updates. 1 = on, 0 = off
143 | # removes flickering in alacritty terminal emeulator.
144 | # defaults to off since the behaviour in other terminal emulators is unknown
145 | ; alacritty_sync = 0
146 |
147 | [color]
148 |
149 | # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
150 | # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
151 | # a terminal that can change color definitions such as Gnome-terminal or rxvt.
152 | # default is to keep current terminal color
153 | ; background = default
154 | ; foreground = default
155 |
156 | # SDL only support hex code colors, these are the default:
157 | ; background = '#111111'
158 | ; foreground = '#33cccc'
159 |
160 |
161 | # Gradient mode, only hex defined colors are supported,
162 | # background must also be defined in hex or remain commented out. 1 = on, 0 = off.
163 | # You can define as many as 8 different colors. They range from bottom to top of screen
164 | ; gradient = 0
165 | ; gradient_count = 8
166 | ; gradient_color_1 = '#59cc33'
167 | ; gradient_color_2 = '#80cc33'
168 | ; gradient_color_3 = '#a6cc33'
169 | ; gradient_color_4 = '#cccc33'
170 | ; gradient_color_5 = '#cca633'
171 | ; gradient_color_6 = '#cc8033'
172 | ; gradient_color_7 = '#cc5933'
173 | ; gradient_color_8 = '#cc3333'
174 |
175 |
176 |
177 | [smoothing]
178 |
179 | # Percentage value for integral smoothing. Takes values from 0 - 100.
180 | # Higher values means smoother, but less precise. 0 to disable.
181 | # DEPRECATED as of 0.8.0, use noise_reduction instead
182 | ; integral = 77
183 |
184 | # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
185 | ; monstercat = 0
186 | ; waves = 0
187 |
188 | # Set gravity percentage for "drop off". Higher values means bars will drop faster.
189 | # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
190 | # DEPRECATED as of 0.8.0, use noise_reduction instead
191 | ; gravity = 100
192 |
193 |
194 | # In bar height, bars that would have been lower that this will not be drawn.
195 | # DEPRECATED as of 0.8.0
196 | ; ignore = 0
197 |
198 | # Noise reduction, float 0 - 1. default 0.77
199 | # the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
200 | # 1 will be very slow and smooth, 0 will be fast but noisy.
201 | ; noise_reduction = 0.77
202 |
203 |
204 | [eq]
205 |
206 | # This one is tricky. You can have as much keys as you want.
207 | # Remember to uncomment more then one key! More keys = more precision.
208 | # Look at readme.md on github for further explanations and examples.
209 | ; 1 = 1 # bass
210 | ; 2 = 1
211 | ; 3 = 1 # midtone
212 | ; 4 = 1
213 | ; 5 = 1 # treble
214 |
--------------------------------------------------------------------------------
/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | # See dunst(5) for all configuration options
2 |
3 | [global]
4 | ### Display ###
5 |
6 | # Which monitor should the notifications be displayed on.
7 | monitor = 0
8 |
9 | # Display notification on focused monitor. Possible modes are:
10 | # mouse: follow mouse pointer
11 | # keyboard: follow window with keyboard focus
12 | # none: don't follow anything
13 | #
14 | # "keyboard" needs a window manager that exports the
15 | # _NET_ACTIVE_WINDOW property.
16 | # This should be the case for almost all modern window managers.
17 | #
18 | # If this option is set to mouse or keyboard, the monitor option
19 | # will be ignored.
20 | follow = none
21 |
22 | ### Geometry ###
23 |
24 | # dynamic width from 0 to 300
25 | # width = (0, 300)
26 | # constant width of 300
27 | width = 300
28 |
29 | # The maximum height of a single notification, excluding the frame.
30 | height = 300
31 |
32 | # Position the notification in the top right corner
33 | origin = bottom-right
34 |
35 | # Offset from the origin
36 | offset = 30x40
37 |
38 | # Scale factor. It is auto-detected if value is 0.
39 | scale = 0
40 |
41 | # Maximum number of notification (0 means no limit)
42 | notification_limit = 7
43 |
44 | ### Progress bar ###
45 |
46 | # Turn on the progess bar. It appears when a progress hint is passed with
47 | # for example dunstify -h int:value:12
48 | progress_bar = true
49 |
50 | # Set the progress bar height. This includes the frame, so make sure
51 | # it's at least twice as big as the frame width.
52 | progress_bar_height = 10
53 |
54 | # Set the frame width of the progress bar
55 | progress_bar_frame_width = 1
56 |
57 | # Set the minimum width for the progress bar
58 | progress_bar_min_width = 150
59 |
60 | # Set the maximum width for the progress bar
61 | progress_bar_max_width = 300
62 |
63 |
64 | # Show how many messages are currently hidden (because of
65 | # notification_limit).
66 | indicate_hidden = yes
67 |
68 | # The transparency of the window. Range: [0; 100].
69 | # This option will only work if a compositing window manager is
70 | # present (e.g. xcompmgr, compiz, etc.). (X11 only)
71 | transparency = 16
72 |
73 | # Draw a line of "separator_height" pixel height between two
74 | # notifications.
75 | # Set to 0 to disable.
76 | separator_height = 2
77 |
78 | # Padding between text and separator.
79 | padding = 8
80 |
81 | # Horizontal padding.
82 | horizontal_padding = 8
83 |
84 | # Padding between text and icon.
85 | text_icon_padding = 0
86 |
87 | # Defines width in pixels of frame around the notification window.
88 | # Set to 0 to disable.
89 | frame_width = 1
90 |
91 | # Defines color of the frame around the notification window.
92 | # frame_color = "#7f3fbf"
93 | frame_color = "#89B4FA"
94 | separator_color= frame
95 | # Define a color for the separator.
96 | # possible values are:
97 | # * auto: dunst tries to find a color fitting to the background;
98 | # * foreground: use the same color as the foreground;
99 | # * frame: use the same color as the frame;
100 | # * anything else will be interpreted as a X color.
101 | # separator_color = auto
102 |
103 | # Sort messages by urgency.
104 | sort = yes
105 |
106 | # Don't remove messages, if the user is idle (no mouse or keyboard input)
107 | # for longer than idle_threshold seconds.
108 | # Set to 0 to disable.
109 | # A client can set the 'transient' hint to bypass this. See the rules
110 | # section for how to disable this if necessary
111 | idle_threshold = 0
112 |
113 | ### Text ###
114 |
115 | font = Noto Sans Regular 9
116 |
117 | # The spacing between lines. If the height is smaller than the
118 | # font height, it will get raised to the font height.
119 | line_height = 0
120 |
121 | # Possible values are:
122 | # full: Allow a small subset of html markup in notifications:
123 | # bold
124 | # italic
125 | # strikethrough
126 | # underline
127 | #
128 | # For a complete reference see
129 | # .
130 | #
131 | # strip: This setting is provided for compatibility with some broken
132 | # clients that send markup even though it's not enabled on the
133 | # server. Dunst will try to strip the markup but the parsing is
134 | # simplistic so using this option outside of matching rules for
135 | # specific applications *IS GREATLY DISCOURAGED*.
136 | #
137 | # no: Disable markup parsing, incoming notifications will be treated as
138 | # plain text. Dunst will not advertise that it has the body-markup
139 | # capability if this is set as a global setting.
140 | #
141 | # It's important to note that markup inside the format option will be parsed
142 | # regardless of what this is set to.
143 | markup = full
144 |
145 | # The format of the message. Possible variables are:
146 | # %a appname
147 | # %s summary
148 | # %b body
149 | # %i iconname (including its path)
150 | # %I iconname (without its path)
151 | # %p progress value if set ([ 0%] to [100%]) or nothing
152 | # %n progress value if set without any extra characters
153 | # %% Literal %
154 | # Markup is allowed
155 | format = "%s\n%b"
156 |
157 | # Alignment of message text.
158 | # Possible values are "left", "center" and "right".
159 | alignment = left
160 |
161 | # Vertical alignment of message text and icon.
162 | # Possible values are "top", "center" and "bottom".
163 | vertical_alignment = center
164 |
165 | # Show age of message if message is older than show_age_threshold
166 | # seconds.
167 | # Set to -1 to disable.
168 | show_age_threshold = 60
169 |
170 | # Specify where to make an ellipsis in long lines.
171 | # Possible values are "start", "middle" and "end".
172 | ellipsize = middle
173 |
174 | # Ignore newlines '\n' in notifications.
175 | ignore_newline = no
176 |
177 | # Stack together notifications with the same content
178 | stack_duplicates = true
179 |
180 | # Hide the count of stacked notifications with the same content
181 | hide_duplicate_count = true
182 |
183 | # Display indicators for URLs (U) and actions (A).
184 | show_indicators = yes
185 |
186 | ### Icons ###
187 |
188 | # Align icons left/right/off
189 | icon_position = left
190 |
191 | # Scale small icons up to this size, set to 0 to disable. Helpful
192 | # for e.g. small files or high-dpi screens. In case of conflict,
193 | # max_icon_size takes precedence over this.
194 | min_icon_size = 0
195 |
196 | # Scale larger icons down to this size, set to 0 to disable
197 | max_icon_size = 32
198 |
199 | # Paths to default icons.
200 | #icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
201 | icon_path = /usr/share/icons/Qogir/16/status:/usr/share/icons/Qogir/16/devices/:/usr/share/icons/Qogir/16/apps/:/usr/share/pixmaps/
202 |
203 | ### History ###
204 |
205 | # Should a notification popped up from history be sticky or timeout
206 | # as if it would normally do.
207 | sticky_history = false
208 |
209 | # Maximum amount of notifications kept in history
210 | history_length = 0
211 |
212 | ### Misc/Advanced ###
213 |
214 | # dmenu path.
215 | dmenu = /usr/bin/dmenu -p dunst:
216 |
217 | # Browser for opening urls in context menu.
218 | browser = /usr/bin/xdg-open
219 |
220 | # Always run rule-defined scripts, even if the notification is suppressed
221 | always_run_script = true
222 |
223 | # Define the title of the windows spawned by dunst
224 | title = Dunst
225 |
226 | # Define the class of the windows spawned by dunst
227 | class = Dunst
228 |
229 | # Define the corner radius of the notification window
230 | # in pixel size. If the radius is 0, you have no rounded
231 | # corners.
232 | # The radius will be automatically lowered if it exceeds half of the
233 | # notification height to avoid clipping text and/or icons.
234 | corner_radius = 7
235 |
236 | # Ignore the dbus closeNotification message.
237 | # Useful to enforce the timeout set by dunst configuration. Without this
238 | # parameter, an application may close the notification sent before the
239 | # user defined timeout.
240 | ignore_dbusclose = false
241 |
242 | ### Wayland ###
243 | # These settings are Wayland-specific. They have no effect when using X11
244 |
245 | # Uncomment this if you want to let notications appear under fullscreen
246 | # applications (default: overlay)
247 | # layer = top
248 |
249 | # Set this to true to use X11 output on Wayland.
250 | force_xwayland = false
251 |
252 | ### Legacy
253 |
254 | # Use the Xinerama extension instead of RandR for multi-monitor support.
255 | # This setting is provided for compatibility with older nVidia drivers that
256 | # do not support RandR and using it on systems that support RandR is highly
257 | # discouraged.
258 | #
259 | # By enabling this setting dunst will not be able to detect when a monitor
260 | # is connected or disconnected which might break follow mode if the screen
261 | # layout changes.
262 | force_xinerama = false
263 |
264 | ### mouse
265 |
266 | # Defines list of actions for each mouse event
267 | # Possible values are:
268 | # * none: Don't do anything.
269 | # * do_action: Invoke the action determined by the action_name rule. If there is no
270 | # such action, open the context menu.
271 | # * open_url: If the notification has exactly one url, open it. If there are multiple
272 | # ones, open the context menu.
273 | # * close_current: Close current notification.
274 | # * close_all: Close all notifications.
275 | # * context: Open context menu for the notification.
276 | # * context_all: Open context menu for all notifications.
277 | # These values can be strung together for each mouse event, and
278 | # will be executed in sequence.
279 | mouse_left_click = close_current
280 | mouse_middle_click = do_action, close_current
281 | mouse_right_click = close_all
282 |
283 | # Experimental features that may or may not work correctly. Do not expect them
284 | # to have a consistent behaviour across releases.
285 | [experimental]
286 | # Calculate the dpi to use on a per-monitor basis.
287 | # If this setting is enabled the Xft.dpi value will be ignored and instead
288 | # dunst will attempt to calculate an appropriate dpi value for each monitor
289 | # using the resolution and physical size. This might be useful in setups
290 | # where there are multiple screens with very different dpi values.
291 | per_monitor_dpi = false
292 |
293 |
294 | [urgency_low]
295 | # catppuccin
296 | background = "#1E1E2E"
297 | foreground = "#CDD6F4"
298 |
299 | timeout = 5
300 | # Icon for notifications with low urgency, uncomment to enable
301 | icon = /usr/share/icons/Arc-X-D/status/16/dialog-information.png
302 |
303 | [urgency_normal]
304 | # catppuccin
305 | background = "#1E1E2E"
306 | foreground = "#CDD6F4"
307 |
308 | timeout = 5
309 | # Icon for notifications with normal urgency, uncomment to enable
310 | icon = /usr/share/icons/Arc-X-D/status/16/dialog-question.png
311 |
312 | [urgency_critical]
313 | # catppuccin
314 | background = "#1E1E2E"
315 | foreground = "#CDD6F4"
316 | frame_color = "#FAB387"
317 |
318 | timeout = 120
319 | # Icon for notifications with critical urgency, uncomment to enable
320 | icon = /usr/share/icons/Arc-X-D/status/16/dialog-warning.png
321 |
322 | # Every section that isn't one of the above is interpreted as a rules to
323 | # override settings for certain messages.
324 | #
325 | # Messages can be matched by
326 | # appname (discouraged, see desktop_entry)
327 | # body
328 | # category
329 | # desktop_entry
330 | # icon
331 | # match_transient
332 | # msg_urgency
333 | # stack_tag
334 | # summary
335 | #
336 | # and you can override the
337 | # background
338 | # foreground
339 | # format
340 | # frame_color
341 | # fullscreen
342 | # new_icon
343 | # set_stack_tag
344 | # set_transient
345 | # set_category
346 | # timeout
347 | # urgency
348 | # skip_display
349 | # history_ignore
350 | # action_name
351 | # word_wrap
352 | # ellipsize
353 | # alignment
354 | #
355 | # Shell-like globbing will get expanded.
356 | #
357 | # Instead of the appname filter, it's recommended to use the desktop_entry filter.
358 | # GLib based applications export their desktop-entry name. In comparison to the appname,
359 | # the desktop-entry won't get localized.
360 | #
361 | # SCRIPTING
362 | # You can specify a script that gets run when the rule matches by
363 | # setting the "script" option.
364 | # The script will be called as follows:
365 | # script appname summary body icon urgency
366 | # where urgency can be "LOW", "NORMAL" or "CRITICAL".
367 | #
368 | # NOTE: It might be helpful to run dunst -print in a terminal in order
369 | # to find fitting options for rules.
370 |
371 | # Disable the transient hint so that idle_threshold cannot be bypassed from the
372 | # client
373 | #[transient_disable]
374 | # match_transient = yes
375 | # set_transient = no
376 | #
377 | # Make the handling of transient notifications more strict by making them not
378 | # be placed in history.
379 | #[transient_history_ignore]
380 | # match_transient = yes
381 | # history_ignore = yes
382 |
383 | # fullscreen values
384 | # show: show the notifications, regardless if there is a fullscreen window opened
385 | # delay: displays the new notification, if there is no fullscreen window active
386 | # If the notification is already drawn, it won't get undrawn.
387 | # pushback: same as delay, but when switching into fullscreen, the notification will get
388 | # withdrawn from screen again and will get delayed like a new notification
389 | #[fullscreen_delay_everything]
390 | # fullscreen = delay
391 | #[fullscreen_show_critical]
392 | # msg_urgency = critical
393 | # fullscreen = show
394 |
395 | #[espeak]
396 | # summary = "*"
397 | # script = dunst_espeak.sh
398 |
399 | #[script-test]
400 | # summary = "*script*"
401 | # script = dunst_test.sh
402 |
403 | #[ignore]
404 | # # This notification will not be displayed
405 | # summary = "foobar"
406 | # skip_display = true
407 |
408 | #[history-ignore]
409 | # # This notification will not be saved in history
410 | # summary = "foobar"
411 | # history_ignore = yes
412 |
413 | #[skip-display]
414 | # # This notification will not be displayed, but will be included in the history
415 | # summary = "foobar"
416 | # skip_display = yes
417 |
418 | #[signed_on]
419 | # appname = Pidgin
420 | # summary = "*signed on*"
421 | # urgency = low
422 | #
423 | #[signed_off]
424 | # appname = Pidgin
425 | # summary = *signed off*
426 | # urgency = low
427 | #
428 | #[says]
429 | # appname = Pidgin
430 | # summary = *says*
431 | # urgency = critical
432 | #
433 | #[twitter]
434 | # appname = Pidgin
435 | # summary = *twitter.com*
436 | # urgency = normal
437 | #
438 | [stack-volumes]
439 | appname = "some_volume_notifiers"
440 | set_stack_tag = "volume"
441 | #
442 | # vim: ft=cfg
443 |
--------------------------------------------------------------------------------
/dunst/mocha.conf:
--------------------------------------------------------------------------------
1 | [global]
2 | frame_color = "#89B4FA"
3 | separator_color= frame
4 |
5 | [urgency_low]
6 | background = "#1E1E2E"
7 | foreground = "#CDD6F4"
8 |
9 | [urgency_normal]
10 | background = "#1E1E2E"
11 | foreground = "#CDD6F4"
12 |
13 | [urgency_critical]
14 | background = "#1E1E2E"
15 | foreground = "#CDD6F4"
16 | frame_color = "#FAB387"
17 |
--------------------------------------------------------------------------------
/hypr/hyprland.conf:
--------------------------------------------------------------------------------
1 | # █▀▀ ▀▄▀ █▀▀ █▀▀
2 | # ██▄ █░█ ██▄ █▄▄
3 | exec-once = udiskie --smart-tray && wl-clipboard-history -t
4 | exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
5 | exec-once = waybar
6 | exec-once = dunst
7 |
8 | exec-once = /opt/docker-desktop/bin/docker-desktop&
9 | exec-once = telegram-desktop -startintray&
10 |
11 | exec-once = /home/jacob/.config/hypr/scripts/wallpaper.sh /home/jacob/Pictures/wallpapers/john-towner-JgOeRuGD_Y4-unsplash.jpg
12 | # exec-once = /home/jacob/.config/hypr/scripts/import-gsettings.sh
13 |
14 | # CLIPBOARD
15 | exec-once = wl-paste --watch cliphist store
16 |
17 | # IDLE
18 | exec-once = swayidle -w
19 |
20 | # TBC
21 | # exec-once = hyprctl setcursor Bibata-Modern-Ice 20 # set cursor
22 | # exec-once = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula-dark' # set gtk icons
23 | # exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' # set gtk cursor
24 | # exec-once = gsettings set org.gnome.desktop.interface cursor-size 20 # set gtk cursor size
25 | # exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha-B' # set gtk theme
26 |
27 | source = ~/.config/hypr/themes/mocha.conf
28 |
29 |
30 |
31 | # █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
32 | # █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
33 | monitor = ,preferred,auto,1
34 |
35 | # █ █▄░█ █▀█ █░█ ▀█▀
36 | # █ █░▀█ █▀▀ █▄█ ░█░
37 | input {
38 | kb_layout = gb
39 | follow_mouse = 1
40 | sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
41 | touchpad {
42 | natural_scroll = yes
43 | disable_while_typing = true
44 | scroll_factor = 0.8
45 | }
46 | }
47 |
48 | gestures {
49 | # See https://wiki.hyprland.org/Configuring/Variables/ for more
50 | workspace_swipe = on
51 | }
52 |
53 | # █▀▀ █▀▀ █▄░█ █▀▀ █▀█ ▄▀█ █░░
54 | # █▄█ ██▄ █░▀█ ██▄ █▀▄ █▀█ █▄▄
55 | general {
56 | gaps_in=4
57 | gaps_out=6
58 | border_size=1
59 | col.active_border=0xff7D4045
60 | col.inactive_border=0xff382D2E
61 | no_border_on_floating = false
62 | layout = dwindle
63 | no_cursor_warps = true
64 | }
65 |
66 | # █▀▄▀█ █ █▀ █▀▀
67 | # █░▀░█ █ ▄█ █▄▄
68 | misc {
69 | disable_hyprland_logo = true
70 | animate_manual_resizes = true
71 | disable_splash_rendering = true
72 | mouse_move_enables_dpms = true
73 | # vfr = true
74 | # enable_swallow = true
75 | # swallow_regex = ^(wezterm)$
76 | }
77 |
78 | # █▀▄ █▀▀ █▀▀ █▀█ █▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
79 | # █▄▀ ██▄ █▄▄ █▄█ █▀▄ █▀█ ░█░ █ █▄█ █░▀█
80 |
81 | decoration {
82 | # █▀█ █▀█ █░█ █▄░█ █▀▄ █▀▀ █▀█ █▀█ █▄░█ █▀▀ █▀█
83 | # █▀▄ █▄█ █▄█ █░▀█ █▄▀ █▄▄ █▄█ █▀▄ █░▀█ ██▄ █▀▄
84 | rounding = 4
85 | # multisample_edges = true
86 |
87 | # █▀█ █▀█ ▄▀█ █▀▀ █ ▀█▀ █▄█
88 | # █▄█ █▀▀ █▀█ █▄▄ █ ░█░ ░█░
89 | active_opacity = 1.0
90 | inactive_opacity = 0.8
91 |
92 | # █▄▄ █░░ █░█ █▀█
93 | # █▄█ █▄▄ █▄█ █▀▄
94 | blur {
95 | enabled = true
96 | size = 6
97 | passes = 3
98 | new_optimizations = true
99 | xray = true
100 | noise = 0.01
101 |
102 | }
103 |
104 | # █▀ █░█ ▄▀█ █▀▄ █▀█ █░█░█
105 | # ▄█ █▀█ █▀█ █▄▀ █▄█ ▀▄▀▄▀
106 | drop_shadow = false
107 | shadow_ignore_window = true
108 | shadow_offset = 1 2
109 | shadow_range = 10
110 | shadow_render_power = 2
111 | col.shadow = 0x66404040
112 |
113 | #blurls = gtk-layer-shell
114 | #blurls = waybar
115 | #blurls = lockscreen
116 | }
117 |
118 | # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
119 | # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
120 | # bezier=NAME,X0,Y0,X1,Y1
121 | # animation=NAME,ONOFF,SPEED,CURVE
122 | #
123 | animations {
124 | enabled = true
125 | # █▄▄ █▀▀ ▀█ █ █▀▀ █▀█ █▀▀ █░█ █▀█ █░█ █▀▀
126 | # █▄█ ██▄ █▄ █ ██▄ █▀▄ █▄▄ █▄█ █▀▄ ▀▄▀ ██▄
127 |
128 | # animation = windows, 1, 5, overshot, slide
129 | # animation = windowsOut, 1, 4, smoothOut, slide
130 | # animation = windowsMove, 1, 4, default
131 | # animation = border, 1, 10, default
132 | # animation = fade, 1, 10, smoothIn
133 | # animation = fadeDim, 1, 10, smoothIn
134 | # animation = workspaces, 1, 6, default
135 | bezier = overshot, 0.05, 1.15, 0.2, 1.15
136 | bezier = smoothOut, 0.36, 0, 0.66, -0.56
137 | bezier = smoothIn, 0.25, 1, 0.3, 1
138 | bezier = winIn, 0.1, 0.7, 0.1, 1.1
139 | bezier = winOut, 0.3, -0.3, 0, 1
140 | bezier = liner, 1, 1, 1, 1
141 | bezier = easeInOutQuint, 0.86, 0, 0.07, 1
142 | animation = windows, 1, 6, smoothIn, popin 80%
143 | animation = windowsIn, 1, 5, smoothIn, popin
144 | animation = windowsOut, 1, 5, smoothIn, popin
145 | animation = windowsMove, 1, 3, smoothIn, popin
146 | animation = border, 1, 10, smoothIn
147 | animation = borderangle, 1, 30, smoothIn, loop
148 | animation = fade, 1, 5, smoothIn
149 | animation = workspaces, 1, 5, smoothIn
150 |
151 | }
152 |
153 | # █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
154 | # █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
155 |
156 | dwindle {
157 | no_gaps_when_only = false
158 | pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
159 | preserve_split = true # you probably want this
160 | }
161 |
162 | # █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
163 | # ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
164 | windowrule = float, file_progress
165 | windowrule = float, confirm
166 | windowrule = float, dialog
167 | windowrule = float, download
168 | windowrule = float, notification
169 | windowrule = float, error
170 | windowrule = float, splash
171 | windowrule = float, confirmreset
172 | windowrule = float, title:Open File
173 | windowrule = float, title:branchdialog
174 | windowrule = float, Lxappearance
175 | windowrule = float, Rofi
176 | windowrule = animation none,Rofi
177 | windowrule = float, title:Morgen Calendar
178 | windowrule = float, viewnior
179 | windowrule = float, feh
180 | windowrule = float, pavucontrol-qt
181 | windowrule = float, pavucontrol
182 | windowrule = float, file-roller
183 | windowrule = float, title:DevTools
184 | windowrule = fullscreen, wlogout
185 | windowrule = float, title:wlogout
186 | windowrule = fullscreen, title:wlogout
187 | windowrule = idleinhibit focus, mpv
188 | windowrule = idleinhibit fullscreen, firefox
189 | windowrule = float, title:^(Media viewer)$
190 | windowrule = float, title:^(Volume Control)$
191 | windowrule = float, title:^(Picture-in-Picture)$
192 | windowrule = size 800 600, title:^(Volume Control)$
193 | windowrule = move 75 44%, title:^(Volume Control)$
194 | windowrule = opacity 0.92, Thunar
195 |
196 | windowrule = float, vlc
197 | windowrule = center, vlc
198 | windowrule = size 900 500, vlc
199 |
200 | windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
201 | windowrulev2 = opacity 0.80 0.80,class:^(Steam)$
202 | windowrulev2 = opacity 0.80 0.80,class:^(Spotify)$
203 | #windowrulev2 = opacity 0.80 0.95,class:^(Code)$
204 | # windowrulev2 = float,class:^(Code)$
205 | windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
206 | windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
207 | windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
208 |
209 | windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ #Cartridges-Gtk
210 | windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ #Obs-Qt
211 | windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ #Boxes-Gtk
212 | windowrulev2 = opacity 0.80 0.80,class:^(discord)$ #Discord-x
213 |
214 | windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
215 | windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
216 | windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
217 | windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
218 |
219 | windowrulev2 = float,class:^(pavucontrol)$
220 | windowrulev2 = float,class:^(blueman-manager)$
221 | windowrulev2 = float,class:^(nm-applet)$
222 | windowrulev2 = float,class:^(nm-connection-editor)$
223 | windowrulev2 = float,class:^(Steam)$
224 |
225 | # █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄
226 | # █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀
227 |
228 | # █▀ █▀▀ █▀█ █▀▀ █▀▀ █▄░█ █▀ █░█ █▀█ ▀█▀
229 | # ▄█ █▄▄ █▀▄ ██▄ ██▄ █░▀█ ▄█ █▀█ █▄█ ░█░
230 |
231 | bind = SUPER, v, exec, wf-recorder -g "$(slurp)" -f $(xdg-user-dir VIDEOS)/$(date +'%H:%M:%S_%d-%m-%Y.mp4')
232 | bind = SUPER SHIFT, v, exec, killall -s SIGINT wf-recorder
233 | #bind = , Print, exec, ~/.scripts/screensht full
234 | #bind = SUPERSHIFT, S, exec, ~/.scripts/screensht area
235 | # Screenshot a window
236 | bind = SUPER, PRINT, exec, hyprshot -m window
237 | # Screenshot a monitor
238 | bind = , PRINT, exec, hyprshot -m output
239 | # Screenshot a region
240 | bind = SUPER SHIFT, PRINT, exec, hyprshot -m region
241 |
242 | # █▀▄▀█ █ █▀ █▀▀
243 | # █░▀░█ █ ▄█ █▄▄
244 | #bind = SUPER SHIFT, X, exec, ~/.scripts/colorpicker
245 | bind = SUPER, L, exec, swaylock
246 | bind = SUPER, Return, exec, kitty
247 | bind = SUPER, E, exec, thunar
248 | bind = SUPER, Space, exec, killall rofi || rofi -show drun
249 | bind = SUPER SHIFT, C, exec, killall rofi || rofi -modi clipboard:/home/jacob/.config/rofi/cliphist-rofi.sh -show clipboard
250 | bind = ALT, tab, exec, killall rofi || rofi -show window
251 |
252 | #bind = SUPER, D, exec, killall rofi || rofi -show drun -theme ~/.config/rofi/global/rofi.rasi
253 | #bind = SUPER, period, exec, killall rofi || rofi -show emoji -emoji-format "{emoji}" -modi emoji -theme ~/.config/rofi/global/emoji
254 | bind = SUPER SHIFT, escape, exec, wlogout --protocol layer-shell -b 3 -T 300 -B 300
255 | bind = SUPER, F1, exec, keybind
256 | bind = SUPER SHIFT, B, exec, killall -SIGUSR2 waybar # Reload Waybar
257 | bind = SUPER, B, exec, killall -SIGUSR1 waybar
258 |
259 | # Brightness / Volume
260 | bind=,XF86MonBrightnessDown,exec,~/.config/hypr/scripts/brightness_ctl.sh down
261 | bind=,XF86MonBrightnessUp,exec,~/.config/hypr/scripts/brightness_ctl.sh up
262 | binde=,XF86AudioRaiseVolume,exec,~/.config/hypr/scripts/volume_ctl.sh up
263 | binde=,XF86AudioLowerVolume,exec,~/.config/hypr/scripts/volume_ctl.sh down
264 | bind=,XF86AudioMute,exec,~/.config/hypr/scripts/volume_ctl.sh mute
265 |
266 | # █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀▄▀█ ▄▀█ █▄░█ ▄▀█ █▀▀ █▀▄▀█ █▀▀ █▄░█ ▀█▀
267 | # ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █░▀░█ █▀█ █░▀█ █▀█ █▄█ █░▀░█ ██▄ █░▀█ ░█░
268 | bind = SUPER, Q, killactive,
269 | bind = SUPER SHIFT, Q, exit,
270 | bind = SUPER SHIFT, F, fullscreen,
271 | bind = SUPER, F, togglefloating,
272 | # bind = SUPER, P, pseudo, # dwindle
273 | # bind = SUPER, S, togglesplit, # dwindle
274 |
275 | # ▀█▀ ▄▀█ █▄▄ █▄▄ █▀▀ █▀▄
276 | # ░█░ █▀█ █▄█ █▄█ ██▄ █▄▀
277 | bind = SUPER, G, togglegroup
278 | bind = SUPER, TAB, changegroupactive
279 |
280 | # █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
281 | # ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄
282 | bind = SUPER, A, togglespecialworkspace
283 | bind = SUPERSHIFT, A, movetoworkspace, special
284 | bind = SUPER, C, exec, hyprctl dispatch centerwindow
285 |
286 | # █▀▀ █▀█ █▀▀ █░█ █▀
287 | # █▀░ █▄█ █▄▄ █▄█ ▄█
288 | bind = SUPER, left, movefocus, l
289 | bind = SUPER, right, movefocus, r
290 | bind = SUPER, up, movefocus, u
291 | bind = SUPER, down, movefocus, d
292 |
293 | # █▀▄▀█ █▀█ █░█ █▀▀
294 | # █░▀░█ █▄█ ▀▄▀ ██▄
295 | bind = SUPER SHIFT, left, movewindow, l
296 | bind = SUPER SHIFT, right, movewindow, r
297 | bind = SUPER SHIFT, up, movewindow, u
298 | bind = SUPER SHIFT, down, movewindow, d
299 |
300 | # █▀█ █▀▀ █▀ █ ▀█ █▀▀
301 | # █▀▄ ██▄ ▄█ █ █▄ ██▄
302 | bind = SUPER CTRL, left, resizeactive, -20 0
303 | bind = SUPER CTRL, right, resizeactive, 20 0
304 | bind = SUPER CTRL, up, resizeactive, 0 -20
305 | bind = SUPER CTRL, down, resizeactive, 0 20
306 |
307 | # █▀ █░█░█ █ ▀█▀ █▀▀ █░█
308 | # ▄█ ▀▄▀▄▀ █ ░█░ █▄▄ █▀█
309 | bind = SUPER, 1, workspace, 1
310 | bind = SUPER, 2, workspace, 2
311 | bind = SUPER, 3, workspace, 3
312 | bind = SUPER, 4, workspace, 4
313 | bind = SUPER, 5, workspace, 5
314 | bind = SUPER, 6, workspace, 6
315 | bind = SUPER, 7, workspace, 7
316 | bind = SUPER, 8, workspace, 8
317 | bind = SUPER, 9, workspace, 9
318 | bind = SUPER, 0, workspace, 10
319 | bind = SUPER ALT, up, workspace, e+1
320 | bind = SUPER ALT, down, workspace, e-1
321 |
322 | # █▀▄▀█ █▀█ █░█ █▀▀
323 | # █░▀░█ █▄█ ▀▄▀ ██▄
324 | bind = SUPER SHIFT, 1, movetoworkspace, 1
325 | bind = SUPER SHIFT, 2, movetoworkspace, 2
326 | bind = SUPER SHIFT, 3, movetoworkspace, 3
327 | bind = SUPER SHIFT, 4, movetoworkspace, 4
328 | bind = SUPER SHIFT, 5, movetoworkspace, 5
329 | bind = SUPER SHIFT, 6, movetoworkspace, 6
330 | bind = SUPER SHIFT, 7, movetoworkspace, 7
331 | bind = SUPER SHIFT, 8, movetoworkspace, 8
332 | bind = SUPER SHIFT, 9, movetoworkspace, 9
333 | bind = SUPER SHIFT, 0, movetoworkspace, 10
334 |
335 | # █▀▄▀█ █▀█ █░█ █▀ █▀▀ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀
336 | # █░▀░█ █▄█ █▄█ ▄█ ██▄ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█
337 | bindm = SUPER, mouse:272, movewindow
338 | bindm = SUPER, mouse:273, resizewindow
339 | bind = SUPER, mouse_down, workspace, e+1
340 | bind = SUPER, mouse_up, workspace, e-1
341 |
--------------------------------------------------------------------------------
/hypr/scripts/brightness_ctl.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # You can call this script like this:
4 | # $ ./brightnessControl.sh up
5 | # $ ./brightnessControl.sh down
6 |
7 | # Script inspired by these wonderful people:
8 | # https://github.com/dastorm/volume-notification-dunst/blob/master/volume.sh
9 | # https://gist.github.com/sebastiencs/5d7227f388d93374cebdf72e783fbd6a
10 |
11 | NotificationID_File=/tmp/brightness_notification_id
12 |
13 | function get_brightness {
14 | brightnessctl -m | awk -F, '{print substr($4, 0, length($4)-1)}'
15 | }
16 |
17 | function get_notification_id {
18 | if [ -s "$NotificationID_File" ]; then
19 | cat $NotificationID_File
20 | else
21 | echo 0
22 | fi
23 | }
24 |
25 | function send_notification {
26 | icon="preferences-system-brightness-lock"
27 | brightness=$(get_brightness)
28 | # Make the bar with the special character ─ (it's not dash -)
29 | # https://en.wikipedia.org/wiki/Box-drawing_character
30 | bar=$(seq -s "─" 0 $(((brightness - 1) / 4)) | sed 's/[0-9]//g')
31 | space=$(seq --separator=" " 0 "$(((100 - brightness) / 4))" | sed 's/[0-9]//g')
32 | nid=$(get_notification_id)
33 | # Send the notification
34 | notify-send -i "$icon" -p -r $nid -u normal "|$bar$space| $brightness%" > $NotificationID_File
35 | }
36 |
37 |
38 | case $1 in
39 | up)
40 | # increase the backlight by 5%
41 | brightnessctl set 5%+
42 | send_notification
43 | ;;
44 | down)
45 | # decrease the backlight by 5%
46 | brightnessctl set 5%-
47 | send_notification
48 | ;;
49 | max)
50 | brightnessctl set 100%
51 | send_notification
52 | ;;
53 | blank)
54 | brightnessctl set 0%
55 | send_notification
56 | ;;
57 | esac
--------------------------------------------------------------------------------
/hypr/scripts/fans.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 |
4 | function fan1speed {
5 | sensors | awk '/fan1:/ {print $2}'
6 | }
7 |
8 | function fan2speed {
9 | sensors | awk '/fan2:/ {print $2}'
10 | }
11 |
12 | maxFanSpeed=8000
13 |
14 | lowThreshold=2000
15 | midThreshold=5000
16 | highThreshold=6000
17 |
18 | text=""
19 | tooltip=" $(fan1speed) (L) | $(fan2speed) (R)"
20 | class="off"
21 |
22 | if [[ $(fan1speed) -gt $highThreshold ]]
23 | then
24 | class="high"
25 | elif [[ $(fan1speed) -gt $midThreshold ]]
26 | then
27 | class="medium"
28 | elif [[ $(fan1speed) -gt $lowThreshold ]]
29 | then
30 | class="low"
31 | fi
32 |
33 | printf '{"text":"%s","tooltip":"%s","class":"%s","percentage":"%s"}\n' "$text" "$tooltip" "$class" "$percentage"
34 |
--------------------------------------------------------------------------------
/hypr/scripts/import-gsettings.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # usage: import-gsettings
4 | config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
5 | if [ ! -f "$config" ]; then exit 1; fi
6 |
7 | gnome_schema="org.gnome.desktop.interface"
8 | gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
9 | icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
10 | cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
11 | font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
12 | gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
13 | gsettings set "$gnome_schema" icon-theme "$icon_theme"
14 | gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
15 | gsettings set "$gnome_schema" font-name "$font_name"
16 |
--------------------------------------------------------------------------------
/hypr/scripts/volume_ctl.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # You can call this script like this:
4 | # $ ./volumeControl.sh up
5 | # $ ./volumeControl.sh down
6 | # $ ./volumeControl.sh mute
7 |
8 | # Script modified from these wonderful people:
9 | # https://github.com/dastorm/volume-notification-dunst/blob/master/volume.sh
10 | # https://gist.github.com/sebastiencs/5d7227f388d93374cebdf72e783fbd6a
11 |
12 | NotificationID_File=/tmp/volume_notification_id
13 |
14 | function get_volume {
15 | amixer get Master | grep '%' | head -n 1 | cut -d '[' -f 2 | cut -d '%' -f 1
16 | }
17 |
18 | function is_mute {
19 | amixer get Master | grep '%' | grep -oE '[^ ]+$' | grep off > /dev/null
20 | }
21 |
22 | function get_notification_id {
23 | if [ -s "$NotificationID_File" ]; then
24 | cat $NotificationID_File
25 | else
26 | echo 0
27 | fi
28 | }
29 |
30 | function send_notification {
31 | iconSound="audio-volume-high"
32 | iconMuted="audio-volume-muted"
33 | nid=$(get_notification_id)
34 | if is_mute ; then
35 | notify-send -i $iconMuted -p -r $nid -u normal "Muted" > $NotificationID_File
36 | else
37 | volume=$(get_volume)
38 | # Make the bar with the special character ─ (it's not dash -)
39 | # https://en.wikipedia.org/wiki/Box-drawing_character
40 | bar=$(seq --separator="─" 0 "$(((volume - 1) / 4))" | sed 's/[0-9]//g')
41 | space=$(seq --separator=" " 0 "$(((100 - volume) / 4))" | sed 's/[0-9]//g')
42 | # Send the notification
43 | notify-send -i $iconSound -p -r $nid -u normal "|$bar$space| $volume%" > $NotificationID_File
44 | fi
45 | }
46 |
47 | case $1 in
48 | up)
49 | # set the volume on (if it was muted)
50 | amixer -D pipewire set Master on > /dev/null
51 | # up the volume (+ 5%)
52 | amixer -D pipewire sset Master 5%+ > /dev/null
53 | send_notification
54 | canberra-gtk-play -i audio-volume-change -d "changeVolume"
55 | ;;
56 | down)
57 | amixer -D pipewire set Master on > /dev/null
58 | amixer -D pipewire sset Master 5%- > /dev/null
59 | send_notification
60 | canberra-gtk-play -i audio-volume-change -d "changeVolume"
61 | ;;
62 | mute)
63 | # toggle mute
64 | amixer -D pipewire set Master 1+ toggle > /dev/null
65 | send_notification
66 | ;;
67 | esac
68 |
--------------------------------------------------------------------------------
/hypr/scripts/wallpaper.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | ## main script ##
4 | BASEDIR=`dirname $(realpath $0)`
5 |
6 | ## check swww daemon ##
7 | swww query
8 | if [ $? -eq 1 ] ; then
9 | swww init
10 | sleep 2.5
11 | fi
12 |
13 | BEZIER=.43,0.1,1,.4
14 |
15 | ## set wallpaper ##
16 | swww img $1 \
17 | --transition-bezier ${BEZIER} \
18 | --transition-type grow \
19 | --transition-duration 1 \
20 | --transition-fps 144 \
21 | --transition-pos bottom-right
22 |
--------------------------------------------------------------------------------
/hypr/scripts/wallpaper/wallpaper.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | ## define functions ##
4 | Wall_Next()
5 | {
6 | WallSet=`readlink $BASEDIR/images`
7 | Wallist=(`dirname $WallSet`/*)
8 |
9 | for((i=0;i<${#Wallist[@]};i++))
10 | do
11 | if [ $((i + 1)) -eq ${#Wallist[@]} ] ; then
12 | ln -fs ${Wallist[0]} $BASEDIR/wall.paper
13 | break
14 | elif [ ${Wallist[i]} == ${WallSet} ] ; then
15 | ln -fs ${Wallist[i+1]} $BASEDIR/wall.paper
16 | break
17 | fi
18 | done
19 | }
20 |
21 | Wall_Set()
22 | {
23 | swww img $BASEDIR/wall.set \
24 | --transition-bezier .43,1.19,1,.4 \
25 | --transition-type grow \
26 | --transition-duration 1 \
27 | --transition-fps 144 \
28 | --transition-pos bottom-right
29 | }
30 |
31 | ## main script ##
32 | BASEDIR=`dirname $(realpath $0)`
33 |
34 | ## check linked file ##
35 | # if [ ! -f $BASEDIR/wall.paper ] ; then
36 | # echo "ERROR: wallpaper link is broken"
37 | # exit 1
38 | # fi
39 |
40 | ## evaluate options ##
41 | while getopts "nt" option ; do
42 | case $option in
43 | n ) # set the next wallpaper
44 | Wall_Next ;;
45 | t ) # display tooltip
46 | echo " Next Wallpaper "
47 | exit 0 ;;
48 | * ) # invalid option
49 | echo "n : set next wall"
50 | exit 1 ;;
51 | esac
52 | done
53 |
54 | ## check swww daemon ##
55 | swww query
56 | if [ $? -eq 1 ] ; then
57 | swww init
58 | sleep 2.5
59 | fi
60 |
61 | ## set wallpaper ##
62 | Wall_Set
63 | convert -scale 10% -blur 0x2.5 -resize 1000% $BASEDIR/wall.set $BASEDIR/wall.blur
64 |
--------------------------------------------------------------------------------
/hypr/themes/frappe.conf:
--------------------------------------------------------------------------------
1 | $rosewaterAlpha = fff5e0dc
2 | $flamingoAlpha = fff2cdcd
3 | $pinkAlpha = fff5c2e7
4 | $mauveAlpha = ffcba6f7
5 | $redAlpha = fff38ba8
6 | $maroonAlpha = ffeba0ac
7 | $peachAlpha = fffab387
8 | $yellowAlpha = fff9e2af
9 | $greenAlpha = ffa6e3a1
10 | $tealAlpha = ff94e2d5
11 | $skyAlpha = ff89dceb
12 | $sapphireAlpha = ff74c7ec
13 | $blueAlpha = ff89b4fa
14 | $lavenderAlpha = ffb4befe
15 |
16 | $textAlpha = ffcdd6f4
17 | $subtext1Alpha = ffbac2de
18 | $subtext0Alpha = ffa6adc8
19 |
20 | $overlay2Alpha = ff9399b2
21 | $overlay1Alpha = ff7f849c
22 | $overlay0Alpha = ff6c7086
23 |
24 | $surface2Alpha = ff585b70
25 | $surface1Alpha = ff45475a
26 | $surface0Alpha = ff313244
27 |
28 | $baseAlpha = ff1e1e2e
29 | $mantleAlpha = ff181825
30 | $crustAlpha = ff11111b
31 |
32 | $rosewater = 0xfff5e0dc
33 | $flamingo = 0xfff2cdcd
34 | $pink = 0xfff5c2e7
35 | $mauve = 0xffcba6f7
36 | $red = 0xfff38ba8
37 | $maroon = 0xffeba0ac
38 | $peach = 0xfffab387
39 | $yellow = 0xfff9e2af
40 | $green = 0xffa6e3a1
41 | $teal = 0xff94e2d5
42 | $sky = 0xff89dceb
43 | $sapphire = 0xff74c7ec
44 | $blue = 0xff89b4fa
45 | $lavender = 0xffb4befe
46 |
47 | $text = 0xffcdd6f4
48 | $subtext1 = 0xffbac2de
49 | $subtext0 = 0xffa6adc8
50 |
51 | $overlay2 = 0xff9399b2
52 | $overlay1 = 0xff7f849c
53 | $overlay0 = 0xff6c7086
54 |
55 | $surface2 = 0xff585b70
56 | $surface1 = 0xff45475a
57 | $surface0 = 0xff313244
58 |
59 | $base = 0xff1e1e2e
60 | $mantle = 0xff181825
61 | $crust = 0xff11111b
62 |
--------------------------------------------------------------------------------
/hypr/themes/latte.conf:
--------------------------------------------------------------------------------
1 | $rosewaterAlpha = fff5e0dc
2 | $flamingoAlpha = fff2cdcd
3 | $pinkAlpha = fff5c2e7
4 | $mauveAlpha = ffcba6f7
5 | $redAlpha = fff38ba8
6 | $maroonAlpha = ffeba0ac
7 | $peachAlpha = fffab387
8 | $yellowAlpha = fff9e2af
9 | $greenAlpha = ffa6e3a1
10 | $tealAlpha = ff94e2d5
11 | $skyAlpha = ff89dceb
12 | $sapphireAlpha = ff74c7ec
13 | $blueAlpha = ff89b4fa
14 | $lavenderAlpha = ffb4befe
15 |
16 | $textAlpha = ffcdd6f4
17 | $subtext1Alpha = ffbac2de
18 | $subtext0Alpha = ffa6adc8
19 |
20 | $overlay2Alpha = ff9399b2
21 | $overlay1Alpha = ff7f849c
22 | $overlay0Alpha = ff6c7086
23 |
24 | $surface2Alpha = ff585b70
25 | $surface1Alpha = ff45475a
26 | $surface0Alpha = ff313244
27 |
28 | $baseAlpha = ff1e1e2e
29 | $mantleAlpha = ff181825
30 | $crustAlpha = ff11111b
31 |
32 | $rosewater = 0xfff5e0dc
33 | $flamingo = 0xfff2cdcd
34 | $pink = 0xfff5c2e7
35 | $mauve = 0xffcba6f7
36 | $red = 0xfff38ba8
37 | $maroon = 0xffeba0ac
38 | $peach = 0xfffab387
39 | $yellow = 0xfff9e2af
40 | $green = 0xffa6e3a1
41 | $teal = 0xff94e2d5
42 | $sky = 0xff89dceb
43 | $sapphire = 0xff74c7ec
44 | $blue = 0xff89b4fa
45 | $lavender = 0xffb4befe
46 |
47 | $text = 0xffcdd6f4
48 | $subtext1 = 0xffbac2de
49 | $subtext0 = 0xffa6adc8
50 |
51 | $overlay2 = 0xff9399b2
52 | $overlay1 = 0xff7f849c
53 | $overlay0 = 0xff6c7086
54 |
55 | $surface2 = 0xff585b70
56 | $surface1 = 0xff45475a
57 | $surface0 = 0xff313244
58 |
59 | $base = 0xff1e1e2e
60 | $mantle = 0xff181825
61 | $crust = 0xff11111b
62 |
--------------------------------------------------------------------------------
/hypr/themes/macchiato.conf:
--------------------------------------------------------------------------------
1 | $rosewaterAlpha = fff5e0dc
2 | $flamingoAlpha = fff2cdcd
3 | $pinkAlpha = fff5c2e7
4 | $mauveAlpha = ffcba6f7
5 | $redAlpha = fff38ba8
6 | $maroonAlpha = ffeba0ac
7 | $peachAlpha = fffab387
8 | $yellowAlpha = fff9e2af
9 | $greenAlpha = ffa6e3a1
10 | $tealAlpha = ff94e2d5
11 | $skyAlpha = ff89dceb
12 | $sapphireAlpha = ff74c7ec
13 | $blueAlpha = ff89b4fa
14 | $lavenderAlpha = ffb4befe
15 |
16 | $textAlpha = ffcdd6f4
17 | $subtext1Alpha = ffbac2de
18 | $subtext0Alpha = ffa6adc8
19 |
20 | $overlay2Alpha = ff9399b2
21 | $overlay1Alpha = ff7f849c
22 | $overlay0Alpha = ff6c7086
23 |
24 | $surface2Alpha = ff585b70
25 | $surface1Alpha = ff45475a
26 | $surface0Alpha = ff313244
27 |
28 | $baseAlpha = ff1e1e2e
29 | $mantleAlpha = ff181825
30 | $crustAlpha = ff11111b
31 |
32 | $rosewater = 0xfff5e0dc
33 | $flamingo = 0xfff2cdcd
34 | $pink = 0xfff5c2e7
35 | $mauve = 0xffcba6f7
36 | $red = 0xfff38ba8
37 | $maroon = 0xffeba0ac
38 | $peach = 0xfffab387
39 | $yellow = 0xfff9e2af
40 | $green = 0xffa6e3a1
41 | $teal = 0xff94e2d5
42 | $sky = 0xff89dceb
43 | $sapphire = 0xff74c7ec
44 | $blue = 0xff89b4fa
45 | $lavender = 0xffb4befe
46 |
47 | $text = 0xffcdd6f4
48 | $subtext1 = 0xffbac2de
49 | $subtext0 = 0xffa6adc8
50 |
51 | $overlay2 = 0xff9399b2
52 | $overlay1 = 0xff7f849c
53 | $overlay0 = 0xff6c7086
54 |
55 | $surface2 = 0xff585b70
56 | $surface1 = 0xff45475a
57 | $surface0 = 0xff313244
58 |
59 | $base = 0xff1e1e2e
60 | $mantle = 0xff181825
61 | $crust = 0xff11111b
62 |
--------------------------------------------------------------------------------
/hypr/themes/mocha.conf:
--------------------------------------------------------------------------------
1 | $rosewaterAlpha = fff5e0dc
2 | $flamingoAlpha = fff2cdcd
3 | $pinkAlpha = fff5c2e7
4 | $mauveAlpha = ffcba6f7
5 | $redAlpha = fff38ba8
6 | $maroonAlpha = ffeba0ac
7 | $peachAlpha = fffab387
8 | $yellowAlpha = fff9e2af
9 | $greenAlpha = ffa6e3a1
10 | $tealAlpha = ff94e2d5
11 | $skyAlpha = ff89dceb
12 | $sapphireAlpha = ff74c7ec
13 | $blueAlpha = ff89b4fa
14 | $lavenderAlpha = ffb4befe
15 |
16 | $textAlpha = ffcdd6f4
17 | $subtext1Alpha = ffbac2de
18 | $subtext0Alpha = ffa6adc8
19 |
20 | $overlay2Alpha = ff9399b2
21 | $overlay1Alpha = ff7f849c
22 | $overlay0Alpha = ff6c7086
23 |
24 | $surface2Alpha = ff585b70
25 | $surface1Alpha = ff45475a
26 | $surface0Alpha = ff313244
27 |
28 | $baseAlpha = ff1e1e2e
29 | $mantleAlpha = ff181825
30 | $crustAlpha = ff11111b
31 |
32 | $rosewater = 0xfff5e0dc
33 | $flamingo = 0xfff2cdcd
34 | $pink = 0xfff5c2e7
35 | $mauve = 0xffcba6f7
36 | $red = 0xfff38ba8
37 | $maroon = 0xffeba0ac
38 | $peach = 0xfffab387
39 | $yellow = 0xfff9e2af
40 | $green = 0xffa6e3a1
41 | $teal = 0xff94e2d5
42 | $sky = 0xff89dceb
43 | $sapphire = 0xff74c7ec
44 | $blue = 0xff89b4fa
45 | $lavender = 0xffb4befe
46 |
47 | $text = 0xffcdd6f4
48 | $subtext1 = 0xffbac2de
49 | $subtext0 = 0xffa6adc8
50 |
51 | $overlay2 = 0xff9399b2
52 | $overlay1 = 0xff7f849c
53 | $overlay0 = 0xff6c7086
54 |
55 | $surface2 = 0xff585b70
56 | $surface1 = 0xff45475a
57 | $surface0 = 0xff313244
58 |
59 | $base = 0xff1e1e2e
60 | $mantle = 0xff181825
61 | $crust = 0xff11111b
62 |
--------------------------------------------------------------------------------
/hypr/xdg-portal.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | sleep 1
3 | killall xdg-desktop-portal-hyprland
4 | killall xdg-desktop-portal-wlr
5 | killall xdg-desktop-portal
6 | /usr/lib/xdg-desktop-portal-hyprland &
7 | sleep 2
8 | /usr/lib/xdg-desktop-portal &
9 |
--------------------------------------------------------------------------------
/kitty/current-theme.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin-Mocha
4 | ## author: Pocco81 (https://github.com/Pocco81)
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #CDD6F4
13 | background #1E1E2E
14 | selection_foreground #1E1E2E
15 | selection_background #F5E0DC
16 |
17 | # Cursor colors
18 | cursor #F5E0DC
19 | cursor_text_color #1E1E2E
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F5E0DC
23 |
24 | # Kitty window border colors
25 | active_border_color #B4BEFE
26 | inactive_border_color #6C7086
27 | bell_border_color #F9E2AF
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #11111B
35 | active_tab_background #CBA6F7
36 | inactive_tab_foreground #CDD6F4
37 | inactive_tab_background #181825
38 | tab_bar_background #11111B
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #1E1E2E
42 | mark1_background #B4BEFE
43 | mark2_foreground #1E1E2E
44 | mark2_background #CBA6F7
45 | mark3_foreground #1E1E2E
46 | mark3_background #74C7EC
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #45475A
52 | color8 #585B70
53 |
54 | # red
55 | color1 #F38BA8
56 | color9 #F38BA8
57 |
58 | # green
59 | color2 #A6E3A1
60 | color10 #A6E3A1
61 |
62 | # yellow
63 | color3 #F9E2AF
64 | color11 #F9E2AF
65 |
66 | # blue
67 | color4 #89B4FA
68 | color12 #89B4FA
69 |
70 | # magenta
71 | color5 #F5C2E7
72 | color13 #F5C2E7
73 |
74 | # cyan
75 | color6 #94E2D5
76 | color14 #94E2D5
77 |
78 | # white
79 | color7 #BAC2DE
80 | color15 #A6ADC8
81 |
--------------------------------------------------------------------------------
/kitty/kitty.conf:
--------------------------------------------------------------------------------
1 | # vim:fileencoding=utf-8: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 monospace
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. To get a full list of supported fonts use the `kitty
16 | #: +list-fonts` command. By default they are derived automatically, by
17 | #: the OSes font system. When bold_font or bold_italic_font is set to
18 | #: auto on macOS, the priority of bold fonts is semi-bold, bold,
19 | #: heavy. Setting them manually is useful for font families that have
20 | #: many weight variants like Book, Medium, Thick, etc. For example::
21 |
22 | #: font_family Operator Mono Book
23 | #: bold_font Operator Mono Medium
24 | #: italic_font Operator Mono Book Italic
25 | #: bold_italic_font Operator Mono Medium Italic
26 |
27 | font_size 10.0
28 |
29 | #: Font size (in pts)
30 |
31 | # force_ltr no
32 |
33 | #: kitty does not support BIDI (bidirectional text), however, for RTL
34 | #: scripts, words are automatically displayed in RTL. That is to say,
35 | #: in an RTL script, the words "HELLO WORLD" display in kitty as
36 | #: "WORLD HELLO", and if you try to select a substring of an RTL-
37 | #: shaped string, you will get the character that would be there had
38 | #: the the string been LTR. For example, assuming the Hebrew word
39 | #: ירושלים, selecting the character that on the screen appears to be ם
40 | #: actually writes into the selection buffer the character י. kitty's
41 | #: default behavior is useful in conjunction with a filter to reverse
42 | #: the word order, however, if you wish to manipulate RTL glyphs, it
43 | #: can be very challenging to work with, so this option is provided to
44 | #: turn it off. Furthermore, this option can be used with the command
45 | #: line program GNU FriBidi
46 | #: to get BIDI
47 | #: support, because it will force kitty to always treat the text as
48 | #: LTR, which FriBidi expects for terminals.
49 |
50 | # symbol_map
51 |
52 | #: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
53 |
54 | #: Map the specified Unicode codepoints to a particular font. Useful
55 | #: if you need special rendering for some symbols, such as for
56 | #: Powerline. Avoids the need for patched fonts. Each Unicode code
57 | #: point is specified in the form `U+`. You
58 | #: can specify multiple code points, separated by commas and ranges
59 | #: separated by hyphens. This option can be specified multiple times.
60 | #: The syntax is::
61 |
62 | #: symbol_map codepoints Font Family Name
63 |
64 | # narrow_symbols
65 |
66 | #: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
67 |
68 | #: Usually, for Private Use Unicode characters and some symbol/dingbat
69 | #: characters, if the character is followed by one or more spaces,
70 | #: kitty will use those extra cells to render the character larger, if
71 | #: the character in the font has a wide aspect ratio. Using this
72 | #: option you can force kitty to restrict the specified code points to
73 | #: render in the specified number of cells (defaulting to one cell).
74 | #: This option can be specified multiple times. The syntax is::
75 |
76 | #: narrow_symbols codepoints [optionally the number of cells]
77 |
78 | # disable_ligatures never
79 |
80 | #: Choose how you want to handle multi-character ligatures. The
81 | #: default is to always render them. You can tell kitty to not render
82 | #: them when the cursor is over them by using cursor to make editing
83 | #: easier, or have kitty never render them at all by using always, if
84 | #: you don't like them. The ligature strategy can be set per-window
85 | #: either using the kitty remote control facility or by defining
86 | #: shortcuts for it in kitty.conf, for example::
87 |
88 | #: map alt+1 disable_ligatures_in active always
89 | #: map alt+2 disable_ligatures_in all never
90 | #: map alt+3 disable_ligatures_in tab cursor
91 |
92 | #: Note that this refers to programming ligatures, typically
93 | #: implemented using the calt OpenType feature. For disabling general
94 | #: ligatures, use the font_features option.
95 |
96 | # font_features
97 |
98 | #: E.g. font_features none
99 |
100 | #: Choose exactly which OpenType features to enable or disable. This
101 | #: is useful as some fonts might have features worthwhile in a
102 | #: terminal. For example, Fira Code includes a discretionary feature,
103 | #: zero, which in that font changes the appearance of the zero (0), to
104 | #: make it more easily distinguishable from Ø. Fira Code also includes
105 | #: other discretionary features known as Stylistic Sets which have the
106 | #: tags ss01 through ss20.
107 |
108 | #: For the exact syntax to use for individual features, see the
109 | #: HarfBuzz documentation .
111 |
112 | #: Note that this code is indexed by PostScript name, and not the font
113 | #: family. This allows you to define very precise feature settings;
114 | #: e.g. you can disable a feature in the italic font but not in the
115 | #: regular font.
116 |
117 | #: On Linux, font features are first read from the FontConfig database
118 | #: and then this option is applied, so they can be configured in a
119 | #: single, central place.
120 |
121 | #: To get the PostScript name for a font, use `kitty +list-fonts
122 | #: --psnames`:
123 |
124 | #: .. code-block:: sh
125 |
126 | #: $ kitty +list-fonts --psnames | grep Fira
127 | #: Fira Code
128 | #: Fira Code Bold (FiraCode-Bold)
129 | #: Fira Code Light (FiraCode-Light)
130 | #: Fira Code Medium (FiraCode-Medium)
131 | #: Fira Code Regular (FiraCode-Regular)
132 | #: Fira Code Retina (FiraCode-Retina)
133 |
134 | #: The part in brackets is the PostScript name.
135 |
136 | #: Enable alternate zero and oldstyle numerals::
137 |
138 | #: font_features FiraCode-Retina +zero +onum
139 |
140 | #: Enable only alternate zero in the bold font::
141 |
142 | #: font_features FiraCode-Bold +zero
143 |
144 | #: Disable the normal ligatures, but keep the calt feature which (in
145 | #: this font) breaks up monotony::
146 |
147 | #: font_features TT2020StyleB-Regular -liga +calt
148 |
149 | #: In conjunction with force_ltr, you may want to disable Arabic
150 | #: shaping entirely, and only look at their isolated forms if they
151 | #: show up in a document. You can do this with e.g.::
152 |
153 | #: font_features UnifontMedium +isol -medi -fina -init
154 |
155 | # modify_font
156 |
157 | #: Modify font characteristics such as the position or thickness of
158 | #: the underline and strikethrough. The modifications can have the
159 | #: suffix px for pixels or % for percentage of original value. No
160 | #: suffix means use pts. For example::
161 |
162 | #: modify_font underline_position -2
163 | #: modify_font underline_thickness 150%
164 | #: modify_font strikethrough_position 2px
165 |
166 | #: Additionally, you can modify the size of the cell in which each
167 | #: font glyph is rendered and the baseline at which the glyph is
168 | #: placed in the cell. For example::
169 |
170 | #: modify_font cell_width 80%
171 | #: modify_font cell_height -2px
172 | #: modify_font baseline 3
173 |
174 | #: Note that modifying the baseline will automatically adjust the
175 | #: underline and strikethrough positions by the same amount.
176 | #: Increasing the baseline raises glyphs inside the cell and
177 | #: decreasing it lowers them. Decreasing the cell size might cause
178 | #: rendering artifacts, so use with care.
179 |
180 | # box_drawing_scale 0.001, 1, 1.5, 2
181 |
182 | #: The sizes of the lines used for the box drawing Unicode characters.
183 | #: These values are in pts. They will be scaled by the monitor DPI to
184 | #: arrive at a pixel value. There must be four values corresponding to
185 | #: thin, normal, thick, and very thick lines.
186 |
187 | # undercurl_style thin-sparse
188 |
189 | #: The style with which undercurls are rendered. This option takes the
190 | #: form (thin|thick)-(sparse|dense). Thin and thick control the
191 | #: thickness of the undercurl. Sparse and dense control how often the
192 | #: curl oscillates. With sparse the curl will peak once per character,
193 | #: with dense twice.
194 |
195 | #: }}}
196 |
197 | #: Cursor customization {{{
198 |
199 | # cursor #cccccc
200 |
201 | #: Default cursor color. If set to the special value none the cursor
202 | #: will be rendered with a "reverse video" effect. It's color will be
203 | #: the color of the text in the cell it is over and the text will be
204 | #: rendered with the background color of the cell. Note that if the
205 | #: program running in the terminal sets a cursor color, this takes
206 | #: precedence. Also, the cursor colors are modified if the cell
207 | #: background and foreground colors have very low contrast.
208 |
209 | # cursor_text_color #111111
210 |
211 | #: The color of text under the cursor. If you want it rendered with
212 | #: the background color of the cell underneath instead, use the
213 | #: special keyword: background. Note that if cursor is set to none
214 | #: then this option is ignored.
215 |
216 | # cursor_shape block
217 |
218 | #: The cursor shape can be one of block, beam, underline. Note that
219 | #: when reloading the config this will be changed only if the cursor
220 | #: shape has not been set by the program running in the terminal. This
221 | #: sets the default cursor shape, applications running in the terminal
222 | #: can override it. In particular, shell integration
223 | #: in kitty sets
224 | #: the cursor shape to beam at shell prompts. You can avoid this by
225 | #: setting shell_integration to no-cursor.
226 |
227 | # cursor_beam_thickness 1.5
228 |
229 | #: The thickness of the beam cursor (in pts).
230 |
231 | # cursor_underline_thickness 2.0
232 |
233 | #: The thickness of the underline cursor (in pts).
234 |
235 | # cursor_blink_interval -1
236 |
237 | #: The interval to blink the cursor (in seconds). Set to zero to
238 | #: disable blinking. Negative values mean use system default. Note
239 | #: that the minimum interval will be limited to repaint_delay.
240 |
241 | # cursor_stop_blinking_after 15.0
242 |
243 | #: Stop blinking cursor after the specified number of seconds of
244 | #: keyboard inactivity. Set to zero to never stop blinking.
245 |
246 | #: }}}
247 |
248 | #: Scrollback {{{
249 |
250 | # scrollback_lines 2000
251 |
252 | #: Number of lines of history to keep in memory for scrolling back.
253 | #: Memory is allocated on demand. Negative numbers are (effectively)
254 | #: infinite scrollback. Note that using very large scrollback is not
255 | #: recommended as it can slow down performance of the terminal and
256 | #: also use large amounts of RAM. Instead, consider using
257 | #: scrollback_pager_history_size. Note that on config reload if this
258 | #: is changed it will only affect newly created windows, not existing
259 | #: ones.
260 |
261 | # scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
262 |
263 | #: Program with which to view scrollback in a new window. The
264 | #: scrollback buffer is passed as STDIN to this program. If you change
265 | #: it, make sure the program you use can handle ANSI escape sequences
266 | #: for colors and text formatting. INPUT_LINE_NUMBER in the command
267 | #: line above will be replaced by an integer representing which line
268 | #: should be at the top of the screen. Similarly CURSOR_LINE and
269 | #: CURSOR_COLUMN will be replaced by the current cursor position or
270 | #: set to 0 if there is no cursor, for example, when showing the last
271 | #: command output.
272 |
273 | # scrollback_pager_history_size 0
274 |
275 | #: Separate scrollback history size (in MB), used only for browsing
276 | #: the scrollback buffer with pager. This separate buffer is not
277 | #: available for interactive scrolling but will be piped to the pager
278 | #: program when viewing scrollback buffer in a separate window. The
279 | #: current implementation stores the data in UTF-8, so approximatively
280 | #: 10000 lines per megabyte at 100 chars per line, for pure ASCII,
281 | #: unformatted text. A value of zero or less disables this feature.
282 | #: The maximum allowed size is 4GB. Note that on config reload if this
283 | #: is changed it will only affect newly created windows, not existing
284 | #: ones.
285 |
286 | # scrollback_fill_enlarged_window no
287 |
288 | #: Fill new space with lines from the scrollback buffer after
289 | #: enlarging a window.
290 |
291 | # wheel_scroll_multiplier 5.0
292 |
293 | #: Multiplier for the number of lines scrolled by the mouse wheel.
294 | #: Note that this is only used for low precision scrolling devices,
295 | #: not for high precision scrolling devices on platforms such as macOS
296 | #: and Wayland. Use negative numbers to change scroll direction. See
297 | #: also wheel_scroll_min_lines.
298 |
299 | # wheel_scroll_min_lines 1
300 |
301 | #: The minimum number of lines scrolled by the mouse wheel. The scroll
302 | #: multiplier wheel_scroll_multiplier only takes effect after it
303 | #: reaches this number. Note that this is only used for low precision
304 | #: scrolling devices like wheel mice that scroll by very small amounts
305 | #: when using the wheel. With a negative number, the minimum number of
306 | #: lines will always be added.
307 |
308 | # touch_scroll_multiplier 1.0
309 |
310 | #: Multiplier for the number of lines scrolled by a touchpad. Note
311 | #: that this is only used for high precision scrolling devices on
312 | #: platforms such as macOS and Wayland. Use negative numbers to change
313 | #: scroll direction.
314 |
315 | #: }}}
316 |
317 | #: Mouse {{{
318 |
319 | # mouse_hide_wait 3.0
320 |
321 | #: Hide mouse cursor after the specified number of seconds of the
322 | #: mouse not being used. Set to zero to disable mouse cursor hiding.
323 | #: Set to a negative value to hide the mouse cursor immediately when
324 | #: typing text. Disabled by default on macOS as getting it to work
325 | #: robustly with the ever-changing sea of bugs that is Cocoa is too
326 | #: much effort.
327 |
328 | # url_color #0087bd
329 | # url_style curly
330 |
331 | #: The color and style for highlighting URLs on mouse-over. url_style
332 | #: can be one of: none, straight, double, curly, dotted, dashed.
333 |
334 | # open_url_with default
335 |
336 | #: The program to open clicked URLs. The special value default with
337 | #: first look for any URL handlers defined via the open_actions
338 | #: facility and if non
339 | #: are found, it will use the Operating System's default URL handler
340 | #: (open on macOS and xdg-open on Linux).
341 |
342 | # url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh
343 |
344 | #: The set of URL prefixes to look for when detecting a URL under the
345 | #: mouse cursor.
346 |
347 | # detect_urls yes
348 |
349 | #: Detect URLs under the mouse. Detected URLs are highlighted with an
350 | #: underline and the mouse cursor becomes a hand over them. Even if
351 | #: this option is disabled, URLs are still clickable.
352 |
353 | # url_excluded_characters
354 |
355 | #: Additional characters to be disallowed from URLs, when detecting
356 | #: URLs under the mouse cursor. By default, all characters that are
357 | #: legal in URLs are allowed.
358 |
359 | # show_hyperlink_targets no
360 |
361 | #: When the mouse hovers over a terminal hyperlink, show the actual
362 | #: URL that will be activated when the hyperlink is clicked.
363 |
364 | copy_on_select yes
365 |
366 | #: Copy to clipboard or a private buffer on select. With this set to
367 | #: clipboard, selecting text with the mouse will cause the text to be
368 | #: copied to clipboard. Useful on platforms such as macOS that do not
369 | #: have the concept of primary selection. You can instead specify a
370 | #: name such as a1 to copy to a private kitty buffer. Map a shortcut
371 | #: with the paste_from_buffer action to paste from this private
372 | #: buffer. For example::
373 |
374 | #: copy_on_select a1
375 | #: map shift+cmd+v paste_from_buffer a1
376 |
377 | #: Note that copying to the clipboard is a security risk, as all
378 | #: programs, including websites open in your browser can read the
379 | #: contents of the system clipboard.
380 |
381 | # paste_actions quote-urls-at-prompt
382 |
383 | #: A comma separated list of actions to take when pasting text into
384 | #: the terminal. The supported paste actions are:
385 |
386 | #: quote-urls-at-prompt:
387 | #: If the text being pasted is a URL and the cursor is at a shell prompt,
388 | #: automatically quote the URL (needs shell_integration).
389 | #: confirm:
390 | #: Confirm the paste if bracketed paste mode is not active or there is more
391 | #: a large amount of text being pasted.
392 | #: filter:
393 | #: Run the filter_paste() function from the file paste-actions.py in
394 | #: the kitty config directory on the pasted text. The text returned by the
395 | #: function will be actually pasted.
396 |
397 | # strip_trailing_spaces never
398 |
399 | #: Remove spaces at the end of lines when copying to clipboard. A
400 | #: value of smart will do it when using normal selections, but not
401 | #: rectangle selections. A value of always will always do it.
402 |
403 | # select_by_word_characters @-./_~?&=%+#
404 |
405 | #: Characters considered part of a word when double clicking. In
406 | #: addition to these characters any character that is marked as an
407 | #: alphanumeric character in the Unicode database will be matched.
408 |
409 | # select_by_word_characters_forward
410 |
411 | #: Characters considered part of a word when extending the selection
412 | #: forward on double clicking. In addition to these characters any
413 | #: character that is marked as an alphanumeric character in the
414 | #: Unicode database will be matched.
415 |
416 | #: If empty (default) select_by_word_characters will be used for both
417 | #: directions.
418 |
419 | # click_interval -1.0
420 |
421 | #: The interval between successive clicks to detect double/triple
422 | #: clicks (in seconds). Negative numbers will use the system default
423 | #: instead, if available, or fallback to 0.5.
424 |
425 | # focus_follows_mouse no
426 |
427 | #: Set the active window to the window under the mouse when moving the
428 | #: mouse around.
429 |
430 | # pointer_shape_when_grabbed arrow
431 |
432 | #: The shape of the mouse pointer when the program running in the
433 | #: terminal grabs the mouse. Valid values are: arrow, beam and hand.
434 |
435 | # default_pointer_shape beam
436 |
437 | #: The default shape of the mouse pointer. Valid values are: arrow,
438 | #: beam and hand.
439 |
440 | # pointer_shape_when_dragging beam
441 |
442 | #: The default shape of the mouse pointer when dragging across text.
443 | #: Valid values are: arrow, beam and hand.
444 |
445 | #: Mouse actions {{{
446 |
447 | #: Mouse buttons can be mapped to perform arbitrary actions. The
448 | #: syntax is:
449 |
450 | #: .. code-block:: none
451 |
452 | #: mouse_map button-name event-type modes action
453 |
454 | #: Where button-name is one of left, middle, right, b1 ... b8 with
455 | #: added keyboard modifiers. For example: ctrl+shift+left refers to
456 | #: holding the Ctrl+Shift keys while clicking with the left mouse
457 | #: button. The value b1 ... b8 can be used to refer to up to eight
458 | #: buttons on a mouse.
459 |
460 | #: event-type is one of press, release, doublepress, triplepress,
461 | #: click, doubleclick. modes indicates whether the action is performed
462 | #: when the mouse is grabbed by the program running in the terminal,
463 | #: or not. The values are grabbed or ungrabbed or a comma separated
464 | #: combination of them. grabbed refers to when the program running in
465 | #: the terminal has requested mouse events. Note that the click and
466 | #: double click events have a delay of click_interval to disambiguate
467 | #: from double and triple presses.
468 |
469 | #: You can run kitty with the kitty --debug-input command line option
470 | #: to see mouse events. See the builtin actions below to get a sense
471 | #: of what is possible.
472 |
473 | #: If you want to unmap an action, map it to no_op. For example, to
474 | #: disable opening of URLs with a plain click::
475 |
476 | #: mouse_map left click ungrabbed no_op
477 |
478 | #: See all the mappable actions including mouse actions here
479 | #: .
480 |
481 | #: .. note::
482 | #: Once a selection is started, releasing the button that started it will
483 | #: automatically end it and no release event will be dispatched.
484 |
485 | # clear_all_mouse_actions no
486 |
487 | #: Remove all mouse action definitions up to this point. Useful, for
488 | #: instance, to remove the default mouse actions.
489 |
490 | #: Click the link under the mouse or move the cursor
491 |
492 | # mouse_map left click ungrabbed mouse_handle_click selection link prompt
493 |
494 | #:: First check for a selection and if one exists do nothing. Then
495 | #:: check for a link under the mouse cursor and if one exists, click
496 | #:: it. Finally check if the click happened at the current shell
497 | #:: prompt and if so, move the cursor to the click location. Note
498 | #:: that this requires shell integration
499 | #:: to work.
500 |
501 | #: Click the link under the mouse or move the cursor even when grabbed
502 |
503 | # mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt
504 |
505 | #:: Same as above, except that the action is performed even when the
506 | #:: mouse is grabbed by the program running in the terminal.
507 |
508 | #: Click the link under the mouse cursor
509 |
510 | # mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link
511 |
512 | #:: Variant with Ctrl+Shift is present because the simple click based
513 | #:: version has an unavoidable delay of click_interval, to
514 | #:: disambiguate clicks from double clicks.
515 |
516 | #: Discard press event for link click
517 |
518 | # mouse_map ctrl+shift+left press grabbed discard_event
519 |
520 | #:: Prevent this press event from being sent to the program that has
521 | #:: grabbed the mouse, as the corresponding release event is used to
522 | #:: open a URL.
523 |
524 | #: Paste from the primary selection
525 |
526 | # mouse_map middle release ungrabbed paste_from_selection
527 |
528 | #: Start selecting text
529 |
530 | # mouse_map left press ungrabbed mouse_selection normal
531 |
532 | #: Start selecting text in a rectangle
533 |
534 | # mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
535 |
536 | #: Select a word
537 |
538 | # mouse_map left doublepress ungrabbed mouse_selection word
539 |
540 | #: Select a line
541 |
542 | # mouse_map left triplepress ungrabbed mouse_selection line
543 |
544 | #: Select line from point
545 |
546 | # mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
547 |
548 | #:: Select from the clicked point to the end of the line.
549 |
550 | #: Extend the current selection
551 |
552 | # mouse_map right press ungrabbed mouse_selection extend
553 |
554 | #:: If you want only the end of the selection to be moved instead of
555 | #:: the nearest boundary, use move-end instead of extend.
556 |
557 | #: Paste from the primary selection even when grabbed
558 |
559 | # mouse_map shift+middle release ungrabbed,grabbed paste_selection
560 | # mouse_map shift+middle press grabbed discard_event
561 |
562 | #: Start selecting text even when grabbed
563 |
564 | # mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
565 |
566 | #: Start selecting text in a rectangle even when grabbed
567 |
568 | # mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle
569 |
570 | #: Select a word even when grabbed
571 |
572 | # mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
573 |
574 | #: Select a line even when grabbed
575 |
576 | # mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
577 |
578 | #: Select line from point even when grabbed
579 |
580 | # mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
581 |
582 | #:: Select from the clicked point to the end of the line even when
583 | #:: grabbed.
584 |
585 | #: Extend the current selection even when grabbed
586 |
587 | # mouse_map shift+right press ungrabbed,grabbed mouse_selection extend
588 |
589 | #: Show clicked command output in pager
590 |
591 | # mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output
592 |
593 | #:: Requires shell integration
594 | #:: to work.
595 |
596 | #: }}}
597 |
598 | #: }}}
599 |
600 | #: Performance tuning {{{
601 |
602 | # repaint_delay 10
603 |
604 | #: Delay between screen updates (in milliseconds). Decreasing it,
605 | #: increases frames-per-second (FPS) at the cost of more CPU usage.
606 | #: The default value yields ~100 FPS which is more than sufficient for
607 | #: most uses. Note that to actually achieve 100 FPS, you have to
608 | #: either set sync_to_monitor to no or use a monitor with a high
609 | #: refresh rate. Also, to minimize latency when there is pending input
610 | #: to be processed, this option is ignored.
611 |
612 | # input_delay 3
613 |
614 | #: Delay before input from the program running in the terminal is
615 | #: processed (in milliseconds). Note that decreasing it will increase
616 | #: responsiveness, but also increase CPU usage and might cause flicker
617 | #: in full screen programs that redraw the entire screen on each loop,
618 | #: because kitty is so fast that partial screen updates will be drawn.
619 |
620 | # sync_to_monitor yes
621 |
622 | #: Sync screen updates to the refresh rate of the monitor. This
623 | #: prevents screen tearing
624 | #: when scrolling.
625 | #: However, it limits the rendering speed to the refresh rate of your
626 | #: monitor. With a very high speed mouse/high keyboard repeat rate,
627 | #: you may notice some slight input latency. If so, set this to no.
628 |
629 | #: }}}
630 |
631 | #: Terminal bell {{{
632 |
633 | # enable_audio_bell yes
634 |
635 | #: The audio bell. Useful to disable it in environments that require
636 | #: silence.
637 |
638 | visual_bell_duration 0.2
639 |
640 | #: The visual bell duration (in seconds). Flash the screen when a bell
641 | #: occurs for the specified number of seconds. Set to zero to disable.
642 |
643 | # visual_bell_color none
644 |
645 | #: The color used by visual bell. Set to none will fall back to
646 | #: selection background color. If you feel that the visual bell is too
647 | #: bright, you can set it to a darker color.
648 |
649 | # window_alert_on_bell yes
650 |
651 | #: Request window attention on bell. Makes the dock icon bounce on
652 | #: macOS or the taskbar flash on linux.
653 |
654 | # bell_on_tab "🔔 "
655 |
656 | #: Some text or a Unicode symbol to show on the tab if a window in the
657 | #: tab that does not have focus has a bell. If you want to use leading
658 | #: or trailing spaces, surround the text with quotes. See
659 | #: tab_title_template for how this is rendered.
660 |
661 | #: For backwards compatibility, values of yes, y and true are
662 | #: converted to the default bell symbol and no, n, false and none are
663 | #: converted to the empty string.
664 |
665 | # command_on_bell none
666 |
667 | #: Program to run when a bell occurs. The environment variable
668 | #: KITTY_CHILD_CMDLINE can be used to get the program running in the
669 | #: window in which the bell occurred.
670 |
671 | # bell_path none
672 |
673 | #: Path to a sound file to play as the bell sound. If set to none, the
674 | #: system default bell sound is used. Must be in a format supported by
675 | #: the operating systems sound API, such as WAV or OGA on Linux
676 | #: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound)
677 |
678 | #: }}}
679 |
680 | #: Window layout {{{
681 |
682 | # remember_window_size yes
683 | # initial_window_width 640
684 | # initial_window_height 400
685 |
686 | #: If enabled, the OS Window size will be remembered so that new
687 | #: instances of kitty will have the same size as the previous
688 | #: instance. If disabled, the OS Window will initially have size
689 | #: configured by initial_window_width/height, in pixels. You can use a
690 | #: suffix of "c" on the width/height values to have them interpreted
691 | #: as number of cells instead of pixels.
692 |
693 | # enabled_layouts *
694 |
695 | #: The enabled window layouts. A comma separated list of layout names.
696 | #: The special value all means all layouts. The first listed layout
697 | #: will be used as the startup layout. Default configuration is all
698 | #: layouts in alphabetical order. For a list of available layouts, see
699 | #: the layouts .
700 |
701 | # window_resize_step_cells 2
702 | # window_resize_step_lines 2
703 |
704 | #: The step size (in units of cell width/cell height) to use when
705 | #: resizing kitty windows in a layout with the shortcut
706 | #: start_resizing_window. The cells value is used for horizontal
707 | #: resizing, and the lines value is used for vertical resizing.
708 |
709 | # window_border_width 0.5pt
710 |
711 | #: The width of window borders. Can be either in pixels (px) or pts
712 | #: (pt). Values in pts will be rounded to the nearest number of pixels
713 | #: based on screen resolution. If not specified, the unit is assumed
714 | #: to be pts. Note that borders are displayed only when more than one
715 | #: window is visible. They are meant to separate multiple windows.
716 |
717 | # draw_minimal_borders yes
718 |
719 | #: Draw only the minimum borders needed. This means that only the
720 | #: borders that separate the window from a neighbor are drawn. Note
721 | #: that setting a non-zero window_margin_width overrides this and
722 | #: causes all borders to be drawn.
723 |
724 | # window_margin_width 0
725 |
726 | #: The window margin (in pts) (blank area outside the border). A
727 | #: single value sets all four sides. Two values set the vertical and
728 | #: horizontal sides. Three values set top, horizontal and bottom. Four
729 | #: values set top, right, bottom and left.
730 |
731 | # single_window_margin_width -1
732 |
733 | #: The window margin to use when only a single window is visible (in
734 | #: pts). Negative values will cause the value of window_margin_width
735 | #: to be used instead. A single value sets all four sides. Two values
736 | #: set the vertical and horizontal sides. Three values set top,
737 | #: horizontal and bottom. Four values set top, right, bottom and left.
738 |
739 | window_padding_width 5 5
740 |
741 | #: The window padding (in pts) (blank area between the text and the
742 | #: window border). A single value sets all four sides. Two values set
743 | #: the vertical and horizontal sides. Three values set top, horizontal
744 | #: and bottom. Four values set top, right, bottom and left.
745 |
746 | placement_strategy center
747 |
748 | #: When the window size is not an exact multiple of the cell size, the
749 | #: cell area of the terminal window will have some extra padding on
750 | #: the sides. You can control how that padding is distributed with
751 | #: this option. Using a value of center means the cell area will be
752 | #: placed centrally. A value of top-left means the padding will be
753 | #: only at the bottom and right edges.
754 |
755 | # active_border_color #00ff00
756 |
757 | #: The color for the border of the active window. Set this to none to
758 | #: not draw borders around the active window.
759 |
760 | # inactive_border_color #cccccc
761 |
762 | #: The color for the border of inactive windows.
763 |
764 | # bell_border_color #ff5a00
765 |
766 | #: The color for the border of inactive windows in which a bell has
767 | #: occurred.
768 |
769 | # inactive_text_alpha 1.0
770 |
771 | #: Fade the text in inactive windows by the specified amount (a number
772 | #: between zero and one, with zero being fully faded).
773 |
774 | # hide_window_decorations no
775 |
776 | #: Hide the window decorations (title-bar and window borders) with
777 | #: yes. On macOS, titlebar-only can be used to only hide the titlebar.
778 | #: Whether this works and exactly what effect it has depends on the
779 | #: window manager/operating system. Note that the effects of changing
780 | #: this option when reloading config are undefined.
781 |
782 | # window_logo_path none
783 |
784 | #: Path to a logo image. Must be in PNG format. Relative paths are
785 | #: interpreted relative to the kitty config directory. The logo is
786 | #: displayed in a corner of every kitty window. The position is
787 | #: controlled by window_logo_position. Individual windows can be
788 | #: configured to have different logos either using the launch action
789 | #: or the remote control facility.
791 |
792 | # window_logo_position bottom-right
793 |
794 | #: Where to position the window logo in the window. The value can be
795 | #: one of: top-left, top, top-right, left, center, right, bottom-left,
796 | #: bottom, bottom-right.
797 |
798 | # window_logo_alpha 0.5
799 |
800 | #: The amount the logo should be faded into the background. With zero
801 | #: being fully faded and one being fully opaque.
802 |
803 | # resize_debounce_time 0.1
804 |
805 | #: The time to wait before redrawing the screen when a resize event is
806 | #: received (in seconds). On platforms such as macOS, where the
807 | #: operating system sends events corresponding to the start and end of
808 | #: a resize, this number is ignored.
809 |
810 | # resize_draw_strategy static
811 |
812 | #: Choose how kitty draws a window while a resize is in progress. A
813 | #: value of static means draw the current window contents, mostly
814 | #: unchanged. A value of scale means draw the current window contents
815 | #: scaled. A value of blank means draw a blank window. A value of size
816 | #: means show the window size in cells.
817 |
818 | # resize_in_steps no
819 |
820 | #: Resize the OS window in steps as large as the cells, instead of
821 | #: with the usual pixel accuracy. Combined with initial_window_width
822 | #: and initial_window_height in number of cells, this option can be
823 | #: used to keep the margins as small as possible when resizing the OS
824 | #: window. Note that this does not currently work on Wayland.
825 |
826 | # visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
827 |
828 | #: The list of characters for visual window selection. For example,
829 | #: for selecting a window to focus on with focus_visible_window. The
830 | #: value should be a series of unique numbers or alphabets, case
831 | #: insensitive, from the set [0-9A-Z]. Specify your preference as a
832 | #: string of characters.
833 |
834 | # confirm_os_window_close -1
835 |
836 | #: Ask for confirmation when closing an OS window or a tab with at
837 | #: least this number of kitty windows in it by window manager (e.g.
838 | #: clicking the window close button or pressing the operating system
839 | #: shortcut to close windows) or by the close_tab action. A value of
840 | #: zero disables confirmation. This confirmation also applies to
841 | #: requests to quit the entire application (all OS windows, via the
842 | #: quit action). Negative values are converted to positive ones,
843 | #: however, with shell_integration enabled, using negative values
844 | #: means windows sitting at a shell prompt are not counted, only
845 | #: windows where some command is currently running. Note that if you
846 | #: want confirmation when closing individual windows, you can map the
847 | #: close_window_with_confirmation action.
848 |
849 | #: }}}
850 |
851 | #: Tab bar {{{
852 |
853 | # tab_bar_edge bottom
854 |
855 | #: The edge to show the tab bar on, top or bottom.
856 |
857 | # tab_bar_margin_width 0.0
858 |
859 | #: The margin to the left and right of the tab bar (in pts).
860 |
861 | # tab_bar_margin_height 0.5 0.5
862 |
863 | #: The margin above and below the tab bar (in pts). The first number
864 | #: is the margin between the edge of the OS Window and the tab bar.
865 | #: The second number is the margin between the tab bar and the
866 | #: contents of the current tab.
867 |
868 | # tab_bar_style fade
869 |
870 | #: The tab bar style, can be one of:
871 |
872 | #: fade
873 | #: Each tab's edges fade into the background color. (See also tab_fade)
874 | #: slant
875 | #: Tabs look like the tabs in a physical file.
876 | #: separator
877 | #: Tabs are separated by a configurable separator. (See also
878 | #: tab_separator)
879 | #: powerline
880 | #: Tabs are shown as a continuous line with "fancy" separators.
881 | #: (See also tab_powerline_style)
882 | #: custom
883 | #: A user-supplied Python function called draw_tab is loaded from the file
884 | #: tab_bar.py in the kitty config directory. For examples of how to
885 | #: write such a function, see the functions named draw_tab_with_* in
886 | #: kitty's source code: kitty/tab_bar.py. See also
887 | #: this discussion
888 | #: for examples from kitty users.
889 | #: hidden
890 | #: The tab bar is hidden. If you use this, you might want to create a mapping
891 | #: for the select_tab action which presents you with a list of tabs and
892 | #: allows for easy switching to a tab.
893 |
894 | tab_bar_min_tabs 1
895 | tab_bar_edge bottom
896 | tab_bar_style powerline
897 | tab_powerline_style slanted
898 | tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
899 | # tab_bar_align left
900 |
901 | #: The horizontal alignment of the tab bar, can be one of: left,
902 | #: center, right.
903 |
904 | # tab_bar_min_tabs 2
905 |
906 | #: The minimum number of tabs that must exist before the tab bar is
907 | #: shown.
908 |
909 | # tab_switch_strategy previous
910 |
911 | #: The algorithm to use when switching to a tab when the current tab
912 | #: is closed. The default of previous will switch to the last used
913 | #: tab. A value of left will switch to the tab to the left of the
914 | #: closed tab. A value of right will switch to the tab to the right of
915 | #: the closed tab. A value of last will switch to the right-most tab.
916 |
917 | tab_fade 0.2 0.4 0.65 0.90
918 |
919 | #: Control how each tab fades into the background when using fade for
920 | #: the tab_bar_style. Each number is an alpha (between zero and one)
921 | #: that controls how much the corresponding cell fades into the
922 | #: background, with zero being no fade and one being full fade. You
923 | #: can change the number of cells used by adding/removing entries to
924 | #: this list.
925 |
926 | # tab_separator " ┇"
927 |
928 | #: The separator between tabs in the tab bar when using separator as
929 | #: the tab_bar_style.
930 |
931 | # tab_powerline_style angled
932 |
933 | #: The powerline separator style between tabs in the tab bar when
934 | #: using powerline as the tab_bar_style, can be one of: angled,
935 | #: slanted, round.
936 |
937 | # tab_activity_symbol none
938 |
939 | #: Some text or a Unicode symbol to show on the tab if a window in the
940 | #: tab that does not have focus has some activity. If you want to use
941 | #: leading or trailing spaces, surround the text with quotes. See
942 | #: tab_title_template for how this is rendered.
943 |
944 | # tab_title_max_length 0
945 |
946 | #: The maximum number of cells that can be used to render the text in
947 | #: a tab. A value of zero means that no limit is applied.
948 |
949 | # tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}"
950 |
951 | #: A template to render the tab title. The default just renders the
952 | #: title with optional symbols for bell and activity. If you wish to
953 | #: include the tab-index as well, use something like: {index}:{title}.
954 | #: Useful if you have shortcuts mapped for goto_tab N. If you prefer
955 | #: to see the index as a superscript, use {sup.index}. All data
956 | #: available is:
957 |
958 | #: title
959 | #: The current tab title.
960 | #: index
961 | #: The tab index useable with goto_tab N goto_tab shortcuts.
962 | #: layout_name
963 | #: The current layout name.
964 | #: num_windows
965 | #: The number of windows in the tab.
966 | #: num_window_groups
967 | #: The number of window groups (not counting overlay windows) in the tab.
968 | #: tab.active_wd
969 | #: The working directory of the currently active window in the tab (expensive,
970 | #: requires syscall). Use active_oldest_wd to get the directory of the oldest foreground process rather than the newest.
971 | #: tab.active_exe
972 | #: The name of the executable running in the foreground of the currently active window in the tab (expensive,
973 | #: requires syscall). Use active_oldest_exe for the oldest foreground process.
974 | #: max_title_length
975 | #: The maximum title length available.
976 |
977 | #: Note that formatting is done by Python's string formatting
978 | #: machinery, so you can use, for instance, {layout_name[:2].upper()}
979 | #: to show only the first two letters of the layout name, upper-cased.
980 | #: If you want to style the text, you can use styling directives, for
981 | #: example:
982 | #: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`.
983 | #: Similarly, for bold and italic:
984 | #: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`.
985 | #: Note that for backward compatibility, if {bell_symbol} or
986 | #: {activity_symbol} are not present in the template, they are
987 | #: prepended to it.
988 |
989 | # active_tab_title_template none
990 |
991 | #: Template to use for active tabs. If not specified falls back to
992 | #: tab_title_template.
993 |
994 | # active_tab_foreground #000
995 | # active_tab_background #eee
996 | # active_tab_font_style bold-italic
997 | # inactive_tab_foreground #444
998 | # inactive_tab_background #999
999 | # inactive_tab_font_style normal
1000 |
1001 | #: Tab bar colors and styles.
1002 |
1003 | # tab_bar_background none
1004 |
1005 | #: Background color for the tab bar. Defaults to using the terminal
1006 | #: background color.
1007 |
1008 | # tab_bar_margin_color none
1009 |
1010 | #: Color for the tab bar margin area. Defaults to using the terminal
1011 | #: background color for margins above and below the tab bar. For side
1012 | #: margins the default color is chosen to match the background color
1013 | #: of the neighboring tab.
1014 |
1015 | #: }}}
1016 |
1017 | #: Color scheme {{{
1018 |
1019 | # foreground #dddddd
1020 | # background #000000
1021 |
1022 | #: The foreground and background colors.
1023 |
1024 | background_opacity 0.9
1025 |
1026 | #: The opacity of the background. A number between zero and one, where
1027 | #: one is opaque and zero is fully transparent. This will only work if
1028 | #: supported by the OS (for instance, when using a compositor under
1029 | #: X11). Note that it only sets the background color's opacity in
1030 | #: cells that have the same background color as the default terminal
1031 | #: background, so that things like the status bar in vim, powerline
1032 | #: prompts, etc. still look good. But it means that if you use a color
1033 | #: theme with a background color in your editor, it will not be
1034 | #: rendered as transparent. Instead you should change the default
1035 | #: background color in your kitty config and not use a background
1036 | #: color in the editor color scheme. Or use the escape codes to set
1037 | #: the terminals default colors in a shell script to launch your
1038 | #: editor. Be aware that using a value less than 1.0 is a (possibly
1039 | #: significant) performance hit. If you want to dynamically change
1040 | #: transparency of windows, set dynamic_background_opacity to yes
1041 | #: (this is off by default as it has a performance cost). Changing
1042 | #: this option when reloading the config will only work if
1043 | #: dynamic_background_opacity was enabled in the original config.
1044 |
1045 | # background_image none
1046 |
1047 | #: Path to a background image. Must be in PNG format.
1048 |
1049 | # background_image_layout tiled
1050 |
1051 | #: Whether to tile, scale or clamp the background image. The value can
1052 | #: be one of tiled, mirror-tiled, scaled, clamped or centered.
1053 |
1054 | # background_image_linear no
1055 |
1056 | #: When background image is scaled, whether linear interpolation
1057 | #: should be used.
1058 |
1059 | # dynamic_background_opacity no
1060 |
1061 | #: Allow changing of the background_opacity dynamically, using either
1062 | #: keyboard shortcuts (increase_background_opacity and
1063 | #: decrease_background_opacity) or the remote control facility.
1064 | #: Changing this option by reloading the config is not supported.
1065 |
1066 | # background_tint 0.0
1067 |
1068 | #: How much to tint the background image by the background color. This
1069 | #: option makes it easier to read the text. Tinting is done using the
1070 | #: current background color for each window. This option applies only
1071 | #: if background_opacity is set and transparent windows are supported
1072 | #: or background_image is set.
1073 |
1074 | # background_tint_gaps 1.0
1075 |
1076 | #: How much to tint the background image at the window gaps by the
1077 | #: background color, after applying background_tint. Since this is
1078 | #: multiplicative with background_tint, it can be used to lighten the
1079 | #: tint over the window gaps for a *separated* look.
1080 |
1081 | # dim_opacity 0.75
1082 |
1083 | #: How much to dim text that has the DIM/FAINT attribute set. One
1084 | #: means no dimming and zero means fully dimmed (i.e. invisible).
1085 |
1086 | # selection_foreground #000000
1087 | # selection_background #fffacd
1088 |
1089 | #: The foreground and background colors for text selected with the
1090 | #: mouse. Setting both of these to none will cause a "reverse video"
1091 | #: effect for selections, where the selection will be the cell text
1092 | #: color and the text will become the cell background color. Setting
1093 | #: only selection_foreground to none will cause the foreground color
1094 | #: to be used unchanged. Note that these colors can be overridden by
1095 | #: the program running in the terminal.
1096 |
1097 | #: The color table {{{
1098 |
1099 | #: The 256 terminal colors. There are 8 basic colors, each color has a
1100 | #: dull and bright version, for the first 16 colors. You can set the
1101 | #: remaining 240 colors as color16 to color255.
1102 |
1103 | # color0 #000000
1104 | # color8 #767676
1105 |
1106 | #: black
1107 |
1108 | # color1 #cc0403
1109 | # color9 #f2201f
1110 |
1111 | #: red
1112 |
1113 | # color2 #19cb00
1114 | # color10 #23fd00
1115 |
1116 | #: green
1117 |
1118 | # color3 #cecb00
1119 | # color11 #fffd00
1120 |
1121 | #: yellow
1122 |
1123 | # color4 #0d73cc
1124 | # color12 #1a8fff
1125 |
1126 | #: blue
1127 |
1128 | # color5 #cb1ed1
1129 | # color13 #fd28ff
1130 |
1131 | #: magenta
1132 |
1133 | # color6 #0dcdcd
1134 | # color14 #14ffff
1135 |
1136 | #: cyan
1137 |
1138 | # color7 #dddddd
1139 | # color15 #ffffff
1140 |
1141 | #: white
1142 |
1143 | # mark1_foreground black
1144 |
1145 | #: Color for marks of type 1
1146 |
1147 | # mark1_background #98d3cb
1148 |
1149 | #: Color for marks of type 1 (light steel blue)
1150 |
1151 | # mark2_foreground black
1152 |
1153 | #: Color for marks of type 2
1154 |
1155 | # mark2_background #f2dcd3
1156 |
1157 | #: Color for marks of type 1 (beige)
1158 |
1159 | # mark3_foreground black
1160 |
1161 | #: Color for marks of type 3
1162 |
1163 | # mark3_background #f274bc
1164 |
1165 | #: Color for marks of type 3 (violet)
1166 |
1167 | #: }}}
1168 |
1169 | #: }}}
1170 |
1171 | #: Advanced {{{
1172 |
1173 | # shell .
1174 |
1175 | #: The shell program to execute. The default value of . means to use
1176 | #: whatever shell is set as the default shell for the current user.
1177 | #: Note that on macOS if you change this, you might need to add
1178 | #: --login and --interactive to ensure that the shell starts in
1179 | #: interactive mode and reads its startup rc files.
1180 |
1181 | # editor .
1182 |
1183 | #: The terminal based text editor (such as vim or nano) to use when
1184 | #: editing the kitty config file or similar tasks.
1185 |
1186 | #: The default value of . means to use the environment variables
1187 | #: VISUAL and EDITOR in that order. If these variables aren't set,
1188 | #: kitty will run your shell ($SHELL -l -i -c env) to see if your
1189 | #: shell startup rc files set VISUAL or EDITOR. If that doesn't work,
1190 | #: kitty will cycle through various known editors (vim, emacs, etc.)
1191 | #: and take the first one that exists on your system.
1192 |
1193 | # close_on_child_death no
1194 |
1195 | #: Close the window when the child process (shell) exits. With the
1196 | #: default value no, the terminal will remain open when the child
1197 | #: exits as long as there are still processes outputting to the
1198 | #: terminal (for example disowned or backgrounded processes). When
1199 | #: enabled with yes, the window will close as soon as the child
1200 | #: process exits. Note that setting it to yes means that any
1201 | #: background processes still using the terminal can fail silently
1202 | #: because their stdout/stderr/stdin no longer work.
1203 |
1204 | # remote_control_password
1205 |
1206 | #: Allow other programs to control kitty using passwords. This option
1207 | #: can be specified multiple times to add multiple passwords. If no
1208 | #: passwords are present kitty will ask the user for permission if a
1209 | #: program tries to use remote control with a password. A password can
1210 | #: also *optionally* be associated with a set of allowed remote
1211 | #: control actions. For example::
1212 |
1213 | #: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab
1214 |
1215 | #: Only the specified actions will be allowed when using this
1216 | #: password. Glob patterns can be used too, for example::
1217 |
1218 | #: remote_control_password "my passphrase" set-tab-* resize-*
1219 |
1220 | #: To get a list of available actions, run::
1221 |
1222 | #: kitty @ --help
1223 |
1224 | #: A set of actions to be allowed when no password is sent can be
1225 | #: specified by using an empty password, for example::
1226 |
1227 | #: remote_control_password "" *-colors
1228 |
1229 | #: Finally, the path to a python module can be specified that provides
1230 | #: a function is_cmd_allowed that is used to check every remote
1231 | #: control command. See rc_custom_auth
1232 | #:
1233 | #: for details. For example::
1234 |
1235 | #: remote_control_password "my passphrase" my_rc_command_checker.py
1236 |
1237 | #: Relative paths are resolved from the kitty configuration directory.
1238 |
1239 | # allow_remote_control no
1240 |
1241 | #: Allow other programs to control kitty. If you turn this on, other
1242 | #: programs can control all aspects of kitty, including sending text
1243 | #: to kitty windows, opening new windows, closing windows, reading the
1244 | #: content of windows, etc. Note that this even works over SSH
1245 | #: connections. The default setting of no prevents any form of remote
1246 | #: control. The meaning of the various values are:
1247 |
1248 | #: password
1249 | #: Remote control requests received over both the TTY device and the socket are
1250 | #: confirmed based on passwords, see remote_control_password.
1251 |
1252 | #: socket-only
1253 | #: Remote control requests received over a socket are accepted unconditionally.
1254 | #: Requests received over the TTY are denied. See listen_on.
1255 |
1256 | #: socket
1257 | #: Remote control requests received over a socket are accepted unconditionally.
1258 | #: Requests received over the TTY are confirmed based on password.
1259 |
1260 | #: no
1261 | #: Remote control is completely disabled.
1262 |
1263 | #: yes
1264 | #: Remote control requests are always accepted.
1265 |
1266 | # listen_on none
1267 |
1268 | #: Listen to the specified UNIX socket for remote control connections.
1269 | #: Note that this will apply to all kitty instances. It can be
1270 | #: overridden by the kitty --listen-on command line option, which also
1271 | #: supports listening on a TCP socket. This option accepts only UNIX
1272 | #: sockets, such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux).
1273 | #: Environment variables are expanded and relative paths are resolved
1274 | #: with respect to the temporary directory. If {kitty_pid} is present,
1275 | #: then it is replaced by the PID of the kitty process, otherwise the
1276 | #: PID of the kitty process is appended to the value, with a hyphen.
1277 | #: See the help for kitty --listen-on for more details. Note that this
1278 | #: will be ignored unless allow_remote_control is set to either: yes,
1279 | #: socket or socket-only. Changing this option by reloading the config
1280 | #: is not supported.
1281 |
1282 | # env
1283 |
1284 | #: Specify the environment variables to be set in all child processes.
1285 | #: Using the name with an equal sign (e.g. env VAR=) will set it to
1286 | #: the empty string. Specifying only the name (e.g. env VAR) will
1287 | #: remove the variable from the child process' environment. Note that
1288 | #: environment variables are expanded recursively, for example::
1289 |
1290 | #: env VAR1=a
1291 | #: env VAR2=${HOME}/${VAR1}/b
1292 |
1293 | #: The value of VAR2 will be /a/b.
1294 |
1295 | # watcher
1296 |
1297 | #: Path to python file which will be loaded for watchers
1298 | #: . Can be
1299 | #: specified more than once to load multiple watchers. The watchers
1300 | #: will be added to every kitty window. Relative paths are resolved
1301 | #: relative to the kitty config directory. Note that reloading the
1302 | #: config will only affect windows created after the reload.
1303 |
1304 | # exe_search_path
1305 |
1306 | #: Control where kitty finds the programs to run. The default search
1307 | #: order is: First search the system wide PATH, then ~/.local/bin and
1308 | #: ~/bin. If still not found, the PATH defined in the login shell
1309 | #: after sourcing all its startup files is tried. Finally, if present,
1310 | #: the PATH specified by the env option is tried.
1311 |
1312 | #: This option allows you to prepend, append, or remove paths from
1313 | #: this search order. It can be specified multiple times for multiple
1314 | #: paths. A simple path will be prepended to the search order. A path
1315 | #: that starts with the + sign will be append to the search order,
1316 | #: after ~/bin above. A path that starts with the - sign will be
1317 | #: removed from the entire search order. For example::
1318 |
1319 | #: exe_search_path /some/prepended/path
1320 | #: exe_search_path +/some/appended/path
1321 | #: exe_search_path -/some/excluded/path
1322 |
1323 | # update_check_interval 24
1324 |
1325 | #: The interval to periodically check if an update to kitty is
1326 | #: available (in hours). If an update is found, a system notification
1327 | #: is displayed informing you of the available update. The default is
1328 | #: to check every 24 hours, set to zero to disable. Update checking is
1329 | #: only done by the official binary builds. Distro packages or source
1330 | #: builds do not do update checking. Changing this option by reloading
1331 | #: the config is not supported.
1332 |
1333 | # startup_session none
1334 |
1335 | #: Path to a session file to use for all kitty instances. Can be
1336 | #: overridden by using the kitty --session command line option for
1337 | #: individual instances. See sessions
1338 | #: in the kitty
1339 | #: documentation for details. Note that relative paths are interpreted
1340 | #: with respect to the kitty config directory. Environment variables
1341 | #: in the path are expanded. Changing this option by reloading the
1342 | #: config is not supported.
1343 |
1344 | # clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask
1345 |
1346 | #: Allow programs running in kitty to read and write from the
1347 | #: clipboard. You can control exactly which actions are allowed. The
1348 | #: possible actions are: write-clipboard, read-clipboard, write-
1349 | #: primary, read-primary, read-clipboard-ask, read-primary-ask. The
1350 | #: default is to allow writing to the clipboard and primary selection
1351 | #: and to ask for permission when a program tries to read from the
1352 | #: clipboard. Note that disabling the read confirmation is a security
1353 | #: risk as it means that any program, even the ones running on a
1354 | #: remote server via SSH can read your clipboard. See also
1355 | #: clipboard_max_size.
1356 |
1357 | # clipboard_max_size 512
1358 |
1359 | #: The maximum size (in MB) of data from programs running in kitty
1360 | #: that will be stored for writing to the system clipboard. A value of
1361 | #: zero means no size limit is applied. See also clipboard_control.
1362 |
1363 | # file_transfer_confirmation_bypass
1364 |
1365 | #: The password that can be supplied to the file transfer kitten
1366 | #: to skip the
1367 | #: transfer confirmation prompt. This should only be used when
1368 | #: initiating transfers from trusted computers, over trusted networks
1369 | #: or encrypted transports, as it allows any programs running on the
1370 | #: remote machine to read/write to the local filesystem, without
1371 | #: permission.
1372 |
1373 | # allow_hyperlinks yes
1374 |
1375 | #: Process hyperlink escape sequences (OSC 8). If disabled OSC 8
1376 | #: escape sequences are ignored. Otherwise they become clickable
1377 | #: links, that you can click with the mouse or by using the hints
1378 | #: kitten . The
1379 | #: special value of ask means that kitty will ask before opening the
1380 | #: link when clicked.
1381 |
1382 | # shell_integration enabled
1383 |
1384 | #: Enable shell integration on supported shells. This enables features
1385 | #: such as jumping to previous prompts, browsing the output of the
1386 | #: previous command in a pager, etc. on supported shells. Set to
1387 | #: disabled to turn off shell integration, completely. It is also
1388 | #: possible to disable individual features, set to a space separated
1389 | #: list of these values: no-rc, no-cursor, no-title, no-cwd, no-
1390 | #: prompt-mark, no-complete. See Shell integration
1391 | #: for details.
1392 |
1393 | # allow_cloning ask
1394 |
1395 | #: Control whether programs running in the terminal can request new
1396 | #: windows to be created. The canonical example is clone-in-kitty
1397 | #: .
1398 | #: By default, kitty will ask for permission for each clone request.
1399 | #: Allowing cloning unconditionally gives programs running in the
1400 | #: terminal (including over SSH) permission to execute arbitrary code,
1401 | #: as the user who is running the terminal, on the computer that the
1402 | #: terminal is running on.
1403 |
1404 | # clone_source_strategies venv,conda,env_var,path
1405 |
1406 | #: Control what shell code is sourced when running clone-in-kitty in
1407 | #: the newly cloned window. The supported strategies are:
1408 |
1409 | #: venv
1410 | #: Source the file $VIRTUAL_ENV/bin/activate. This is used by the
1411 | #: Python stdlib venv module and allows cloning venvs automatically.
1412 | #: conda
1413 | #: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual
1414 | #: environments created by conda.
1415 | #: env_var
1416 | #: Execute the contents of the environment variable
1417 | #: KITTY_CLONE_SOURCE_CODE with eval.
1418 | #: path
1419 | #: Source the file pointed to by the environment variable
1420 | #: KITTY_CLONE_SOURCE_PATH.
1421 |
1422 | #: This option must be a comma separated list of the above values.
1423 | #: This only source the first valid one in the above order.
1424 |
1425 | # term xterm-kitty
1426 |
1427 | #: The value of the TERM environment variable to set. Changing this
1428 | #: can break many terminal programs, only change it if you know what
1429 | #: you are doing, not because you read some advice on "Stack Overflow"
1430 | #: to change it. The TERM variable is used by various programs to get
1431 | #: information about the capabilities and behavior of the terminal. If
1432 | #: you change it, depending on what programs you run, and how
1433 | #: different the terminal you are changing it to is, various things
1434 | #: from key-presses, to colors, to various advanced features may not
1435 | #: work. Changing this option by reloading the config will only affect
1436 | #: newly created windows.
1437 |
1438 | #: }}}
1439 |
1440 | #: OS specific tweaks {{{
1441 |
1442 | # wayland_titlebar_color system
1443 |
1444 | #: The color of the kitty window's titlebar on Wayland systems with
1445 | #: client side window decorations such as GNOME. A value of system
1446 | #: means to use the default system color, a value of background means
1447 | #: to use the background color of the currently active window and
1448 | #: finally you can use an arbitrary color, such as #12af59 or red.
1449 |
1450 | # macos_titlebar_color system
1451 |
1452 | #: The color of the kitty window's titlebar on macOS. A value of
1453 | #: system means to use the default system color, light or dark can
1454 | #: also be used to set it explicitly. A value of background means to
1455 | #: use the background color of the currently active window and finally
1456 | #: you can use an arbitrary color, such as #12af59 or red. WARNING:
1457 | #: This option works by using a hack when arbitrary color (or
1458 | #: background) is configured, as there is no proper Cocoa API for it.
1459 | #: It sets the background color of the entire window and makes the
1460 | #: titlebar transparent. As such it is incompatible with
1461 | #: background_opacity. If you want to use both, you are probably
1462 | #: better off just hiding the titlebar with hide_window_decorations.
1463 |
1464 | # macos_option_as_alt no
1465 |
1466 | #: Use the Option key as an Alt key on macOS. With this set to no,
1467 | #: kitty will use the macOS native Option+Key to enter Unicode
1468 | #: character behavior. This will break any Alt+Key keyboard shortcuts
1469 | #: in your terminal programs, but you can use the macOS Unicode input
1470 | #: technique. You can use the values: left, right or both to use only
1471 | #: the left, right or both Option keys as Alt, instead. Note that
1472 | #: kitty itself always treats Option the same as Alt. This means you
1473 | #: cannot use this option to configure different kitty shortcuts for
1474 | #: Option+Key vs. Alt+Key. Also, any kitty shortcuts using
1475 | #: Option/Alt+Key will take priority, so that any such key presses
1476 | #: will not be passed to terminal programs running inside kitty.
1477 | #: Changing this option by reloading the config is not supported.
1478 |
1479 | # macos_hide_from_tasks no
1480 |
1481 | #: Hide the kitty window from running tasks on macOS (⌘+Tab and the
1482 | #: Dock). Changing this option by reloading the config is not
1483 | #: supported.
1484 |
1485 | # macos_quit_when_last_window_closed no
1486 |
1487 | #: Have kitty quit when all the top-level windows are closed on macOS.
1488 | #: By default, kitty will stay running, even with no open windows, as
1489 | #: is the expected behavior on macOS.
1490 |
1491 | # macos_window_resizable yes
1492 |
1493 | #: Disable this if you want kitty top-level OS windows to not be
1494 | #: resizable on macOS. Changing this option by reloading the config
1495 | #: will only affect newly created OS windows.
1496 |
1497 | # macos_thicken_font 0
1498 |
1499 | #: Draw an extra border around the font with the given width, to
1500 | #: increase legibility at small font sizes on macOS. For example, a
1501 | #: value of 0.75 will result in rendering that looks similar to sub-
1502 | #: pixel antialiasing at common font sizes.
1503 |
1504 | # macos_traditional_fullscreen no
1505 |
1506 | #: Use the macOS traditional full-screen transition, that is faster,
1507 | #: but less pretty.
1508 |
1509 | # macos_show_window_title_in all
1510 |
1511 | #: Control where the window title is displayed on macOS. A value of
1512 | #: window will show the title of the currently active window at the
1513 | #: top of the macOS window. A value of menubar will show the title of
1514 | #: the currently active window in the macOS global menu bar, making
1515 | #: use of otherwise wasted space. A value of all will show the title
1516 | #: in both places, and none hides the title. See
1517 | #: macos_menubar_title_max_length for how to control the length of the
1518 | #: title in the menu bar.
1519 |
1520 | # macos_menubar_title_max_length 0
1521 |
1522 | #: The maximum number of characters from the window title to show in
1523 | #: the macOS global menu bar. Values less than one means that there is
1524 | #: no maximum limit.
1525 |
1526 | # macos_custom_beam_cursor no
1527 |
1528 | #: Use a custom mouse cursor for macOS that is easier to see on both
1529 | #: light and dark backgrounds. Nowadays, the default macOS cursor
1530 | #: already comes with a white border. WARNING: this might make your
1531 | #: mouse cursor invisible on dual GPU machines. Changing this option
1532 | #: by reloading the config is not supported.
1533 |
1534 | # macos_colorspace srgb
1535 |
1536 | #: The colorspace in which to interpret terminal colors. The default
1537 | #: of srgb will cause colors to match those seen in web browsers. The
1538 | #: value of default will use whatever the native colorspace of the
1539 | #: display is. The value of displayp3 will use Apple's special
1540 | #: snowflake display P3 color space, which will result in over
1541 | #: saturated (brighter) colors with some color shift. Reloading
1542 | #: configuration will change this value only for newly created OS
1543 | #: windows.
1544 |
1545 | # linux_display_server auto
1546 |
1547 | #: Choose between Wayland and X11 backends. By default, an appropriate
1548 | #: backend based on the system state is chosen automatically. Set it
1549 | #: to x11 or wayland to force the choice. Changing this option by
1550 | #: reloading the config is not supported.
1551 |
1552 | #: }}}
1553 |
1554 | #: Keyboard shortcuts {{{
1555 |
1556 | #: Keys are identified simply by their lowercase Unicode characters.
1557 | #: For example: a for the A key, [ for the left square bracket key,
1558 | #: etc. For functional keys, such as Enter or Escape, the names are
1559 | #: present at Functional key definitions
1560 | #: .
1561 | #: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt
1562 | #: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods
1563 | #:
1564 |
1565 | #: On Linux you can also use XKB key names to bind keys that are not
1566 | #: supported by GLFW. See XKB keys
1567 | #: for a list of key names. The name to use is the part
1569 | #: after the XKB_KEY_ prefix. Note that you can only use an XKB key
1570 | #: name for keys that are not known as GLFW keys.
1571 |
1572 | #: Finally, you can use raw system key codes to map keys, again only
1573 | #: for keys that are not known as GLFW keys. To see the system key
1574 | #: code for a key, start kitty with the kitty --debug-input option,
1575 | #: kitty will output some debug text for every key event. In that text
1576 | #: look for native_code, the value of that becomes the key name in the
1577 | #: shortcut. For example:
1578 |
1579 | #: .. code-block:: none
1580 |
1581 | #: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a'
1582 |
1583 | #: Here, the key name for the A key is 0x61 and you can use it with::
1584 |
1585 | #: map ctrl+0x61 something
1586 |
1587 | #: to map Ctrl+A to something.
1588 |
1589 | #: You can use the special action no_op to unmap a keyboard shortcut
1590 | #: that is assigned in the default configuration::
1591 |
1592 | #: map kitty_mod+space no_op
1593 |
1594 | #: If you would like kitty to completely ignore a key event, not even
1595 | #: sending it to the program running in the terminal, map it to
1596 | #: discard_event::
1597 |
1598 | #: map kitty_mod+f1 discard_event
1599 |
1600 | #: You can combine multiple actions to be triggered by a single
1601 | #: shortcut with combine action, using the syntax below::
1602 |
1603 | #: map key combine action1 action2 action3 ...
1604 |
1605 | #: For example::
1606 |
1607 | #: map kitty_mod+e combine : new_window : next_layout
1608 |
1609 | #: This will create a new window and switch to the next available
1610 | #: layout.
1611 |
1612 | #: You can use multi-key shortcuts with the syntax shown below::
1613 |
1614 | #: map key1>key2>key3 action
1615 |
1616 | #: For example::
1617 |
1618 | #: map ctrl+f>2 set_font_size 20
1619 |
1620 | #: The full list of actions that can be mapped to key presses is
1621 | #: available here .
1622 |
1623 | kitty_mod ctrl+shift
1624 |
1625 | #: Special modifier key alias for default shortcuts. You can change
1626 | #: the value of this option to alter all default shortcuts that use
1627 | #: kitty_mod.
1628 |
1629 | # clear_all_shortcuts no
1630 |
1631 | #: Remove all shortcut definitions up to this point. Useful, for
1632 | #: instance, to remove the default shortcuts.
1633 |
1634 | # action_alias
1635 |
1636 | #: E.g. action_alias launch_tab launch --type=tab --cwd=current
1637 |
1638 | #: Define action aliases to avoid repeating the same options in
1639 | #: multiple mappings. Aliases can be defined for any action and will
1640 | #: be expanded recursively. For example, the above alias allows you to
1641 | #: create mappings to launch a new tab in the current working
1642 | #: directory without duplication::
1643 |
1644 | #: map f1 launch_tab vim
1645 | #: map f2 launch_tab emacs
1646 |
1647 | #: Similarly, to alias kitten invocation::
1648 |
1649 | #: action_alias hints kitten hints --hints-offset=0
1650 |
1651 | # kitten_alias
1652 |
1653 | #: E.g. kitten_alias hints hints --hints-offset=0
1654 |
1655 | #: Like action_alias above, but specifically for kittens. Generally,
1656 | #: prefer to use action_alias. This option is a legacy version,
1657 | #: present for backwards compatibility. It causes all invocations of
1658 | #: the aliased kitten to be substituted. So the example above will
1659 | #: cause all invocations of the hints kitten to have the --hints-
1660 | #: offset=0 option applied.
1661 |
1662 | #: Clipboard {{{
1663 |
1664 | #: Copy to clipboard
1665 |
1666 | map kitty_mod+c copy_to_clipboard
1667 | # map cmd+c copy_to_clipboard
1668 |
1669 | #:: There is also a copy_or_interrupt action that can be optionally
1670 | #:: mapped to Ctrl+C. It will copy only if there is a selection and
1671 | #:: send an interrupt otherwise. Similarly,
1672 | #:: copy_and_clear_or_interrupt will copy and clear the selection or
1673 | #:: send an interrupt if there is no selection.
1674 |
1675 | #: Paste from clipboard
1676 |
1677 | map kitty_mod+v paste_from_clipboard
1678 | # map cmd+v paste_from_clipboard
1679 |
1680 | #: Paste from selection
1681 |
1682 | # map kitty_mod+s paste_from_selection
1683 | # map shift+insert paste_from_selection
1684 |
1685 | #: Pass selection to program
1686 |
1687 | # map kitty_mod+o pass_selection_to_program
1688 |
1689 | #:: You can also pass the contents of the current selection to any
1690 | #:: program with pass_selection_to_program. By default, the system's
1691 | #:: open program is used, but you can specify your own, the selection
1692 | #:: will be passed as a command line argument to the program. For
1693 | #:: example::
1694 |
1695 | #:: map kitty_mod+o pass_selection_to_program firefox
1696 |
1697 | #:: You can pass the current selection to a terminal program running
1698 | #:: in a new kitty window, by using the @selection placeholder::
1699 |
1700 | #:: map kitty_mod+y new_window less @selection
1701 |
1702 | #: }}}
1703 |
1704 | #: Scrolling {{{
1705 |
1706 | #: Scroll line up
1707 |
1708 | # map kitty_mod+up scroll_line_up
1709 | # map kitty_mod+k scroll_line_up
1710 | # map opt+cmd+page_up scroll_line_up
1711 | # map cmd+up scroll_line_up
1712 |
1713 | #: Scroll line down
1714 |
1715 | # map kitty_mod+down scroll_line_down
1716 | # map kitty_mod+j scroll_line_down
1717 | # map opt+cmd+page_down scroll_line_down
1718 | # map cmd+down scroll_line_down
1719 |
1720 | #: Scroll page up
1721 |
1722 | # map kitty_mod+page_up scroll_page_up
1723 | # map cmd+page_up scroll_page_up
1724 |
1725 | #: Scroll page down
1726 |
1727 | # map kitty_mod+page_down scroll_page_down
1728 | # map cmd+page_down scroll_page_down
1729 |
1730 | #: Scroll to top
1731 |
1732 | # map kitty_mod+home scroll_home
1733 | # map cmd+home scroll_home
1734 |
1735 | #: Scroll to bottom
1736 |
1737 | # map kitty_mod+end scroll_end
1738 | # map cmd+end scroll_end
1739 |
1740 | #: Scroll to previous shell prompt
1741 |
1742 | # map kitty_mod+z scroll_to_prompt -1
1743 |
1744 | #:: Use a parameter of 0 for scroll_to_prompt to scroll to the last
1745 | #:: jumped to or the last clicked position. Requires shell
1746 | #:: integration
1747 | #:: to work.
1748 |
1749 | #: Scroll to next shell prompt
1750 |
1751 | # map kitty_mod+x scroll_to_prompt 1
1752 |
1753 | #: Browse scrollback buffer in pager
1754 |
1755 | # map kitty_mod+h show_scrollback
1756 |
1757 | #:: You can pipe the contents of the current screen and history
1758 | #:: buffer as STDIN to an arbitrary program using launch --stdin-
1759 | #:: source. For example, the following opens the scrollback buffer in
1760 | #:: less in an overlay window::
1761 |
1762 | #:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
1763 |
1764 | #:: For more details on piping screen and buffer contents to external
1765 | #:: programs, see launch .
1766 |
1767 | #: Browse output of the last shell command in pager
1768 |
1769 | # map kitty_mod+g show_last_command_output
1770 |
1771 | #:: You can also define additional shortcuts to get the command
1772 | #:: output. For example, to get the first command output on screen::
1773 |
1774 | #:: map f1 show_first_command_output_on_screen
1775 |
1776 | #:: To get the command output that was last accessed by a keyboard
1777 | #:: action or mouse action::
1778 |
1779 | #:: map f1 show_last_visited_command_output
1780 |
1781 | #:: You can pipe the output of the last command run in the shell
1782 | #:: using the launch action. For example, the following opens the
1783 | #:: output in less in an overlay window::
1784 |
1785 | #:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R
1786 |
1787 | #:: To get the output of the first command on the screen, use
1788 | #:: @first_cmd_output_on_screen. To get the output of the last jumped
1789 | #:: to command, use @last_visited_cmd_output.
1790 |
1791 | #:: Requires shell integration
1792 | #:: to work.
1793 |
1794 | #: }}}
1795 |
1796 | #: Window management {{{
1797 |
1798 | #: New window
1799 |
1800 | # map kitty_mod+enter new_window
1801 | # map cmd+enter new_window
1802 |
1803 | #:: You can open a new kitty window running an arbitrary program, for
1804 | #:: example::
1805 |
1806 | #:: map kitty_mod+y launch mutt
1807 |
1808 | #:: You can open a new window with the current working directory set
1809 | #:: to the working directory of the current window using::
1810 |
1811 | #:: map ctrl+alt+enter launch --cwd=current
1812 |
1813 | #:: You can open a new window that is allowed to control kitty via
1814 | #:: the kitty remote control facility with launch --allow-remote-
1815 | #:: control. Any programs running in that window will be allowed to
1816 | #:: control kitty. For example::
1817 |
1818 | #:: map ctrl+enter launch --allow-remote-control some_program
1819 |
1820 | #:: You can open a new window next to the currently active window or
1821 | #:: as the first window, with::
1822 |
1823 | #:: map ctrl+n launch --location=neighbor
1824 | #:: map ctrl+f launch --location=first
1825 |
1826 | #:: For more details, see launch
1827 | #:: .
1828 |
1829 | #: New OS window
1830 |
1831 | # map kitty_mod+n new_os_window
1832 | # map cmd+n new_os_window
1833 |
1834 | #:: Works like new_window above, except that it opens a top-level OS
1835 | #:: window. In particular you can use new_os_window_with_cwd to open
1836 | #:: a window with the current working directory.
1837 |
1838 | #: Close window
1839 |
1840 | # map kitty_mod+w close_window
1841 | # map shift+cmd+d close_window
1842 |
1843 | #: Next window
1844 |
1845 | # map kitty_mod+] next_window
1846 |
1847 | #: Previous window
1848 |
1849 | # map kitty_mod+[ previous_window
1850 |
1851 | #: Move window forward
1852 |
1853 | # map kitty_mod+f move_window_forward
1854 |
1855 | #: Move window backward
1856 |
1857 | # map kitty_mod+b move_window_backward
1858 |
1859 | #: Move window to top
1860 |
1861 | # map kitty_mod+` move_window_to_top
1862 |
1863 | #: Start resizing window
1864 |
1865 | # map kitty_mod+r start_resizing_window
1866 | # map cmd+r start_resizing_window
1867 |
1868 | #: First window
1869 |
1870 | # map kitty_mod+1 first_window
1871 | # map cmd+1 first_window
1872 |
1873 | #: Second window
1874 |
1875 | # map kitty_mod+2 second_window
1876 | # map cmd+2 second_window
1877 |
1878 | #: Third window
1879 |
1880 | # map kitty_mod+3 third_window
1881 | # map cmd+3 third_window
1882 |
1883 | #: Fourth window
1884 |
1885 | # map kitty_mod+4 fourth_window
1886 | # map cmd+4 fourth_window
1887 |
1888 | #: Fifth window
1889 |
1890 | # map kitty_mod+5 fifth_window
1891 | # map cmd+5 fifth_window
1892 |
1893 | #: Sixth window
1894 |
1895 | # map kitty_mod+6 sixth_window
1896 | # map cmd+6 sixth_window
1897 |
1898 | #: Seventh window
1899 |
1900 | # map kitty_mod+7 seventh_window
1901 | # map cmd+7 seventh_window
1902 |
1903 | #: Eight window
1904 |
1905 | # map kitty_mod+8 eighth_window
1906 | # map cmd+8 eighth_window
1907 |
1908 | #: Ninth window
1909 |
1910 | # map kitty_mod+9 ninth_window
1911 | # map cmd+9 ninth_window
1912 |
1913 | #: Tenth window
1914 |
1915 | # map kitty_mod+0 tenth_window
1916 |
1917 | #: Visually select and focus window
1918 |
1919 | # map kitty_mod+f7 focus_visible_window
1920 |
1921 | #:: Display overlay numbers and alphabets on the window, and switch
1922 | #:: the focus to the window when you press the key. When there are
1923 | #:: only two windows, the focus will be switched directly without
1924 | #:: displaying the overlay. You can change the overlay characters and
1925 | #:: their order with option visual_window_select_characters.
1926 |
1927 | #: Visually swap window with another
1928 |
1929 | # map kitty_mod+f8 swap_with_window
1930 |
1931 | #:: Works like focus_visible_window above, but swaps the window.
1932 |
1933 | #: }}}
1934 |
1935 | #: Tab management {{{
1936 |
1937 | #: Next tab
1938 |
1939 | # map kitty_mod+right next_tab
1940 | # map shift+cmd+] next_tab
1941 | # map ctrl+tab next_tab
1942 |
1943 | #: Previous tab
1944 |
1945 | # map kitty_mod+left previous_tab
1946 | # map shift+cmd+[ previous_tab
1947 | # map ctrl+shift+tab previous_tab
1948 |
1949 | #: New tab
1950 |
1951 | # map kitty_mod+t new_tab
1952 | # map cmd+t new_tab
1953 |
1954 | #: Close tab
1955 |
1956 | # map kitty_mod+q close_tab
1957 | # map cmd+w close_tab
1958 |
1959 | #: Close OS window
1960 |
1961 | # map shift+cmd+w close_os_window
1962 |
1963 | #: Move tab forward
1964 |
1965 | # map kitty_mod+. move_tab_forward
1966 |
1967 | #: Move tab backward
1968 |
1969 | # map kitty_mod+, move_tab_backward
1970 |
1971 | #: Set tab title
1972 |
1973 | # map kitty_mod+alt+t set_tab_title
1974 | # map shift+cmd+i set_tab_title
1975 |
1976 |
1977 | #: You can also create shortcuts to go to specific tabs, with 1 being
1978 | #: the first tab, 2 the second tab and -1 being the previously active
1979 | #: tab, and any number larger than the last tab being the last tab::
1980 |
1981 | #: map ctrl+alt+1 goto_tab 1
1982 | #: map ctrl+alt+2 goto_tab 2
1983 |
1984 | #: Just as with new_window above, you can also pass the name of
1985 | #: arbitrary commands to run when using new_tab and new_tab_with_cwd.
1986 | #: Finally, if you want the new tab to open next to the current tab
1987 | #: rather than at the end of the tabs list, use::
1988 |
1989 | #: map ctrl+t new_tab !neighbor [optional cmd to run]
1990 | #: }}}
1991 |
1992 | #: Layout management {{{
1993 |
1994 | #: Next layout
1995 |
1996 | # map kitty_mod+l next_layout
1997 |
1998 |
1999 | #: You can also create shortcuts to switch to specific layouts::
2000 |
2001 | #: map ctrl+alt+t goto_layout tall
2002 | #: map ctrl+alt+s goto_layout stack
2003 |
2004 | #: Similarly, to switch back to the previous layout::
2005 |
2006 | #: map ctrl+alt+p last_used_layout
2007 |
2008 | #: There is also a toggle_layout action that switches to the named
2009 | #: layout or back to the previous layout if in the named layout.
2010 | #: Useful to temporarily "zoom" the active window by switching to the
2011 | #: stack layout::
2012 |
2013 | #: map ctrl+alt+z toggle_layout stack
2014 | #: }}}
2015 |
2016 | #: Font sizes {{{
2017 |
2018 | #: You can change the font size for all top-level kitty OS windows at
2019 | #: a time or only the current one.
2020 |
2021 | #: Increase font size
2022 |
2023 | map kitty_mod+equal change_font_size all +1.0
2024 | # map kitty_mod+plus change_font_size all +2.0
2025 | # map kitty_mod+kp_add change_font_size all +2.0
2026 | # map cmd+plus change_font_size all +2.0
2027 | # map cmd+equal change_font_size all +2.0
2028 | # map shift+cmd+equal change_font_size all +2.0
2029 |
2030 | #: Decrease font size
2031 |
2032 | map kitty_mod+minus change_font_size all -1.0
2033 | # map kitty_mod+kp_subtract change_font_size all -2.0
2034 | # map cmd+minus change_font_size all -2.0
2035 | # map shift+cmd+minus change_font_size all -2.0
2036 |
2037 | #: Reset font size
2038 |
2039 | # map kitty_mod+backspace change_font_size all 0
2040 | # map cmd+0 change_font_size all 0
2041 |
2042 |
2043 | #: To setup shortcuts for specific font sizes::
2044 |
2045 | #: map kitty_mod+f6 change_font_size all 10.0
2046 |
2047 | #: To setup shortcuts to change only the current OS window's font
2048 | #: size::
2049 |
2050 | #: map kitty_mod+f6 change_font_size current 10.0
2051 | #: }}}
2052 |
2053 | #: Select and act on visible text {{{
2054 |
2055 | #: Use the hints kitten to select text and either pass it to an
2056 | #: external program or insert it into the terminal or copy it to the
2057 | #: clipboard.
2058 |
2059 | #: Open URL
2060 |
2061 | # map kitty_mod+e open_url_with_hints
2062 |
2063 | #:: Open a currently visible URL using the keyboard. The program used
2064 | #:: to open the URL is specified in open_url_with.
2065 |
2066 | #: Insert selected path
2067 |
2068 | # map kitty_mod+p>f kitten hints --type path --program -
2069 |
2070 | #:: Select a path/filename and insert it into the terminal. Useful,
2071 | #:: for instance to run git commands on a filename output from a
2072 | #:: previous git command.
2073 |
2074 | #: Open selected path
2075 |
2076 | # map kitty_mod+p>shift+f kitten hints --type path
2077 |
2078 | #:: Select a path/filename and open it with the default open program.
2079 |
2080 | #: Insert selected line
2081 |
2082 | # map kitty_mod+p>l kitten hints --type line --program -
2083 |
2084 | #:: Select a line of text and insert it into the terminal. Useful for
2085 | #:: the output of things like: `ls -1`.
2086 |
2087 | #: Insert selected word
2088 |
2089 | # map kitty_mod+p>w kitten hints --type word --program -
2090 |
2091 | #:: Select words and insert into terminal.
2092 |
2093 | #: Insert selected hash
2094 |
2095 | # map kitty_mod+p>h kitten hints --type hash --program -
2096 |
2097 | #:: Select something that looks like a hash and insert it into the
2098 | #:: terminal. Useful with git, which uses SHA1 hashes to identify
2099 | #:: commits.
2100 |
2101 | #: Open the selected file at the selected line
2102 |
2103 | # map kitty_mod+p>n kitten hints --type linenum
2104 |
2105 | #:: Select something that looks like filename:linenum and open it in
2106 | #:: vim at the specified line number.
2107 |
2108 | #: Open the selected hyperlink
2109 |
2110 | # map kitty_mod+p>y kitten hints --type hyperlink
2111 |
2112 | #:: Select a hyperlink (i.e. a URL that has been marked as such by
2113 | #:: the terminal program, for example, by `ls --hyperlink=auto`).
2114 |
2115 |
2116 | #: The hints kitten has many more modes of operation that you can map
2117 | #: to different shortcuts. For a full description see hints kitten
2118 | #: .
2119 | #: }}}
2120 |
2121 | #: Miscellaneous {{{
2122 |
2123 | #: Show documentation
2124 |
2125 | # map kitty_mod+f1 show_kitty_doc overview
2126 |
2127 | #: Toggle fullscreen
2128 |
2129 | # map kitty_mod+f11 toggle_fullscreen
2130 | # map ctrl+cmd+f toggle_fullscreen
2131 |
2132 | #: Toggle maximized
2133 |
2134 | # map kitty_mod+f10 toggle_maximized
2135 |
2136 | #: Toggle macOS secure keyboard entry
2137 |
2138 | # map opt+cmd+s toggle_macos_secure_keyboard_entry
2139 |
2140 | #: Unicode input
2141 |
2142 | # map kitty_mod+u kitten unicode_input
2143 | # map ctrl+cmd+space kitten unicode_input
2144 |
2145 | #: Edit config file
2146 |
2147 | # map kitty_mod+f2 edit_config_file
2148 | # map cmd+, edit_config_file
2149 |
2150 | #: Open the kitty command shell
2151 |
2152 | # map kitty_mod+escape kitty_shell window
2153 |
2154 | #:: Open the kitty shell in a new window / tab / overlay / os_window
2155 | #:: to control kitty using commands.
2156 |
2157 | #: Increase background opacity
2158 |
2159 | # map kitty_mod+a>m set_background_opacity +0.1
2160 |
2161 | #: Decrease background opacity
2162 |
2163 | # map kitty_mod+a>l set_background_opacity -0.1
2164 |
2165 | #: Make background fully opaque
2166 |
2167 | # map kitty_mod+a>1 set_background_opacity 1
2168 |
2169 | #: Reset background opacity
2170 |
2171 | # map kitty_mod+a>d set_background_opacity default
2172 |
2173 | #: Reset the terminal
2174 |
2175 | map kitty_mod+delete clear_terminal reset active
2176 | # map opt+cmd+r clear_terminal reset active
2177 | map ctrl+k combine : clear_terminal scrollback active : send_text normal,application \x0c
2178 |
2179 | #:: You can create shortcuts to clear/reset the terminal. For
2180 | #:: example::
2181 |
2182 | #:: # Reset the terminal
2183 | #:: map f1 clear_terminal reset active
2184 | #:: # Clear the terminal screen by erasing all contents
2185 | #:: map f1 clear_terminal clear active
2186 | #:: # Clear the terminal scrollback by erasing it
2187 | #:: map f1 clear_terminal scrollback active
2188 | #:: # Scroll the contents of the screen into the scrollback
2189 | #:: map f1 clear_terminal scroll active
2190 | #:: # Clear everything up to the line with the cursor
2191 | #:: map f1 clear_terminal to_cursor active
2192 |
2193 | #:: If you want to operate on all kitty windows instead of just the
2194 | #:: current one, use all instead of active.
2195 |
2196 | #:: It is also possible to remap Ctrl+L to both scroll the current
2197 | #:: screen contents into the scrollback buffer and clear the screen,
2198 | #:: instead of just clearing the screen, for example, for ZSH add the
2199 | #:: following to ~/.zshrc:
2200 |
2201 | #:: .. code-block:: zsh
2202 |
2203 | #:: scroll-and-clear-screen() {
2204 | #:: printf '\n%.0s' {1..$LINES}
2205 | #:: zle clear-screen
2206 | #:: }
2207 | #:: zle -N scroll-and-clear-screen
2208 | #:: bindkey '^l' scroll-and-clear-screen
2209 |
2210 | #: Clear up to cursor line
2211 |
2212 | # map cmd+k clear_terminal to_cursor active
2213 |
2214 | #: Reload kitty.conf
2215 |
2216 | # map kitty_mod+f5 load_config_file
2217 | # map ctrl+cmd+, load_config_file
2218 |
2219 | #:: Reload kitty.conf, applying any changes since the last time it
2220 | #:: was loaded. Note that a handful of options cannot be dynamically
2221 | #:: changed and require a full restart of kitty. Particularly, when
2222 | #:: changing shortcuts for actions located on the macOS global menu
2223 | #:: bar, a full restart is needed. You can also map a keybinding to
2224 | #:: load a different config file, for example::
2225 |
2226 | #:: map f5 load_config /path/to/alternative/kitty.conf
2227 |
2228 | #:: Note that all options from the original kitty.conf are discarded,
2229 | #:: in other words the new configuration *replace* the old ones.
2230 |
2231 | #: Debug kitty configuration
2232 |
2233 | # map kitty_mod+f6 debug_config
2234 | # map opt+cmd+, debug_config
2235 |
2236 | #:: Show details about exactly what configuration kitty is running
2237 | #:: with and its host environment. Useful for debugging issues.
2238 |
2239 | #: Send arbitrary text on key presses
2240 |
2241 | #:: E.g. map ctrl+shift+alt+h send_text all Hello World
2242 |
2243 | #:: You can tell kitty to send arbitrary (UTF-8) encoded text to the
2244 | #:: client program when pressing specified shortcut keys. For
2245 | #:: example::
2246 |
2247 | #:: map ctrl+alt+a send_text all Special text
2248 |
2249 | #:: This will send "Special text" when you press the Ctrl+Alt+A key
2250 | #:: combination. The text to be sent decodes ANSI C escapes
2251 | #:: so you can use escapes like \e to send control
2253 | #:: codes or \u21fb to send Unicode characters (or you can just input
2254 | #:: the Unicode characters directly as UTF-8 text). You can use
2255 | #:: `kitty +kitten show_key` to get the key escape codes you want to
2256 | #:: emulate.
2257 |
2258 | #:: The first argument to send_text is the keyboard modes in which to
2259 | #:: activate the shortcut. The possible values are normal,
2260 | #:: application, kitty or a comma separated combination of them. The
2261 | #:: modes normal and application refer to the DECCKM cursor key mode
2262 | #:: for terminals, and kitty refers to the kitty extended keyboard
2263 | #:: protocol. The special value all means all of them.
2264 |
2265 | #:: Some more examples::
2266 |
2267 | #:: # Output a word and move the cursor to the start of the line (like typing and pressing Home)
2268 | #:: map ctrl+alt+a send_text normal Word\e[H
2269 | #:: map ctrl+alt+a send_text application Word\eOH
2270 | #:: # Run a command at a shell prompt (like typing the command and pressing Enter)
2271 | #:: map ctrl+alt+a send_text normal,application some command with arguments\r
2272 |
2273 | #: Open kitty Website
2274 |
2275 | # map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/
2276 |
2277 | #: Hide macOS kitty application
2278 |
2279 | # map cmd+h hide_macos_app
2280 |
2281 | #: Hide macOS other applications
2282 |
2283 | # map opt+cmd+h hide_macos_other_apps
2284 |
2285 | #: Minimize macOS window
2286 |
2287 | # map cmd+m minimize_macos_window
2288 |
2289 | #: Quit kitty
2290 |
2291 | # map cmd+q quit
2292 |
2293 | #: }}}
2294 |
2295 | #: }}}
2296 |
2297 |
2298 | # BEGIN_KITTY_THEME
2299 | # Catppuccin-Mocha
2300 | include current-theme.conf
2301 | # END_KITTY_THEME
2302 |
--------------------------------------------------------------------------------
/kitty/themes/diff-frappe.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Diff Frappe
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/diff-frappe.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 | # text
10 | foreground #C6D0F5
11 | # base
12 | background #303446
13 | # subtext0
14 | title_fg #A5ADCE
15 |
16 | # mantle
17 | title_bg #292C3C
18 | margin_bg #292C3C
19 |
20 | # subtext1
21 | margin_fg #B5BFE2
22 | # mantle
23 | filler_bg #292C3C
24 |
25 | # 30% red, 70% base
26 | removed_bg #674B59
27 | # 50% red, 50% base
28 | highlight_removed_bg #8C5B65
29 | # 40% red, 60% base
30 | removed_margin_bg #79535F
31 |
32 | # 30% green, 70% base
33 | added_bg #53635A
34 | # 50% green, 50% base
35 | highlight_added_bg #6B8368
36 | # 40% green, 60% base
37 | added_margin_bg #5F7361
38 |
39 | # mantle
40 | hunk_margin_bg #292C3C
41 | hunk_bg #292C3C
42 |
43 | # 40% yellow, 60% base
44 | search_bg #786F63
45 | # text
46 | search_fg #C6D0F5
47 | # 30% sky, 70% base
48 | select_bg #4F6372
49 | # text
50 | select_fg #C6D0F5
51 |
--------------------------------------------------------------------------------
/kitty/themes/diff-latte.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Diff Latte
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/diff-latte.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 | # text
10 | foreground #4C4F69
11 | # base
12 | background #EFF1F5
13 | # subtext0
14 | title_fg #6C6F85
15 |
16 | # mantle
17 | title_bg #E6E9EF
18 | margin_bg #E6E9EF
19 |
20 | # subtext1
21 | margin_fg #5C5F77
22 | # mantle
23 | filler_bg #E6E9EF
24 |
25 | # 30% red, 70% base
26 | removed_bg #E6ADBD
27 | # 50% red, 50% base
28 | highlight_removed_bg #E18097
29 | # 40% red, 60% base
30 | removed_margin_bg #E397AA
31 |
32 | # 30% green, 70% base
33 | added_bg #BBD9B8
34 | # 50% green, 50% base
35 | highlight_added_bg #98C990
36 | # 40% green, 60% base
37 | added_margin_bg #A9D1A4
38 |
39 | # mantle
40 | hunk_margin_bg #E6E9EF
41 | hunk_bg #E6E9EF
42 |
43 | # 40% yellow, 60% base
44 | search_bg #E8C99E
45 | # text
46 | search_fg #4C4F69
47 | # 30% sky, 70% base
48 | select_bg #A8DAF0
49 | # text
50 | select_fg #4C4F69
51 |
--------------------------------------------------------------------------------
/kitty/themes/diff-macchiato.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Diff Macchiato
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/diff-macchiato.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 | # text
10 | foreground #CAD3F5
11 | # base
12 | background #24273A
13 | # subtext0
14 | title_fg #A5ADCB
15 |
16 | # mantle
17 | title_bg #1E2030
18 | margin_bg #1E2030
19 |
20 | # subtext1
21 | margin_fg #B8C0E0
22 | # mantle
23 | filler_bg #1E2030
24 |
25 | # 30% red, 70% base
26 | removed_bg #604456
27 | # 50% red, 50% base
28 | highlight_removed_bg #895768
29 | # 40% red, 60% base
30 | removed_margin_bg #744D5F
31 |
32 | # 30% green, 70% base
33 | added_bg #4B5D55
34 | # 50% green, 50% base
35 | highlight_added_bg #658168
36 | # 40% green, 60% base
37 | added_margin_bg #586F5E
38 |
39 | # mantle
40 | hunk_margin_bg #1E2030
41 | hunk_bg #1E2030
42 |
43 | # 40% yellow, 60% base
44 | search_bg #EED49F
45 | # text
46 | search_fg #CAD3F5
47 | # 30% sky, 70% base
48 | select_bg #445B6C
49 | # text
50 | select_fg #CAD3F5
51 |
--------------------------------------------------------------------------------
/kitty/themes/diff-mocha.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Diff Mocha
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/diff-mocha.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 | # text
10 | foreground #CDD6F4
11 | # base
12 | background #1E1E2E
13 | # subtext0
14 | title_fg #A6ADC8
15 |
16 | # mantle
17 | title_bg #181825
18 | margin_bg #181825
19 |
20 | # subtext1
21 | margin_fg #A6ADC8
22 | # mantle
23 | filler_bg #181825
24 |
25 | # 30% red, 70% base
26 | removed_bg #5E3F53
27 | # 50% red, 50% base
28 | highlight_removed_bg #89556B
29 | # 40% red, 60% base
30 | removed_margin_bg #734A5F
31 |
32 | # 30% green, 70% base
33 | added_bg #475951
34 | # 50% green, 50% base
35 | highlight_added_bg #628168
36 | # 40% green, 60% base
37 | added_margin_bg #546D5C
38 |
39 | # mantle
40 | hunk_margin_bg #181825
41 | hunk_bg #181825
42 |
43 | # 40% yellow, 60% base
44 | search_bg #A1937B
45 | # text
46 | search_fg #CDD6F4
47 | # 30% sky, 70% base
48 | select_bg #45475A
49 | # text
50 | select_fg #CDD6F4
51 |
--------------------------------------------------------------------------------
/kitty/themes/frappe.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Frappe
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/frappe.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #C6D0F5
13 | background #303446
14 | selection_foreground #303446
15 | selection_background #F2D5CF
16 |
17 | # Cursor colors
18 | cursor #F2D5CF
19 | cursor_text_color #303446
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F2D5CF
23 |
24 | # Kitty window border colors
25 | active_border_color #BABBF1
26 | inactive_border_color #737994
27 | bell_border_color #E5C890
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #232634
35 | active_tab_background #CA9EE6
36 | inactive_tab_foreground #C6D0F5
37 | inactive_tab_background #292C3C
38 | tab_bar_background #232634
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #303446
42 | mark1_background #BABBF1
43 | mark2_foreground #303446
44 | mark2_background #CA9EE6
45 | mark3_foreground #303446
46 | mark3_background #85C1DC
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #51576D
52 | color8 #626880
53 |
54 | # red
55 | color1 #E78284
56 | color9 #E78284
57 |
58 | # green
59 | color2 #A6D189
60 | color10 #A6D189
61 |
62 | # yellow
63 | color3 #E5C890
64 | color11 #E5C890
65 |
66 | # blue
67 | color4 #8CAAEE
68 | color12 #8CAAEE
69 |
70 | # magenta
71 | color5 #F4B8E4
72 | color13 #F4B8E4
73 |
74 | # cyan
75 | color6 #81C8BE
76 | color14 #81C8BE
77 |
78 | # white
79 | color7 #B5BFE2
80 | color15 #A5ADCE
81 |
--------------------------------------------------------------------------------
/kitty/themes/latte.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Latte
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #4C4F69
13 | background #EFF1F5
14 | selection_foreground #EFF1F5
15 | selection_background #DC8A78
16 |
17 | # Cursor colors
18 | cursor #DC8A78
19 | cursor_text_color #EFF1F5
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #DC8A78
23 |
24 | # Kitty window border colors
25 | active_border_color #7287FD
26 | inactive_border_color #9CA0B0
27 | bell_border_color #DF8E1D
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #EFF1F5
35 | active_tab_background #8839EF
36 | inactive_tab_foreground #4C4F69
37 | inactive_tab_background #9CA0B0
38 | tab_bar_background #BCC0CC
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #EFF1F5
42 | mark1_background #7287fD
43 | mark2_foreground #EFF1F5
44 | mark2_background #8839EF
45 | mark3_foreground #EFF1F5
46 | mark3_background #209FB5
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #5C5F77
52 | color8 #6C6F85
53 |
54 | # red
55 | color1 #D20F39
56 | color9 #D20F39
57 |
58 | # green
59 | color2 #40A02B
60 | color10 #40A02B
61 |
62 | # yellow
63 | color3 #DF8E1D
64 | color11 #DF8E1D
65 |
66 | # blue
67 | color4 #1E66F5
68 | color12 #1E66F5
69 |
70 | # magenta
71 | color5 #EA76CB
72 | color13 #EA76CB
73 |
74 | # cyan
75 | color6 #179299
76 | color14 #179299
77 |
78 | # white
79 | color7 #ACB0BE
80 | color15 #BCC0CC
81 |
--------------------------------------------------------------------------------
/kitty/themes/macchiato.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Macchiato
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/macchiato.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #CAD3F5
13 | background #24273A
14 | selection_foreground #24273A
15 | selection_background #F4DBD6
16 |
17 | # Cursor colors
18 | cursor #F4DBD6
19 | cursor_text_color #24273A
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F4DBD6
23 |
24 | # Kitty window border colors
25 | active_border_color #B7BDF8
26 | inactive_border_color #6E738D
27 | bell_border_color #EED49F
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #181926
35 | active_tab_background #C6A0F6
36 | inactive_tab_foreground #CAD3F5
37 | inactive_tab_background #1E2030
38 | tab_bar_background #181926
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #24273A
42 | mark1_background #B7BDF8
43 | mark2_foreground #24273A
44 | mark2_background #C6A0F6
45 | mark3_foreground #24273A
46 | mark3_background #7DC4E4
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #494D64
52 | color8 #5B6078
53 |
54 | # red
55 | color1 #ED8796
56 | color9 #ED8796
57 |
58 | # green
59 | color2 #A6DA95
60 | color10 #A6DA95
61 |
62 | # yellow
63 | color3 #EED49F
64 | color11 #EED49F
65 |
66 | # blue
67 | color4 #8AADF4
68 | color12 #8AADF4
69 |
70 | # magenta
71 | color5 #F5BDE6
72 | color13 #F5BDE6
73 |
74 | # cyan
75 | color6 #8BD5CA
76 | color14 #8BD5CA
77 |
78 | # white
79 | color7 #B8C0E0
80 | color15 #A5ADCB
81 |
--------------------------------------------------------------------------------
/kitty/themes/mocha.conf:
--------------------------------------------------------------------------------
1 | # vim:ft=kitty
2 |
3 | ## name: Catppuccin Kitty Mocha
4 | ## author: Catppuccin Org
5 | ## license: MIT
6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
7 | ## blurb: Soothing pastel theme for the high-spirited!
8 |
9 |
10 |
11 | # The basic colors
12 | foreground #CDD6F4
13 | background #1E1E2E
14 | selection_foreground #1E1E2E
15 | selection_background #F5E0DC
16 |
17 | # Cursor colors
18 | cursor #F5E0DC
19 | cursor_text_color #1E1E2E
20 |
21 | # URL underline color when hovering with mouse
22 | url_color #F5E0DC
23 |
24 | # Kitty window border colors
25 | active_border_color #B4BEFE
26 | inactive_border_color #6C7086
27 | bell_border_color #F9E2AF
28 |
29 | # OS Window titlebar colors
30 | wayland_titlebar_color system
31 | macos_titlebar_color system
32 |
33 | # Tab bar colors
34 | active_tab_foreground #11111B
35 | active_tab_background #CBA6F7
36 | inactive_tab_foreground #CDD6F4
37 | inactive_tab_background #181825
38 | tab_bar_background #11111B
39 |
40 | # Colors for marks (marked text in the terminal)
41 | mark1_foreground #1E1E2E
42 | mark1_background #B4BEFE
43 | mark2_foreground #1E1E2E
44 | mark2_background #CBA6F7
45 | mark3_foreground #1E1E2E
46 | mark3_background #74C7EC
47 |
48 | # The 16 terminal colors
49 |
50 | # black
51 | color0 #45475A
52 | color8 #585B70
53 |
54 | # red
55 | color1 #F38BA8
56 | color9 #F38BA8
57 |
58 | # green
59 | color2 #A6E3A1
60 | color10 #A6E3A1
61 |
62 | # yellow
63 | color3 #F9E2AF
64 | color11 #F9E2AF
65 |
66 | # blue
67 | color4 #89B4FA
68 | color12 #89B4FA
69 |
70 | # magenta
71 | color5 #F5C2E7
72 | color13 #F5C2E7
73 |
74 | # cyan
75 | color6 #94E2D5
76 | color14 #94E2D5
77 |
78 | # white
79 | color7 #BAC2DE
80 | color15 #A6ADC8
81 |
--------------------------------------------------------------------------------
/rofi/cliphist-rofi.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | if [ -z "$1" ]; then
4 | cliphist list
5 | else
6 | cliphist decode <<<"$1" | wl-copy
7 | fi
8 |
--------------------------------------------------------------------------------
/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration{
2 | font: "JetBrainsMono Nerd Font 8";
3 | modi: "drun,window,emoji,clipboard:/home/jacob/.config/rofi/cliphist-rofi.sh";
4 | icon-theme: "Qogir";
5 | show-icons: true;
6 | terminal: "kitty";
7 | drun-display-format: "{icon} {name}";
8 | location: 0;
9 | disable-history: false;
10 | hide-scrollbar: true;
11 | display-drun: " Apps";
12 | display-run: " Run";
13 | display-window: " Window";
14 | display-Network: " Network";
15 | display-clipboard: " Clipboard";
16 | display-emoji: "👽 Emoji";
17 | sidebar-mode: true;
18 | }
19 |
20 | @theme "catppuccin-mocha"
--------------------------------------------------------------------------------
/swayidle/config:
--------------------------------------------------------------------------------
1 | timeout 10 'if pgrep -x swaylock; then hyprctl dispatch dpms off eDP-1; fi'
2 | timeout 90 'brightnessctl s 20% -s' resume 'brightnessctl -r'
3 | timeout 300 swaylock
4 | timeout 360 'hyprctl dispatch dpms off eDP-1' resume 'hyperctl dispatch dpms on eDP-1'
5 | before-sleep swaylock
6 |
--------------------------------------------------------------------------------
/swaylock/config:
--------------------------------------------------------------------------------
1 | daemonize
2 | show-failed-attempts
3 | clock
4 | screenshots
5 | effect-pixelate=24
6 | effect-vignette=0.25:0.45
7 | color=1f1d2e20
8 | font="Space Mono"
9 | indicator
10 | indicator-radius=150
11 | indicator-thickness=20
12 | line-color=1f1d2ecc
13 | ring-color=191724aa
14 | inside-color=1f1d2eaa
15 | key-hl-color=eb6f92
16 | separator-color=000000ff
17 | text-color=cdd6f4
18 | text-caps-lock-color=""
19 | line-ver-color=eb6f92
20 | ring-ver-color=eb6f92
21 | inside-ver-color=1f1d2e
22 | text-ver-color=e0def4
23 | ring-wrong-color=31748f
24 | text-wrong-color=31748f
25 | inside-wrong-color=1f1d2e
26 | inside-clear-color=1f1d2e
27 | text-clear-color=e0def4
28 | ring-clear-color=9ccfd8
29 | line-clear-color=1f1d2e
30 | line-wrong-color=1f1d2e
31 | bs-hl-color=31748f
32 | grace=15
33 | grace-no-mouse
34 | datestr="%x %d.%m"
35 | fade-in="0.9"
36 | ignore-empty-password
37 |
--------------------------------------------------------------------------------
/waybar/config:
--------------------------------------------------------------------------------
1 | {
2 | "include": [
3 | "~/.config/waybar/default"
4 | ],
5 | "spacing": 0,
6 | "layer": "top",
7 | "margin-top": 5,
8 | "margin-bottom": 0,
9 | "margin-left": 0,
10 | "margin-right": 0,
11 | "modules-left": [
12 | "group/left",
13 | "custom/recorder",
14 | "hyprland/window"
15 | ],
16 | "modules-center": [],
17 | "modules-right": [
18 | "group/systray",
19 | "group/processing",
20 | "group/audio",
21 | "group/power",
22 | "group/networking",
23 | "group/datetime",
24 | "group/session",
25 | ],
26 | "group/left": {
27 | "orientation": "inherit",
28 | "modules": [
29 | "hyprland/workspaces",
30 | ]
31 | },
32 | "group/systray": {
33 | "orientation": "inherit",
34 | "modules": [
35 | "tray"
36 | ]
37 | },
38 | "group/processing": {
39 | "orientation": "inherit",
40 | "modules": [
41 | "custom/fan",
42 | "cpu",
43 | "temperature",
44 | "memory"
45 | ]
46 | },
47 | "group/audio": {
48 | "orientation": "inherit",
49 | "modules": [
50 | "pulseaudio"
51 | ]
52 | },
53 | "group/power": {
54 | "orientation": "inherit",
55 | "modules": [
56 | "idle_inhibitor",
57 | "backlight",
58 | "custom/power_profile",
59 | "battery"
60 | ]
61 | },
62 | "group/networking": {
63 | "orientation": "inherit",
64 | "modules": [
65 | "network",
66 | "bluetooth"
67 | ]
68 | },
69 | "group/datetime": {
70 | "orientation": "inherit",
71 | "modules": [
72 | "clock"
73 | ]
74 | },
75 | "group/session": {
76 | "orientation": "inherit",
77 | "modules": [
78 | "custom/session"
79 | ]
80 | },
81 | "group/group-power": {
82 | "orientation": "inherit",
83 | "drawer": {
84 | "transition-duration": 500,
85 | "children-class": "not-power",
86 | "transition-left-to-right": false,
87 | },
88 | "modules": [
89 | "custom/power", // First element is the "group leader" and won't ever be hidden
90 | "custom/quit",
91 | "custom/lock",
92 | "custom/reboot",
93 | ]
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/waybar/default:
--------------------------------------------------------------------------------
1 | {
2 | "custom/sep": {
3 | "format": " "
4 | },
5 | "hyprland/window": {
6 | "format": "{}",
7 | "max-length": 120,
8 | "interval": 1,
9 | "height": 24,
10 | "rewrite": {
11 | "(.*) — Mozilla Firefox": " $1",
12 | "(.*) - Visual Studio Code": " $1",
13 | "(.*) - Docker Desktop": " $1",
14 | "(.*) - Google Chrome": " $1",
15 | "Steam": "",
16 | "(.*) - Slack": " $1",
17 | "Spotify Premium": ""
18 | }
19 | },
20 | "idle_inhibitor": {
21 | "format": "{icon}",
22 | "format-icons": {
23 | "activated": "",
24 | "deactivated": ""
25 | }
26 | },
27 | "custom/fan": {
28 | "exec": "/home/jacob/.config/hypr/scripts/fans.sh",
29 | "return-type": "json",
30 | "format": "{}",
31 | "interval": 5,
32 | "escape": true
33 | },
34 | "custom/recorder": {
35 | "format": "",
36 | "return-type": "json",
37 | "interval": 1,
38 | "exec": "echo '{\"class\": \"recording\"}'",
39 | "exec-if": "pgrep wf-recorder",
40 | "tooltip": false,
41 | "on-click": "killall -s SIGINT wf-recorder"
42 | },
43 | "custom/notification": {
44 | "tooltip": true,
45 | "format": "{icon} ",
46 | "format-icons": {
47 | "notification": "",
48 | "none": "",
49 | "dnd-notification": "",
50 | "dnd-none": ""
51 | },
52 | "return-type": "json",
53 | "exec-if": "which swaync-client",
54 | "exec": "swaync-client -swb",
55 | "on-click": "swaync-client -t -sw",
56 | "on-click-right": "swaync-client -d -sw",
57 | "escape": true
58 | },
59 | "custom/session": {
60 | "format": "{icon}",
61 | "format-icons": {
62 | "default": ""
63 | },
64 | "tooltip": false,
65 | "on-click": "wlogout -p xdg"
66 | },
67 | "backlight": {
68 | "device": "intel_backlight",
69 | "format": "{icon}",
70 | "format-icons": ["", "", "", "", "", "", ""],
71 | "tooltip" : true
72 | },
73 | "hyprland/workspaces": {
74 | "all-outputs": true,
75 | "disable-scroll": true,
76 | "on-click": "activate",
77 | "format": "{icon}",
78 | "persistent-workspaces": {
79 | "*": 1,
80 | },
81 | "format-icons": {
82 | "1": "I",
83 | "2": "II",
84 | "3": "III",
85 | "4": "IV",
86 | "5": "V",
87 | "6": "VI",
88 | "7": "VII",
89 | "8": "VIII",
90 | "9": "IX",
91 | "urgent": ""
92 | }
93 | },
94 | "tray": {
95 | "spacing": 10,
96 | "icon-size": 14
97 | },
98 | "clock": {
99 | "format": " {:%I:%M%p %a %e %b}",
100 | "interval": 60,
101 | "tooltip-format": "{:%Y %B}\n{calendar}"
102 | },
103 | "cpu": {
104 | "interval": 2,
105 | "format": "{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
106 | "format-icons": [
107 | "▁", // green
108 | "▂", // blue
109 | "▃", // white
110 | "▄", // white
111 | "▅", // yellow
112 | "▆", // yellow
113 | "▇", // orange
114 | "█" // red
115 | ]
116 | },
117 | "temperature": {
118 | "hwmon-path": "/sys/class/hwmon/hwmon6/temp1_input",
119 | "critical-threshold": 90000,
120 | "format": " {temperatureC}°C",
121 | "format-critical": "{temperatureC}°C "
122 | },
123 | "memory": {
124 | "format": " {}%"
125 | },
126 | "battery": {
127 | "states": {
128 | "good": 90,
129 | "warning": 30,
130 | "critical": 15
131 | },
132 | "format": "{icon} {capacity}%",
133 | "format-charging": " {capacity}%",
134 | "format-plugged": " {capacity}%",
135 | "format-alt": "{icon} {time}",
136 | "format-icons": ["", "", "", "", ""]
137 | },
138 | "custom/power_profile": {
139 | "exec": "sleep 0.3 && /home/jacob/.local/scripts/powerprofilecycle.sh -m",
140 | "interval": 1,
141 | "on-click": "/home/jacob/.local/scripts/powerprofilecycle.sh",
142 | "exec-on-event": true,
143 | "format": "{}"
144 | },
145 | "bluetooth": {
146 | "controller": "sliver",
147 | "format": "",
148 | "format-disabled": "", // an empty format will hide the module
149 | "format-connected": " {num_connections}",
150 | "format-connected-battery": " {device_alias} {device_battery_percentage}%",
151 | "tooltip-format": "{status}: {controller_alias}\t{controller_address}",
152 | "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
153 | "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
154 | "on-click": "blueman-manager"
155 | },
156 | "network": {
157 | "format-wifi": "",
158 | "format-ethernet": "",
159 | "format-disconnected": "",
160 | "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\n⬆️ {bandwidthUpBits} ⬇️ {bandwidthDownBits}",
161 | "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n⬆️ {bandwidthUpBits} ⬇️ {bandwidthDownBits}",
162 | "format-linked": "{ifname} (No IP) ",
163 | "on-click-right": "nm-connection-editor",
164 | "on-click": "bash '/home/jacob/.local/scripts/rofi-network-manager.sh'"
165 | },
166 | "pulseaudio": {
167 | "format": "{icon} {volume}% {format_source}",
168 | "format-bluetooth": " {volume}% {format_source}",
169 | "format-bluetooth-muted": " {format_source}",
170 | "format-muted": " {format_source}",
171 | "format-source": "{volume}% ",
172 | "format-source-muted": "",
173 | "format-icons": {
174 | "headphone": "",
175 | "hands-free": "",
176 | "headset": "",
177 | "phone": "",
178 | "portable": "",
179 | "car": "",
180 | "default": ["", "", ""]
181 | },
182 | "on-click": "pavucontrol"
183 | },
184 | "custom/media": {
185 | "format": "{icon} {}",
186 | "return-type": "json",
187 | "max-length": 40,
188 | "format-icons": {
189 | "spotify": "",
190 | "default": "🎜"
191 | },
192 | "escape": true
193 | },
194 | "custom/quit": {
195 | "format": "",
196 | "tooltip": false,
197 | "on-click": "hyprctl dispatch exit"
198 | },
199 | "custom/lock": {
200 | "format": "",
201 | "tooltip": false,
202 | "on-click": "swaylock"
203 | },
204 | "custom/reboot": {
205 | "format": "",
206 | "tooltip": false,
207 | "on-click": "reboot"
208 | },
209 | "custom/power": {
210 | "format": "",
211 | "tooltip": false,
212 | "on-click": "shutdown now"
213 | }
214 | }
215 |
--------------------------------------------------------------------------------
/waybar/style.css:
--------------------------------------------------------------------------------
1 | @import "./themes/catppuccin-mocha.css";
2 | @import "./themes/variables.css";
3 |
4 | * {
5 | /* font-family: "SauceCodePro Nerd Font Mono", "Font Awesome 6 Free"; */
6 | /* font-family: "BlexMono Nerd Font", "Font Awesome 6 Free"; */
7 | font-family: "CaskaydiaCove Nerd Font Mono", "Bitstream Vera Sans Mono", "Bahnschrift", "Arimo Nerd Font", "Font Awesome 6 Free";
8 | font-size: 11px;
9 | min-height: 0;
10 | }
11 |
12 | window#waybar {
13 | background: transparent;
14 | border-radius: 0.5rem;
15 | }
16 |
17 | tooltip {
18 | background: @baseRgb;
19 | opacity: 0.9;
20 | border: 1px solid @pink;
21 | }
22 |
23 | tooltip label {
24 | color: @text;
25 | padding: 8px;
26 | }
27 |
28 | #workspaces {
29 | padding: 0;
30 | }
31 |
32 | #workspaces button {
33 | color: @mauve;
34 | transition: all 0.5s cubic-bezier(.55, -0.68, .48, 1.68);
35 |
36 | padding: 0.25rem 0.5rem;;
37 | margin-right: 0.25rem;
38 | }
39 |
40 | #workspaces button:last-child {
41 | margin-right: 0;
42 | }
43 |
44 | #workspaces button:hover {
45 | color: @rosewater;
46 | background: @surface0;
47 | }
48 |
49 | #workspaces button.active {
50 | color: @teal;
51 | }
52 |
53 | #workspaces button.active:hover {
54 | color: @teal;
55 | background: @crust;
56 | }
57 |
58 | .modules-left:first-child {
59 | margin-left: 6px;
60 | }
61 |
62 | .modules-right:last-child {
63 | margin-right: 6px;
64 | }
65 |
66 | .modules-right>box, .modules-left>box {
67 | background-color: @baseRgb;
68 | opacity: 0.9;
69 | border-radius: 0.5rem;
70 | padding: 0.3rem 0.5rem 0.3rem 0.5rem;
71 | margin-right: 5px;
72 | transition: all 0.2s cubic-bezier(.55, -0.68, .48, 1.68);
73 | /* border:1px solid red; */
74 | }
75 |
76 | .modules-right>box>widget, .modules-left>box>widget {
77 | /* border-radius: 0.5rem; */
78 | }
79 |
80 | .modules-right>box>widget>label, .modules-left>box>widget>label {
81 | color: @text;
82 | border-radius: 0.5rem;
83 | padding: 0 0.25rem 0 0.25rem;
84 | margin-right: 0.5rem;
85 | min-width: 18px;
86 |
87 | /* border:1px solid yellow; */
88 | }
89 |
90 | .modules-right box>widget:last-child>label {
91 | margin-right: 0;
92 | }
93 | .modules-right box>widget:first-child>label {
94 | /* margin-left: 0; */
95 | }
96 |
97 | #power, #processing, #networking, #systray, #audio, #datetime, #session {
98 |
99 | }
100 |
101 | .modules-right box>widget>label {
102 | color: @lavender;
103 | }
104 | /* .modules-right widget:nth-child(1)>label {
105 | color: @blue;
106 | }
107 | .modules-right widget:nth-child(2)>label {
108 | color: @lavender;
109 | }
110 | .modules-right widget:nth-child(3)>label {
111 | color: @sapphire;
112 | }
113 | .modules-right widget:nth-child(4)>label {
114 | color: @sky;
115 | }
116 | .modules-right widget:nth-child(5)>label {
117 | color: @teal;
118 | }
119 | .modules-right widget:nth-child(6)>label {
120 | color: @green;
121 | }
122 | .modules-right widget:nth-child(7)>label {
123 | color: @yellow;
124 | }
125 | .modules-right widget:nth-child(8)>label {
126 | color: @peach;
127 | }
128 | .modules-right widget:nth-child(9)>label {
129 | color: @maroon;
130 | }
131 | .modules-right widget:nth-child(10)>label {
132 | color: @red;
133 | }
134 | .modules-right widget:nth-child(11)>label {
135 | color: @mauve;
136 | }
137 | .modules-right widget:nth-child(12)>label {
138 | color: @pink;
139 | }
140 | .modules-right widget:nth-child(13)>label {
141 | color: @flamingo;
142 | }
143 | .modules-right widget:nth-child(14)>label {
144 | color: @rosewater;
145 | } */
146 |
147 |
148 | #backlight {
149 | color: @peach;
150 | }
151 |
152 | #battery {
153 | color: @yellow;
154 | }
155 |
156 | #battery.good {
157 | color: @green;
158 | }
159 |
160 | #battery.warning {
161 | color: @red;
162 | }
163 |
164 | #battery.critical {
165 | background: @red;
166 | color: @surface0;
167 | }
168 |
169 | #battery.charging {
170 | color: @green;
171 | animation-name: charging;
172 | animation-duration: 1s;
173 | animation-timing-function: linear;
174 | animation-iteration-count: infinite;
175 | animation-direction: alternate-reverse;
176 | }
177 |
178 | @keyframes charging {
179 | from {
180 | color: @sapphire;
181 | }
182 | 30% {
183 | color: @sky;
184 | }
185 | 60% {
186 | color: @teal;
187 | }
188 | to {
189 | color: @green;
190 | }
191 | }
192 |
193 | #battery.plugged {
194 | color: @yellow;
195 | }
196 |
197 | #battery.warning:not(.charging) {
198 | background-color: @red;
199 | color: @surface0;
200 | }
201 |
202 | #bluetooth {
203 | color: @sapphire;
204 | }
205 |
206 | #bluetooth.disabled {
207 | color: @maroon;
208 | }
209 |
210 | #bluetooth.off {
211 | color: @surface2;
212 | }
213 |
214 | #processing {
215 |
216 | }
217 |
218 | #cpu {
219 | opacity: 0.7;
220 | }
221 |
222 | #clock {
223 | color: @teal;
224 | }
225 |
226 | #custom-power_profile {
227 | color: @green;
228 | }
229 |
230 | #custom-fan.off {
231 | color: @surface2;
232 | }
233 |
234 | #custom-fan.low {
235 | color: @green;
236 | animation:spin 5s linear infinite;
237 | }
238 |
239 | #custom-fan.medium {
240 | color: @peach;
241 | animation:spin 3.5s linear infinite;
242 | }
243 |
244 | #custom-fan.high {
245 | color: @red;
246 | animation:spin 2s linear infinite;
247 | }
248 |
249 | #custom-fan {
250 | animation-timing-function: ease-in-out;
251 | animation-iteration-count: infinite;
252 | }
253 |
254 | @keyframes spin {
255 | from {
256 | font-size: 12px;
257 | }
258 | 60% {
259 | font-size: 11px;
260 | color: transparent;
261 | }
262 | to {
263 | font-size:12px;
264 | }
265 | }
266 |
267 | #custom-recorder {
268 | background-color: @baseRgb;
269 | border-radius: 0.5rem;
270 | color: @red;
271 | margin-right: 5px;
272 | padding: 0 0.7rem 0 0.5rem;
273 | min-width: 15px;
274 | }
275 |
276 | #window {
277 | color: @text;
278 | background-color: @baseRgb;
279 | border-radius: 0.5rem;
280 | padding: 0 8px;
281 | }
282 |
283 | span#window {
284 | border:1px solid red;
285 | }
286 |
287 |
288 | #idle_inhibitor {
289 | color: @surface2;
290 | }
291 |
292 | #idle_inhibitor label span {
293 | border:1px solid yellow;
294 | }
295 |
296 | #idle_inhibitor.activated {
297 | color: @green;
298 | }
299 |
300 | #network {
301 | color: @lavender;
302 | }
303 |
304 | #network.disconnected {
305 | background-color: @maroon;
306 | color: @baseRgb;
307 | }
308 |
309 | #network.disabled {
310 | color: @maroon;
311 | }
312 |
313 | #pulseaudio {
314 | /* font-size:24px; */
315 | color: @sky;
316 | }
317 |
318 | #pulseaudio.muted {
319 | color: @surface2;
320 | }
321 |
322 | #mode {
323 | background-color: @red;
324 | color: @surface0;
325 | font-weight: bold;
326 | }
327 |
328 | #custom-session {
329 | color: @red;
330 | }
331 |
332 | .not-power {
333 | border:1px solid red;
334 | }
--------------------------------------------------------------------------------
/waybar/themes/catppuccin-mocha.css:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Catppuccin Mocha palette
4 | * Maintainer: rubyowo
5 | *
6 | */
7 |
8 | @define-color base #1e1e2e;
9 | @define-color baseRgb rgba(30, 30, 46, 0.8);
10 | @define-color mantle #181825;
11 | @define-color crust #11111b;
12 |
13 | @define-color text #cdd6f4;
14 | @define-color subtext0 #a6adc8;
15 | @define-color subtext1 #bac2de;
16 |
17 | @define-color surface0 #313244;
18 | @define-color surface1 #45475a;
19 | @define-color surface2 #585b70;
20 |
21 | @define-color overlay0 #6c7086;
22 | @define-color overlay1 #7f849c;
23 | @define-color overlay2 #9399b2;
24 |
25 | @define-color blue #89b4fa;
26 | @define-color lavender #b4befe;
27 | @define-color sapphire #74c7ec;
28 | @define-color sky #89dceb;
29 | @define-color teal #94e2d5;
30 | @define-color green #a6e3a1;
31 | @define-color yellow #f9e2af;
32 | @define-color peach #fab387;
33 | @define-color maroon #eba0ac;
34 | @define-color red #f38ba8;
35 | @define-color mauve #cba6f7;
36 | @define-color pink #f5c2e7;
37 | @define-color flamingo #f2cdcd;
38 | @define-color rosewater #f5e0dc;
39 |
--------------------------------------------------------------------------------
/waybar/themes/tokyo-night.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Tokyo Night - Dark
3 | * taken from https://github.com/enkia/tokyo-night-vscode-theme
4 | *
5 | */
6 | @define-color red #f7768e;
7 | @define-color tangerine #ff9e64;
8 | @define-color equator #e0af68;
9 | @define-color green #9ece6a;
10 | @define-color charlotte #73daca; /* Object literal keys, Markdown links, Terminal Green */
11 | @define-color lightblue #b4f9f8; /* Regex literal strings */
12 | @define-color teal #2ac3de; /* Language support functions, CSS HTML elements */
13 | @define-color skyblue #7dcfff; /* Object properties, Regex quantifiers and flags, Markdown headings, Terminal Cyan, Markdown code, Import/export keywords */
14 | @define-color maliblue #7aa2f7; /* Function names, CSS property names, Terminal Blue */
15 | @define-color purple #bb9af7; /* rgb(187, 154, 247) Control Keywords, Storage Types, Regex symbols and operators, HTML Attributes, Terminal Magenta */
16 | @define-color merano #c0caf5; /* Variables, Class names, Terminal White */
17 | /*
18 | @define-color #a9b1d6; Editor Foreground
19 | @define-color #9aa5ce; Markdown Text, HTML Text
20 | */
21 | @define-color dusty #cfc9c2; /* Parameters inside functions (semantic highlighting only) */
22 | @define-color darkgrey #565f89; /* Comments */
23 | @define-color black #414868; /* rgba(65, 72, 104) Terminal Black */
24 | @define-color storm #24283b; /* Editor Background (Storm) */
25 | @define-color darknight #1a1b26; /* rgb(26, 27, 38) Editor Background (Night)*/
26 |
27 | @define-color base rgba(26, 27, 38, 0.7);
--------------------------------------------------------------------------------
/waybar/themes/variables.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/floodedcodeboy/hyprland-dots/02ec20b1c41eda1d33453873d2cf823ca908856d/waybar/themes/variables.css
--------------------------------------------------------------------------------
/waybar/tokyo_wip_style.css:
--------------------------------------------------------------------------------
1 | @import "./themes/tokyo-night.css";
2 | @import "./themes/variables.css";
3 |
4 | * {
5 | /* font-family: "SauceCodePro Nerd Font Mono", "Font Awesome 6 Free"; */
6 | /* font-family: "BlexMono Nerd Font", "Font Awesome 6 Free"; */
7 | font-family: "CaskaydiaCove Nerd Font Mono", "Bitstream Vera Sans Mono", "Bahnschrift", "Arimo Nerd Font", "Font Awesome 6 Free";
8 | font-size: 11px;
9 | min-height: 0;
10 | }
11 |
12 | window#waybar {
13 | background: transparent;
14 | border-radius: 0.5rem;
15 | }
16 |
17 | tooltip {
18 | background: @base;
19 | opacity: 0.9;
20 | border: 1px solid @pink;
21 | }
22 |
23 | tooltip label {
24 | color: @maliblue;
25 | padding: 8px;
26 | }
27 |
28 | #workspaces {
29 | padding: 0;
30 | }
31 |
32 | #workspaces button {
33 | color: @mauve;
34 | transition: all 0.5s cubic-bezier(.55, -0.68, .48, 1.68);
35 |
36 | padding: 0.25rem 0.5rem;;
37 | margin-right: 0.25rem;
38 | }
39 |
40 | #workspaces button:last-child {
41 | margin-right: 0;
42 | }
43 |
44 | #workspaces button:hover {
45 | color: @rosewater;
46 | background: @surface0;
47 | }
48 |
49 | #workspaces button.active {
50 | color: @teal;
51 | }
52 |
53 | #workspaces button.active:hover {
54 | color: @teal;
55 | background: @crust;
56 | }
57 |
58 | .modules-left:first-child {
59 | margin-left: 6px;
60 | }
61 | .modules-right:last-child {
62 | margin-right: 6px;
63 | }
64 |
65 | .modules-right>box, .modules-left>box {
66 | background-color: @base;
67 | opacity: 0.9;
68 | border-radius: 0.5rem;
69 | padding: 0.3rem 0.5rem 0.3rem 0.5rem;
70 | margin-right: 5px;
71 | transition: all 0.2s cubic-bezier(.55, -0.68, .48, 1.68);
72 | /* border:1px solid red; */
73 | }
74 |
75 | .modules-right>box>widget, .modules-left>box>widget {
76 | /* border-radius: 0.5rem; */
77 | }
78 |
79 | .modules-right>box>widget>label, .modules-left>box>widget>label {
80 | color: @maliblue;
81 | border-radius: 0.5rem;
82 | padding: 0 0.25rem 0 0.25rem;
83 | margin-right: 0.5rem;
84 | min-width: 18px;
85 |
86 | /* border:1px solid yellow; */
87 | }
88 |
89 | .modules-right box>widget:last-child>label {
90 | margin-right: 0;
91 | }
92 | .modules-right box>widget:first-child>label {
93 | /* margin-left: 0; */
94 | }
95 |
96 | #power, #processing, #networking, #systray, #audio, #datetime, #session {
97 |
98 | }
99 |
100 | .modules-right box>widget>label {
101 | color: @lightblue;
102 | }
103 | /* .modules-right widget:nth-child(1)>label {
104 | color: @blue;
105 | }
106 | .modules-right widget:nth-child(2)>label {
107 | color: @lavender;
108 | }
109 | .modules-right widget:nth-child(3)>label {
110 | color: @sapphire;
111 | }
112 | .modules-right widget:nth-child(4)>label {
113 | color: @sky;
114 | }
115 | .modules-right widget:nth-child(5)>label {
116 | color: @teal;
117 | }
118 | .modules-right widget:nth-child(6)>label {
119 | color: @green;
120 | }
121 | .modules-right widget:nth-child(7)>label {
122 | color: @yellow;
123 | }
124 | .modules-right widget:nth-child(8)>label {
125 | color: @peach;
126 | }
127 | .modules-right widget:nth-child(9)>label {
128 | color: @maroon;
129 | }
130 | .modules-right widget:nth-child(10)>label {
131 | color: @red;
132 | }
133 | .modules-right widget:nth-child(11)>label {
134 | color: @mauve;
135 | }
136 | .modules-right widget:nth-child(12)>label {
137 | color: @pink;
138 | }
139 | .modules-right widget:nth-child(13)>label {
140 | color: @flamingo;
141 | }
142 | .modules-right widget:nth-child(14)>label {
143 | color: @rosewater;
144 | } */
145 |
146 |
147 | #backlight {
148 |
149 | }
150 |
151 | #battery {
152 |
153 | }
154 |
155 | #battery.good {
156 | color: @green;
157 | }
158 |
159 | #battery.warning {
160 | color: @red;
161 | }
162 |
163 | #battery.critical {
164 | background: @red;
165 | color: @surface0;
166 | }
167 |
168 | #battery.charging {
169 | color: @green;
170 | animation-name: charging;
171 | animation-duration: 1s;
172 | animation-timing-function: linear;
173 | animation-iteration-count: infinite;
174 | animation-direction: alternate-reverse;
175 | }
176 |
177 | @keyframes charging {
178 | from {
179 | color: @sapphire;
180 | }
181 | 30% {
182 | color: @sky;
183 | }
184 | 60% {
185 | color: @teal;
186 | }
187 | to {
188 | color: @green;
189 | }
190 | }
191 |
192 | #battery.plugged {
193 | color: @yellow;
194 | }
195 |
196 | #battery.warning:not(.charging) {
197 | background-color: @red;
198 | color: @surface0;
199 | }
200 |
201 | #bluetooth {
202 | color: @sapphire;
203 | }
204 |
205 | #bluetooth.disabled {
206 | color: @maroon;
207 | }
208 |
209 | #bluetooth.off {
210 | color: @surface2;
211 | }
212 |
213 | #clock {
214 |
215 | }
216 |
217 | #custom-power_profile {
218 |
219 | }
220 |
221 | #custom-fan.off {
222 | color: @surface2;
223 | /* animation: none; */
224 | }
225 |
226 | #custom-fan.low {
227 | color: @green;
228 | animation-name: spin;
229 | animation-duration: 3s;
230 | }
231 |
232 | #custom-fan.medium {
233 | color: @peach;
234 | animation-name: spin;
235 | animation-duration: 1.5s;
236 | }
237 |
238 | #custom-fan.high {
239 | color: @red;
240 | animation-name: spin;
241 | animation-duration: 0.75s;
242 | }
243 |
244 | #custom-fan {
245 | animation-timing-function: ease-in-out;
246 | animation-iteration-count: infinite;
247 | }
248 |
249 | @keyframes spin {
250 | from {
251 | font-size: 12px;
252 | }
253 | 60% {
254 | font-size: 11px;
255 | }
256 | to {
257 | font-size:12px;
258 | }
259 | }
260 |
261 | #custom-recorder {
262 | background-color: @base;
263 | border-radius: 0.5rem;
264 | color: @red;
265 | margin-right: 5px;
266 | padding: 0 0.7rem 0 0.5rem;
267 | min-width: 15px;
268 | }
269 |
270 | #window {
271 | color: @text;
272 | background-color: @base;
273 | border-radius: 0.5rem;
274 | padding: 0 8px;
275 | /*
276 | margin-right: 8px;
277 | */
278 | }
279 |
280 | span#window {
281 | border:1px solid red;
282 | }
283 |
284 |
285 | #idle_inhibitor {
286 | color: @surface2;
287 | }
288 |
289 | #idle_inhibitor label span {
290 | border:1px solid yellow;
291 | }
292 |
293 | #idle_inhibitor.activated {
294 | color: @peach;
295 | }
296 |
297 | #network {
298 |
299 | }
300 |
301 | #network.disconnected {
302 | background-color: @maroon;
303 | color: @base;
304 | }
305 |
306 | #network.disabled {
307 | color: @maroon;
308 | }
309 |
310 | #pulseaudio {
311 | /* font-size:24px; */
312 | }
313 |
314 | #pulseaudio.muted {
315 | color: @surface2;
316 | }
317 |
318 | #mode {
319 | background-color: @red;
320 | color: @surface0;
321 | font-weight: bold;
322 | }
323 |
324 | #custom-session {
325 |
326 | }
327 |
328 | .not-power {
329 | border:1px solid red;
330 | }
--------------------------------------------------------------------------------