Compare commits
No commits in common. "0231e0718c2c14a3ab8dc86f55e5763861a65b84" and "5ebf1fd8ee2f9d784e8c074468b9292f5d2191c1" have entirely different histories.
0231e0718c
...
5ebf1fd8ee
|
|
@ -1,18 +1,23 @@
|
||||||
#? Config file for btop v. 1.2.13
|
#? Config file for btop v.1.4.7
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
color_theme = "$HOME/.config/btop/themes/catppuccin_macchiato.theme"
|
color_theme = "Default"
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
theme_background = False
|
theme_background = true
|
||||||
|
|
||||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
truecolor = True
|
truecolor = true
|
||||||
|
|
||||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
force_tty = False
|
force_tty = false
|
||||||
|
|
||||||
|
#* Option to disable presets. Either the default preset, custom presets, or all presets.
|
||||||
|
#* "Off" All presets are enabled.
|
||||||
|
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
|
||||||
|
disable_presets = "Off"
|
||||||
|
|
||||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
|
@ -22,10 +27,16 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
|
||||||
|
|
||||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
vim_keys = False
|
vim_keys = false
|
||||||
|
|
||||||
|
#* Disable all mouse events.
|
||||||
|
disable_mouse = false
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
rounded_corners = True
|
rounded_corners = true
|
||||||
|
|
||||||
|
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
|
||||||
|
terminal_sync = true
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
|
@ -37,6 +48,9 @@ graph_symbol = "braille"
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_cpu = "default"
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_mem = "default"
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
|
@ -46,74 +60,89 @@ graph_symbol_net = "default"
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
graph_symbol_proc = "default"
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
shown_boxes = "proc cpu mem net"
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
update_ms = 2000
|
update_ms = 2000
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "cpu direct"
|
proc_sorting = "cpu lazy"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = False
|
proc_reversed = false
|
||||||
|
|
||||||
#* Show processes as a tree.
|
#* Show processes as a tree.
|
||||||
proc_tree = False
|
proc_tree = false
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
#* Use the cpu graph colors in the process list.
|
||||||
proc_colors = True
|
proc_colors = true
|
||||||
|
|
||||||
#* Use a darkening gradient in the process list.
|
#* Use a darkening gradient in the process list.
|
||||||
proc_gradient = True
|
proc_gradient = true
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
proc_per_core = False
|
proc_per_core = false
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
#* Show process memory as bytes instead of percent.
|
||||||
proc_mem_bytes = True
|
proc_mem_bytes = true
|
||||||
|
|
||||||
#* Show cpu graph for each process.
|
#* Show cpu graph for each process.
|
||||||
proc_cpu_graphs = True
|
proc_cpu_graphs = true
|
||||||
|
|
||||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
proc_info_smaps = False
|
proc_info_smaps = false
|
||||||
|
|
||||||
#* Show proc box on left side of screen instead of right.
|
#* Show proc box on left side of screen instead of right.
|
||||||
proc_left = False
|
proc_left = false
|
||||||
|
|
||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
proc_filter_kernel = False
|
proc_filter_kernel = false
|
||||||
|
|
||||||
|
#* Should the process list follow the selected process when detailed view is open.
|
||||||
|
proc_follow_detailed = true
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = false
|
||||||
|
|
||||||
|
#* Should cpu and memory usage display be preserved for dead processes when paused.
|
||||||
|
keep_dead_proc_usage = false
|
||||||
|
|
||||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
#* Select from a list of detected attributes from the options menu.
|
#* Select from a list of detected attributes from the options menu.
|
||||||
cpu_graph_upper = "total"
|
cpu_graph_upper = "Auto"
|
||||||
|
|
||||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
#* Select from a list of detected attributes from the options menu.
|
#* Select from a list of detected attributes from the options menu.
|
||||||
cpu_graph_lower = "total"
|
cpu_graph_lower = "Auto"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
#* Toggles if the lower CPU graph should be inverted.
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
cpu_invert_lower = True
|
cpu_invert_lower = true
|
||||||
|
|
||||||
#* Set to True to completely disable the lower CPU graph.
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
cpu_single_graph = False
|
cpu_single_graph = false
|
||||||
|
|
||||||
#* Show cpu box at bottom of screen instead of top.
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
cpu_bottom = False
|
cpu_bottom = false
|
||||||
|
|
||||||
#* Shows the system uptime in the CPU box.
|
#* Shows the system uptime in the CPU box.
|
||||||
show_uptime = True
|
show_uptime = true
|
||||||
|
|
||||||
|
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||||
|
show_cpu_watts = true
|
||||||
|
|
||||||
#* Show cpu temperature.
|
#* Show cpu temperature.
|
||||||
check_temp = True
|
check_temp = true
|
||||||
|
|
||||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
cpu_sensor = "Auto"
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
show_coretemp = True
|
show_coretemp = true
|
||||||
|
|
||||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
|
@ -125,88 +154,133 @@ cpu_core_map = ""
|
||||||
temp_scale = "celsius"
|
temp_scale = "celsius"
|
||||||
|
|
||||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
base_10_sizes = True
|
base_10_sizes = false
|
||||||
|
|
||||||
#* Show CPU frequency.
|
#* Show CPU frequency.
|
||||||
show_cpu_freq = True
|
show_cpu_freq = true
|
||||||
|
|
||||||
|
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
|
||||||
|
freq_mode = "first"
|
||||||
|
|
||||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
clock_format = "%X"
|
clock_format = "%X"
|
||||||
|
|
||||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
background_update = True
|
background_update = true
|
||||||
|
|
||||||
#* Custom cpu model name, empty string to disable.
|
#* Custom cpu model name, empty string to disable.
|
||||||
custom_cpu_name = ""
|
custom_cpu_name = ""
|
||||||
|
|
||||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||||
disks_filter = ""
|
disks_filter = ""
|
||||||
|
|
||||||
#* Show graphs instead of meters for memory values.
|
#* Show graphs instead of meters for memory values.
|
||||||
mem_graphs = True
|
mem_graphs = true
|
||||||
|
|
||||||
#* Show mem box below net box instead of above.
|
#* Show mem box below net box instead of above.
|
||||||
mem_below_net = False
|
mem_below_net = false
|
||||||
|
|
||||||
#* Count ZFS ARC in cached and available memory.
|
#* Count ZFS ARC in cached and available memory.
|
||||||
zfs_arc_cached = True
|
zfs_arc_cached = true
|
||||||
|
|
||||||
#* If swap memory should be shown in memory box.
|
#* If swap memory should be shown in memory box.
|
||||||
show_swap = True
|
show_swap = true
|
||||||
|
|
||||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
swap_disk = True
|
swap_disk = true
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
#* If mem box should be split to also show disks info.
|
||||||
show_disks = False
|
show_disks = true
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
only_physical = True
|
only_physical = true
|
||||||
|
|
||||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
use_fstab = True
|
use_fstab = true
|
||||||
|
|
||||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||||
zfs_hide_datasets = False
|
zfs_hide_datasets = false
|
||||||
|
|
||||||
#* Set to true to show available disk space for privileged users.
|
#* Set to true to show available disk space for privileged users.
|
||||||
disk_free_priv = False
|
disk_free_priv = false
|
||||||
|
|
||||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
show_io_stat = True
|
show_io_stat = true
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
io_mode = False
|
io_mode = false
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
io_graph_combined = False
|
io_graph_combined = false
|
||||||
|
|
||||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
io_graph_speeds = ""
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
|
||||||
|
swap_upload_download = false
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
net_download = 100
|
net_download = 100
|
||||||
|
|
||||||
net_upload = 100
|
net_upload = 100
|
||||||
|
|
||||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
net_auto = True
|
net_auto = true
|
||||||
|
|
||||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
net_sync = True
|
net_sync = true
|
||||||
|
|
||||||
#* Starts with the Network Interface specified here.
|
#* Starts with the Network Interface specified here.
|
||||||
net_iface = ""
|
net_iface = ""
|
||||||
|
|
||||||
|
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||||
|
base_10_bitrate = "Auto"
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
#* Show battery stats in top right if battery is present.
|
||||||
show_battery = False
|
show_battery = true
|
||||||
|
|
||||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
selected_battery = "Auto"
|
selected_battery = "Auto"
|
||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = true
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
log_level = "WARNING"
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Automatically save current settings to config file on exit.
|
||||||
|
save_config_on_exit = true
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = true
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||||
|
rsmi_measure_pcie_speeds = true
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = true
|
||||||
|
|
||||||
|
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
|
||||||
|
shown_gpus = "nvidia amd intel apple"
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */ #
|
# /* ----------- 💫 https://github.com/JaKooLit 💫 -------- */ #
|
||||||
|
|
||||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
/* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */
|
|
||||||
|
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
"logo": {
|
|
||||||
"padding": {
|
|
||||||
"top": 2
|
|
||||||
},
|
|
||||||
"type": "small"
|
|
||||||
},
|
|
||||||
"display": {
|
|
||||||
"separator": " -> "
|
|
||||||
},
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "title",
|
|
||||||
"keyWidth": 10,
|
|
||||||
"format": " {6}{7}{8}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": " ─────────────────────────── "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"keyColor": "blue",
|
|
||||||
"key": " ",
|
|
||||||
"text": "echo Jakoolit: v${DOTS_VERSION}",
|
|
||||||
"type": "command"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "magenta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
/*
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "magenta",
|
|
||||||
// format: used / total
|
|
||||||
"format": "{1} / {2}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "magenta",
|
|
||||||
"text": "echo $(( ($(date +%s) - $(stat -c %W /)) / 86400 )) days"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": " ─────────────────────────── "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
|
||||||
},
|
|
||||||
"break"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,65 +1,85 @@
|
||||||
/**
|
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||||
* ┏┓┏┓┏┓┏┳┓┏┓┏┓┏┳┓┏┓┓┏
|
|
||||||
* ┣ ┣┫┗┓ ┃ ┣ ┣ ┃ ┃ ┣┫
|
|
||||||
* ┻ ┛┗┗┛ ┻ ┻ ┗┛ ┻ ┗┛┛┗
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
{
|
{
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
"logo": {
|
"logo": {
|
||||||
// "type": "auto",
|
|
||||||
// x."source": "~/.config/fastfetch/logo.png",
|
|
||||||
// "height": 10,
|
|
||||||
"padding": {
|
"padding": {
|
||||||
"top": 3,
|
"top": 2
|
||||||
"right": 2
|
|
||||||
},
|
},
|
||||||
"type": "small"
|
"type": "small"
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"separator": " "
|
"separator": " -> "
|
||||||
},
|
},
|
||||||
"modules": [
|
"modules": [
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
"break",
|
"break",
|
||||||
{
|
{
|
||||||
"type": "os",
|
"type": "title",
|
||||||
"key": " ",
|
"keyWidth": 10,
|
||||||
"keyColor": "31"
|
"format": " {6}{7}{8}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": " ─────────────────────────── "
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "kernel",
|
"type": "kernel",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "32"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"keyColor": "blue",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "34"
|
"text": "echo Jakoolit: v${DOTS_VERSION}",
|
||||||
},
|
"type": "command"
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " ",
|
|
||||||
"keyColor": "35"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "wm",
|
"type": "wm",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "36"
|
"keyColor": "magenta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"key": " ",
|
||||||
|
"keyColor": "yellow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminal",
|
||||||
|
"key": " ",
|
||||||
|
"keyColor": "blue"
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"type": "packages",
|
||||||
|
"key": " ",
|
||||||
|
"keyColor": "yellow"
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"key": " ",
|
||||||
|
"keyColor": "magenta",
|
||||||
|
// format: used / total
|
||||||
|
"format": "{1} / {2}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "uptime",
|
"type": "uptime",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "31"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "36",
|
"keyColor": "magenta",
|
||||||
"shell": "/bin/bash",
|
"text": "echo $(( ($(date +%s) - $(stat -c %W /)) / 86400 )) days"
|
||||||
"text": "echo \"KoolDots: v$DOTS_VERSION\""
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": " ─────────────────────────── "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
||||||
},
|
},
|
||||||
"break"
|
"break"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"key": " ",
|
"key": " ",
|
||||||
"keyColor": "blue",
|
"keyColor": "blue",
|
||||||
"text": "echo LinuxBeginnings Version: ${DOTS_VERSION}"
|
"text": "echo JaKooLit Version: ${DOTS_VERSION}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "wm",
|
"type": "wm",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */
|
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||||
|
|
||||||
{
|
{
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"key": " ├ ",
|
"key": " ├ ",
|
||||||
"format": "echo LinuxBeginnings Version: ${DOTS_VERSION}",
|
"format": "echo JaKooLit Version: ${DOTS_VERSION}",
|
||||||
"keyColor": "31"
|
"keyColor": "31"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,69 +1,32 @@
|
||||||
|
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||||
|
|
||||||
{
|
{
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
"logo": {
|
"logo": {
|
||||||
// "type": "kitty",
|
|
||||||
// "source": "~/.config/fastfetch/ubuntu.png",
|
|
||||||
// "height": 10,
|
|
||||||
// "width": 20,
|
|
||||||
"type": "small",
|
|
||||||
"padding": {
|
"padding": {
|
||||||
"top": 3,
|
"top": 1
|
||||||
"left": 1
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"display": {
|
||||||
|
"separator": " "
|
||||||
|
},
|
||||||
"modules": [
|
"modules": [
|
||||||
"break",
|
"break",
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " PC",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": "└ └",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[90m└────────────────────────────────────────────────────┘"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[90m┌──────────────────────Software──────────────────────┐"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "os",
|
"type": "os",
|
||||||
"key": " OS",
|
"key": " DISTRO",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"type": "kernel",
|
"type": "kernel",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "bios",
|
"type": "command",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
|
"text": "echo JaKooLit Version: ${DOTS_VERSION}",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -73,17 +36,12 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"key": "└ └",
|
"key": "│ └",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "wm",
|
"type": "wm",
|
||||||
"key": " WM",
|
"key": " DE/WM",
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "lm",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -92,39 +50,82 @@
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "terminal",
|
"type": "icons",
|
||||||
"key": "└ └",
|
"key": "│ ├",
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "custom",
|
"type": "cursor",
|
||||||
"format": "\u001b[90m└────────────────────────────────────────────────────┘"
|
"key": "│ ├",
|
||||||
},
|
"keyColor": "blue"
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[90m┌─────────────────Uptime / Age / DT──────────────────┐"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "terminalfont",
|
||||||
"key": " OS Age ",
|
"key": "│ ├",
|
||||||
"keyColor": "magenta",
|
"keyColor": "blue"
|
||||||
"text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days"
|
},
|
||||||
|
{
|
||||||
|
"type": "terminal",
|
||||||
|
"key": "│ └",
|
||||||
|
"keyColor": "blue"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "host",
|
||||||
|
"key": " SYSTEM",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cpu",
|
||||||
|
"key": "│ ├",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "gpu",
|
||||||
|
"key": "│ ├",
|
||||||
|
"format": "{2}",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "display",
|
||||||
|
"key": "│ ├",
|
||||||
|
"keyColor": "green",
|
||||||
|
"compactType": "original-with-refresh-rate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"key": "│ ├",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "swap",
|
||||||
|
"key": "│ ├",
|
||||||
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "uptime",
|
"type": "uptime",
|
||||||
"key": " Uptime ",
|
"key": "│ ├",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "display",
|
||||||
|
"key": "│ └",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "sound",
|
||||||
|
"key": " AUDIO",
|
||||||
|
"format": "{2}",
|
||||||
"keyColor": "magenta"
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "player",
|
||||||
"key": " KoolDots Ver ",
|
"key": "│ ├",
|
||||||
"text": "echo v${DOTS_VERSION}",
|
|
||||||
"keyColor": "magenta"
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "custom",
|
"type": "media",
|
||||||
"format": "\u001b[90m└────────────────────────────────────────────────────┘"
|
"key": "│ └",
|
||||||
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
"break"
|
"break"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,132 +0,0 @@
|
||||||
/* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */
|
|
||||||
|
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
"logo": {
|
|
||||||
"padding": {
|
|
||||||
"top": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"display": {
|
|
||||||
"separator": " "
|
|
||||||
},
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " DISTRO",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": "│ ├",
|
|
||||||
"text": "echo LinuxBeginnings Version: ${DOTS_VERSION}",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": "│ └",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " DE/WM",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wmtheme",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "icons",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cursor",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminalfont",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": "│ └",
|
|
||||||
"keyColor": "blue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " SYSTEM",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": "│ ├",
|
|
||||||
"format": "{2}",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green",
|
|
||||||
"compactType": "original-with-refresh-rate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "swap",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": "│ └",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "sound",
|
|
||||||
"key": " AUDIO",
|
|
||||||
"format": "{2}",
|
|
||||||
"keyColor": "magenta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "player",
|
|
||||||
"key": "│ ├",
|
|
||||||
"keyColor": "magenta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "media",
|
|
||||||
"key": "│ └",
|
|
||||||
"keyColor": "magenta"
|
|
||||||
},
|
|
||||||
"break"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 4.7 MiB |
|
Before Width: | Height: | Size: 4.1 MiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/Arch-Logo-2.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white",
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18,
|
|
||||||
},
|
|
||||||
"brightColor": false,
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\"",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/debian_swirl.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white",
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18,
|
|
||||||
},
|
|
||||||
"brightColor": false,
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\"",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/fedora.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white",
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18,
|
|
||||||
},
|
|
||||||
"brightColor": false,
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\"",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/gentoo1.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18
|
|
||||||
},
|
|
||||||
"brightColor": false
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/nixos.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white",
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18,
|
|
||||||
},
|
|
||||||
"brightColor": false,
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\"",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor",
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
|
|
||||||
"logo": {
|
|
||||||
"type": "kitty-direct",
|
|
||||||
"source": "$HOME/.config/fastfetch/images/ubuntu.png",
|
|
||||||
// "type": "small",
|
|
||||||
"width": 20,
|
|
||||||
"height": 10,
|
|
||||||
"padding": {
|
|
||||||
"top": 4,
|
|
||||||
"right": 4,
|
|
||||||
"left": 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"display": {
|
|
||||||
"separator": " ",
|
|
||||||
"color": {
|
|
||||||
"keys": "white"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"width": 18
|
|
||||||
},
|
|
||||||
"brightColor": false
|
|
||||||
},
|
|
||||||
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Identity header ────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": "\u001b[1m\u001b[38;5;197m <---- KoolDots ---->\u001b[0m"
|
|
||||||
// },
|
|
||||||
// "break",
|
|
||||||
|
|
||||||
"break",
|
|
||||||
// ── System ─────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mSYSTEM\u001b[0m \u001b[38;5;197m──────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": " {icon} OS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " {icon} Kernel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " {icon} Hostname",
|
|
||||||
"text": "printf '%s@%s' \"$USER\" \"$(hostname)\""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " {icon} Uptime"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "packages",
|
|
||||||
"key": " {icon} Packages"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} OS Age",
|
|
||||||
"folders": "/",
|
|
||||||
"format": "installed {create-time:10} ({days} days ago)"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Hardware ───────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mHARDWARE\u001b[0m \u001b[38;5;197m────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"key": " {icon} Machine",
|
|
||||||
"format": "{name}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"key": " {icon} CPU",
|
|
||||||
"showPeCoreCount": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"key": " {icon} GPU"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " {icon} RAM",
|
|
||||||
"percent": {
|
|
||||||
"type": 3,
|
|
||||||
"green": 40,
|
|
||||||
"yellow": 75
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " {icon} Disk",
|
|
||||||
"format": "{size-used} / {size-total} ({size-percentage})"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Desktop ────────────────────────────────────────────────────
|
|
||||||
{
|
|
||||||
"type": "custom",
|
|
||||||
"format": "\u001b[38;5;197m── \u001b[1m\u001b[38;5;231mDESKTOP\u001b[0m \u001b[38;5;197m─────────────────────────\u001b[0m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": " {icon} WM"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"key": " KoolDots",
|
|
||||||
"text": "echo v${DOTS_VERSION}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "display",
|
|
||||||
"key": " {icon} Display",
|
|
||||||
"compactType": "original-with-refresh-rate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " {icon} Shell"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " {icon} Terminal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "editor",
|
|
||||||
"key": " {icon} Editor"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
|
|
||||||
// ── Footer ─────────────────────────────────────────────────────
|
|
||||||
// {
|
|
||||||
// black → dark pink → hot pink → light pink → white
|
|
||||||
// "type": "custom",
|
|
||||||
// "format": " \u001b[48;5;232m \u001b[48;5;53m \u001b[48;5;89m \u001b[48;5;125m \u001b[48;5;161m \u001b[48;5;197m \u001b[48;5;198m \u001b[48;5;199m \u001b[48;5;205m \u001b[48;5;211m \u001b[48;5;224m \u001b[48;5;231m \u001b[0m"
|
|
||||||
// },
|
|
||||||
"break"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# default Monitor config
|
# default Monitor config
|
||||||
|
|
||||||
# Monitor Configuration
|
# Monitor Configuration
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
KooL's Hyprland-Dots
|
KooL's Hyprland-Dots
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
# This is a file where you put your own default apps, default search Engine etc
|
# This is a file where you put your own default apps, default search Engine etc
|
||||||
|
|
||||||
|
|
@ -16,8 +11,8 @@
|
||||||
$edit=${EDITOR:-nano}
|
$edit=${EDITOR:-nano}
|
||||||
|
|
||||||
# These two are for UserKeybinds.conf & Waybar Modules
|
# These two are for UserKeybinds.conf & Waybar Modules
|
||||||
$term = kitty # Terminal
|
$term = foot # Terminal
|
||||||
$files = thunar # File Manager
|
$files = nemo # File Manager
|
||||||
|
|
||||||
# Default Search Engine for ROFI Search (SUPER S)
|
# Default Search Engine for ROFI Search (SUPER S)
|
||||||
$Search_Engine = "https://www.google.com/search?q={}"
|
$Search_Engine = "https://www.google.com/search?q={}"
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid.
|
# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid.
|
||||||
# See notes on Laptops.conf
|
# See notes on Laptops.conf
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
|
||||||
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,3 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Commands and Apps to be executed at launch
|
# Commands and Apps to be executed at launch
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Decoration Settings
|
# Decoration Settings
|
||||||
|
|
||||||
# Hyprland Wiki Links
|
# Hyprland Wiki Links
|
||||||
|
|
@ -42,13 +37,13 @@ decoration {
|
||||||
color_inactive = $color10
|
color_inactive = $color10
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
size = 6
|
size = 6
|
||||||
passes = 3
|
passes = 2
|
||||||
new_optimizations = true
|
|
||||||
xray = true
|
|
||||||
ignore_opacity = true
|
ignore_opacity = true
|
||||||
|
new_optimizations = true
|
||||||
special = true
|
special = true
|
||||||
popups = true
|
popups = true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,11 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict
|
# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict
|
||||||
# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc
|
# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
|
||||||
# See also Laptops.conf for laptops keybinds
|
# See also Laptops.conf for laptops keybinds
|
||||||
|
|
||||||
|
# /* ---- ✴️ Variables ✴️ ---- */ #
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
$scriptsDir = $HOME/.config/hypr/scripts
|
||||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
$UserScripts = $HOME/.config/hypr/UserScripts
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# User Settings
|
# User Settings
|
||||||
# This is where you put your own settings as this will not be touched during update
|
# This is where you put your own settings as this will not be touched during update
|
||||||
# if the upgrade.sh is used.
|
# if the upgrade.sh is used.
|
||||||
|
|
@ -49,7 +44,3 @@ input {
|
||||||
left_handed = 0
|
left_handed = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
|
||||||
workspace_back_and_forth = false
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,6 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# For window rules and layerrules
|
# For window rules and layerrules
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
# This file is used to add or overwrite window rules
|
# This file is used to add or overwrite window rules
|
||||||
# This file will not be modified during dotfiles updates
|
# This file will not be modified during dotfiles updates
|
||||||
|
|
||||||
|
|
||||||
# Optional Layer rules
|
|
||||||
# To Resolve blurred corners in rofi Uncomment
|
|
||||||
# layerrule = blur on, ignore_alpha 0, match:namespace rofi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
# NOTE: THIS IS NOT BEING SOURCED by hyprland
|
# NOTE: THIS IS NOT BEING SOURCED by hyprland
|
||||||
# It is only here as a guide if you want to do it manually
|
# It is only here as a guide if you want to do it manually
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
# Place your new scripts here.
|
# Place your new scripts here.
|
||||||
# If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit.
|
# If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit.
|
||||||
|
|
|
||||||
|
|
@ -1,237 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# RainbowBorders-low-cpu.sh — low-overhead animated rainbow border for Hyprland
|
|
||||||
#
|
|
||||||
# Goal
|
|
||||||
# Animate Hyprland's active border with a rotating rainbow gradient while
|
|
||||||
# minimizing CPU usage on older systems by:
|
|
||||||
# - Using a modest update rate (default 1.0s) and larger angle steps
|
|
||||||
# - Avoiding subshell-heavy work inside the loop
|
|
||||||
# - Using Hyprland's command socket via socat when available
|
|
||||||
# - Quoting/validating inputs and suppressing noisy output
|
|
||||||
# - Preventing multiple concurrent instances
|
|
||||||
# - Optionally restoring the previous border value on exit
|
|
||||||
#
|
|
||||||
# Credits
|
|
||||||
# Initial source/idea by: DemiGoD
|
|
||||||
# Adaptation and optimization for low-CPU usage by: Hyprland-Dots maintainers
|
|
||||||
#
|
|
||||||
# Usage
|
|
||||||
# You can customize behavior via environment variables when launching:
|
|
||||||
# RB_INTERVAL Float seconds between updates (default: 1.0)
|
|
||||||
# RB_STEP_DEG Integer degrees per tick (default: 10)
|
|
||||||
# RB_START_DEG Integer starting angle (default: 0)
|
|
||||||
# RB_TARGET Hypr option to update (default: general:col.active_border)
|
|
||||||
# RB_COLORS Space-separated color list (default: 10-color rainbow below)
|
|
||||||
# RB_RESTORE If "1", attempt to restore previous value on exit (loop mode; default: 1)
|
|
||||||
# RB_LOCKFILE Path to a PID lock file (loop mode; default: /tmp/hypr-rainbowborders.lock)
|
|
||||||
# RB_TRANSPORT auto|socat|hyprctl (default: auto)
|
|
||||||
# - socat: send each command via Hyprland's command socket
|
|
||||||
# using socat (one short-lived connection per tick)
|
|
||||||
# - hyprctl: spawn hyprctl each tick
|
|
||||||
# - auto: prefer socat if possible, otherwise hyprctl
|
|
||||||
# RB_ONCE 1 to apply once and exit (no animation; default: 0)
|
|
||||||
#
|
|
||||||
# Example (slower animation):
|
|
||||||
# RB_INTERVAL=1.5 RB_STEP_DEG=12 ~/.config/hypr/UserScripts/RainbowBorders-low-cpu.sh &
|
|
||||||
#
|
|
||||||
# Notes
|
|
||||||
# - This focuses on the active border only. Animating inactive borders too
|
|
||||||
# will increase updates and CPU usage.
|
|
||||||
# - Higher RB_INTERVAL (e.g., 1.0–2.0s) and larger RB_STEP_DEG (10–20)
|
|
||||||
# reduce per-second work substantially.
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
# Defaults (can be overridden by env vars)
|
|
||||||
RB_INTERVAL="${RB_INTERVAL:-1.0}"
|
|
||||||
RB_STEP_DEG="${RB_STEP_DEG:-10}"
|
|
||||||
RB_START_DEG="${RB_START_DEG:-0}"
|
|
||||||
RB_TARGET="${RB_TARGET:-general:col.active_border}"
|
|
||||||
RB_COLORS_DEFAULT="0xffff0000 0xffff8000 0xffffff00 0xff80ff00 0xff00ff00 0xff00ff80 0xff00ffff 0xff0080ff 0xff0000ff 0xff8000ff"
|
|
||||||
RB_COLORS="${RB_COLORS:-$RB_COLORS_DEFAULT}"
|
|
||||||
RB_RESTORE="${RB_RESTORE:-1}"
|
|
||||||
RB_LOCKFILE="${RB_LOCKFILE:-/tmp/hypr-rainbowborders.lock}"
|
|
||||||
RB_TRANSPORT="${RB_TRANSPORT:-auto}"
|
|
||||||
RB_ONCE="${RB_ONCE:-0}"
|
|
||||||
|
|
||||||
# ---------- helpers ----------
|
|
||||||
log() { printf '[RainbowBorders-low-cpu] %s\n' "$*" >&2; }
|
|
||||||
|
|
||||||
die() { log "ERROR: $*"; exit 1; }
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<'EOF'
|
|
||||||
Usage: RainbowBorders-low-cpu.sh [options]
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Show this help and exit
|
|
||||||
--once, --run-once, -1
|
|
||||||
Apply the current gradient once and exit (no animation).
|
|
||||||
In this mode, RB_RESTORE is ignored (the color persists).
|
|
||||||
|
|
||||||
Environment overrides:
|
|
||||||
RB_INTERVAL Seconds between updates (default: 1.0)
|
|
||||||
RB_STEP_DEG Degrees per tick (default: 10)
|
|
||||||
RB_START_DEG Starting angle (default: 0)
|
|
||||||
RB_TARGET Hypr option to update (default: general:col.active_border)
|
|
||||||
RB_COLORS Space-separated colors (default: 10-color rainbow)
|
|
||||||
RB_RESTORE 1 to restore previous value on exit (loop mode only; default: 1)
|
|
||||||
RB_LOCKFILE PID lock path (loop mode only; default: /tmp/hypr-rainbowborders.lock)
|
|
||||||
RB_TRANSPORT auto|socat|hyprctl (default: auto)
|
|
||||||
RB_ONCE 1 for one-shot mode (same as --once)
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
Animate (light CPU):
|
|
||||||
RB_INTERVAL=1.5 RB_STEP_DEG=12 ./RainbowBorders-low-cpu.sh &
|
|
||||||
|
|
||||||
Set a static rainbow once (no animation):
|
|
||||||
./RainbowBorders-low-cpu.sh --once
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
is_float() { [[ "$1" =~ ^[0-9]+(\.[0-9]+)?$|^\.[0-9]+$ ]]; }
|
|
||||||
|
|
||||||
is_int() { [[ "$1" =~ ^[0-9]+$ ]]; }
|
|
||||||
|
|
||||||
# ---------- parse CLI flags ----------
|
|
||||||
while (( $# )); do
|
|
||||||
case "$1" in
|
|
||||||
-h|--help) usage; exit 0 ;;
|
|
||||||
--once|--run-once|-1) RB_ONCE=1 ;;
|
|
||||||
*) log "Unknown option: $1"; usage; exit 2 ;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# ---------- validation ----------
|
|
||||||
if ! is_float "$RB_INTERVAL"; then
|
|
||||||
log "WARN: RB_INTERVAL='$RB_INTERVAL' invalid; defaulting to 1.0"
|
|
||||||
RB_INTERVAL="1.0"
|
|
||||||
fi
|
|
||||||
if ! is_int "$RB_STEP_DEG"; then
|
|
||||||
log "WARN: RB_STEP_DEG='$RB_STEP_DEG' invalid; defaulting to 10"
|
|
||||||
RB_STEP_DEG="10"
|
|
||||||
fi
|
|
||||||
if ! is_int "$RB_START_DEG"; then
|
|
||||||
log "WARN: RB_START_DEG='$RB_START_DEG' invalid; defaulting to 0"
|
|
||||||
RB_START_DEG="0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---------- single-instance lock (PID file) ----------
|
|
||||||
cleanup_lock() { [[ -f "$RB_LOCKFILE" ]] && rm -f "$RB_LOCKFILE"; }
|
|
||||||
|
|
||||||
if [[ "$RB_ONCE" != "1" ]]; then
|
|
||||||
if [[ -f "$RB_LOCKFILE" ]]; then
|
|
||||||
oldpid="$(cat "$RB_LOCKFILE" 2>/dev/null || true)"
|
|
||||||
if [[ -n "${oldpid:-}" ]] && kill -0 "$oldpid" 2>/dev/null; then
|
|
||||||
log "Another instance is running (pid=$oldpid). Exiting."
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
# Stale lock
|
|
||||||
rm -f "$RB_LOCKFILE" || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
printf '%d' "$$" >"$RB_LOCKFILE" 2>/dev/null || die "Cannot write lockfile $RB_LOCKFILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---------- transport (socat vs hyprctl) ----------
|
|
||||||
RB_MODE=""
|
|
||||||
RB_SOCK=""
|
|
||||||
|
|
||||||
open_transport() {
|
|
||||||
local want="$RB_TRANSPORT"
|
|
||||||
local uid; uid=$(id -u 2>/dev/null || echo 0)
|
|
||||||
local base="${XDG_RUNTIME_DIR:-/run/user/$uid}"
|
|
||||||
local sig="${HYPRLAND_INSTANCE_SIGNATURE:-}"
|
|
||||||
if [[ -n "$sig" ]]; then
|
|
||||||
RB_SOCK="$base/hypr/$sig/.socket.sock"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prefer socat if requested/allowed and socket is available
|
|
||||||
if [[ "$want" == "socat" || "$want" == "auto" ]]; then
|
|
||||||
if command -v socat >/dev/null 2>&1 && [[ -n "$RB_SOCK" && -S "$RB_SOCK" ]]; then
|
|
||||||
RB_MODE="socat"
|
|
||||||
return 0
|
|
||||||
elif [[ "$want" == "socat" ]]; then
|
|
||||||
die "RB_TRANSPORT=socat requested but 'socat' or Hyprland socket is unavailable"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fallback to hyprctl: require presence and connectivity
|
|
||||||
command -v hyprctl >/dev/null 2>&1 || die "hyprctl not found and socat transport unavailable"
|
|
||||||
if ! hyprctl monitors >/dev/null 2>&1; then
|
|
||||||
die "hyprctl cannot reach a running Hyprland instance"
|
|
||||||
fi
|
|
||||||
RB_MODE="hyprctl"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
open_transport || exit 1
|
|
||||||
log "Using transport: $RB_MODE"
|
|
||||||
|
|
||||||
# ---------- optional restore of previous border value ----------
|
|
||||||
PREV_VALUE=""
|
|
||||||
if [[ "$RB_RESTORE" == "1" && "$RB_ONCE" != "1" ]]; then
|
|
||||||
if command -v hyprctl >/dev/null 2>&1; then
|
|
||||||
# hyprctl getoption <opt> prints various formats; try common keys
|
|
||||||
PREV_VALUE="$(hyprctl getoption "$RB_TARGET" 2>/dev/null \
|
|
||||||
| sed -n 's/^.*str:[[:space:]]\+//p; s/^.*string:[[:space:]]\+//p; s/^.*value:[[:space:]]\+//p' \
|
|
||||||
| tail -n1)"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
restore_previous() {
|
|
||||||
if [[ "$RB_RESTORE" == "1" && -n "${PREV_VALUE:-}" ]]; then
|
|
||||||
if [[ "$RB_MODE" == "socat" ]]; then
|
|
||||||
printf 'keyword %s %s\n' "$RB_TARGET" "$PREV_VALUE" | socat - "UNIX-CONNECT:$RB_SOCK" >/dev/null 2>&1 || true
|
|
||||||
else
|
|
||||||
hyprctl keyword "$RB_TARGET" "$PREV_VALUE" >/dev/null 2>&1 || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
on_exit() {
|
|
||||||
restore_previous
|
|
||||||
cleanup_lock
|
|
||||||
}
|
|
||||||
|
|
||||||
# In loop mode, set traps for cleanup/restore
|
|
||||||
if [[ "$RB_ONCE" != "1" ]]; then
|
|
||||||
trap on_exit INT TERM EXIT
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---------- main logic ----------
|
|
||||||
angle=$(( RB_START_DEG % 360 ))
|
|
||||||
STEP=$(( RB_STEP_DEG % 360 ))
|
|
||||||
(( STEP == 0 )) && STEP=10
|
|
||||||
|
|
||||||
write_border() {
|
|
||||||
local a="$1"
|
|
||||||
if [[ "$RB_MODE" == "socat" ]]; then
|
|
||||||
printf 'keyword %s %s %sdeg\n' "$RB_TARGET" "$RB_COLORS" "$a" | socat - "UNIX-CONNECT:$RB_SOCK" >/dev/null 2>&1 || true
|
|
||||||
else
|
|
||||||
hyprctl keyword "$RB_TARGET" "$RB_COLORS ${a}deg" >/dev/null 2>&1 || true
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ "$RB_ONCE" == "1" ]]; then
|
|
||||||
# Single write and exit; do not restore previous (intended to persist)
|
|
||||||
write_border "$angle" || log "WARN: one-shot write failed"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prime first write (avoid waiting one interval)
|
|
||||||
write_border "$angle" || log "WARN: initial write failed"
|
|
||||||
|
|
||||||
while :; do
|
|
||||||
# Advance angle and write; failures are non-fatal to keep CPU use minimal
|
|
||||||
angle=$(( (angle + STEP) % 360 ))
|
|
||||||
write_border "$angle"
|
|
||||||
sleep "$RB_INTERVAL"
|
|
||||||
done
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Smooth border cycling effect using Wallust palette or full rainbow
|
|
||||||
|
|
||||||
# Possible values: "wallust_random", "rainbow", "gradient_flow"
|
|
||||||
EFFECT_TYPE="gradient_flow"
|
|
||||||
|
|
||||||
WALLUST_COLORS_SOURCE="$HOME/.config/hypr/wallust/wallust-hyprland.conf"
|
|
||||||
|
|
||||||
WALLUST_COLORS=()
|
|
||||||
|
|
||||||
# ---------- LOAD WALLUST COLORS ----------
|
|
||||||
if [[ "$EFFECT_TYPE" == "wallust_random" || "$EFFECT_TYPE" == "gradient_flow" ]]; then
|
|
||||||
# Accept either hex (0xffRRGGBB) or rgb(r,g,b) and normalize to 0xffRRGGBB
|
|
||||||
mapfile -t WALLUST_COLORS < <(
|
|
||||||
grep -E '^\$color[0-9]+' "$WALLUST_COLORS_SOURCE" | awk '
|
|
||||||
function hex2(s){ return (length(s)==6 ? "0xff"s : ""); }
|
|
||||||
function rgb2(r,g,b){ return sprintf("0xff%02x%02x%02x", r, g, b); }
|
|
||||||
{
|
|
||||||
if (match($0, /0x([0-9a-fA-F]{8})/, m)) { print "0x" m[1]; next }
|
|
||||||
if (match($0, /#([0-9a-fA-F]{6})/, m)) { print hex2(m[1]); next }
|
|
||||||
if (match($0, /rgb\(([0-9]+),[ ]*([0-9]+),[ ]*([0-9]+)\)/, m)) {
|
|
||||||
print rgb2(m[1], m[2], m[3]); next
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
)
|
|
||||||
|
|
||||||
if (( ${#WALLUST_COLORS[@]} == 0 )); then
|
|
||||||
# If wallust colors can't be loaded, fall back to random_hex
|
|
||||||
EFFECT_TYPE="rainbow"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---------- RANDOM WALLUST COLORS ----------
|
|
||||||
function wallust_random() {
|
|
||||||
echo "${WALLUST_COLORS[RANDOM % ${#WALLUST_COLORS[@]}]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------- RAINBOW COLORS ----------
|
|
||||||
function random_hex() {
|
|
||||||
echo "0xff$(openssl rand -hex 3)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------- FLOW MODE ----------
|
|
||||||
BASE_COLOR="${WALLUST_COLORS[10]}"
|
|
||||||
GRAD1_COLOR="${WALLUST_COLORS[14]}"
|
|
||||||
GRAD2_COLOR="${WALLUST_COLORS[13]}"
|
|
||||||
GLOW_COLOR="${WALLUST_COLORS[15]}"
|
|
||||||
|
|
||||||
MAX_POS=10
|
|
||||||
GLOW_POS=0
|
|
||||||
|
|
||||||
function gradient_flow_color() {
|
|
||||||
local pos=$1
|
|
||||||
local d=$(( pos - GLOW_POS ))
|
|
||||||
|
|
||||||
# wrap distance (-9..9)
|
|
||||||
if (( d > MAX_POS/2 )); then d=$((d - MAX_POS)); fi
|
|
||||||
if (( d < -MAX_POS/2 )); then d=$((d + MAX_POS)); fi
|
|
||||||
|
|
||||||
case "${d#-}" in
|
|
||||||
0) echo "$GLOW_COLOR" ;;
|
|
||||||
1) echo "$GRAD1_COLOR" ;;
|
|
||||||
2) echo "$GRAD2_COLOR" ;;
|
|
||||||
*) echo "$BASE_COLOR" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if (( pos == MAX_POS - 1 )); then
|
|
||||||
GLOW_POS=$(( (GLOW_POS + 1) % MAX_POS ))
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------- Main function ----------
|
|
||||||
|
|
||||||
function get_color() {
|
|
||||||
if [[ "$EFFECT_TYPE" == "wallust_random" && ${#WALLUST_COLORS[@]} -gt 0 ]]; then
|
|
||||||
wallust_random
|
|
||||||
elif [[ "$EFFECT_TYPE" == "gradient_flow" && ${#WALLUST_COLORS[@]} -ge 16 ]]; then
|
|
||||||
gradient_flow_color "$1"
|
|
||||||
else
|
|
||||||
random_hex
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# border effect for ACTIVE window
|
|
||||||
hyprctl keyword general:col.active_border $(get_color 0) $(get_color 1) $(get_color 2) $(get_color 3) $(get_color 4) $(get_color 5) $(get_color 6) $(get_color 7) $(get_color 8) $(get_color 9) 270deg
|
|
||||||
|
|
||||||
# border effect for INACTIVE windows
|
|
||||||
#hyprctl keyword general:col.inactive_border $(get_color 0) $(get_color 1) $(get_color 2) $(get_color 3) $(get_color 4) $(get_color 5) $(get_color 6) $(get_color 7) $(get_color 8) $(get_color 9) 270deg
|
|
||||||
14
.config/hypr/UserScripts/RainbowBorders.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
|
# for rainbow borders animation
|
||||||
|
|
||||||
|
function random_hex() {
|
||||||
|
random_hex=("0xff$(openssl rand -hex 3)")
|
||||||
|
echo $random_hex
|
||||||
|
}
|
||||||
|
|
||||||
|
# rainbow colors only for active window
|
||||||
|
hyprctl keyword general:col.active_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg
|
||||||
|
|
||||||
|
# rainbow colors for inactive window (uncomment to take effect)
|
||||||
|
#hyprctl keyword general:col.inactive_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# RofiBeats - unified, dynamic UI (add, remove, manage, play)
|
# RofiBeats - unified, dynamic UI (add, remove, manage, play)
|
||||||
|
|
||||||
mDIR="$HOME/Music/"
|
mDIR="$HOME/Music/"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# /* Calculator (using qalculate) and rofi */
|
# /* Calculator (using qalculate) and rofi */
|
||||||
# /* Submitted by: https://github.com/JosephArmas */
|
# /* Submitted by: https://github.com/JosephArmas */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# USAGE / ІНСТРУКЦІЯ:
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# USAGE:
|
|
||||||
# 1) Run from terminal:
|
# 1) Run from terminal:
|
||||||
# ./dispatch.sh <application_command> <target_workspace_number>
|
# ./dispatch.sh <application_command> <target_workspace_number>
|
||||||
# Example:
|
# Example:
|
||||||
|
|
@ -20,17 +14,37 @@
|
||||||
# Notes:
|
# Notes:
|
||||||
# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear.
|
# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear.
|
||||||
# - Uses hyprctl and jq, so these tools must be installed.
|
# - Uses hyprctl and jq, so these tools must be installed.
|
||||||
|
#
|
||||||
|
# USAGE / ІНСТРУКЦІЯ:
|
||||||
|
# 1) Запуск з терміналу:
|
||||||
|
# ./dispatch.sh <application_command> <target_workspace_number>
|
||||||
|
# Наприклад:
|
||||||
|
# ./dispatch.sh discord 2
|
||||||
|
#
|
||||||
|
# 2) Виклик з конфігурації Hyprland (у файлі hyprland.conf):
|
||||||
|
# exec-once = /path/to/dispatch.sh <application_command> <target_workspace_number>
|
||||||
|
#
|
||||||
|
# Логи зберігаються у файлі dispatch.log поруч зі скриптом.
|
||||||
|
# Якщо вікно не з'явилось або неправильно диспатчилось — інформація там.
|
||||||
|
#
|
||||||
|
# Примітки:
|
||||||
|
# - Скрипт чекає до ~9 секунд (30 ітерацій по 0.3 сек) поки вікно з'явиться.
|
||||||
|
# - Використовує hyprctl і jq, тому ці інструменти мають бути встановлені.
|
||||||
|
|
||||||
LOGFILE="$(dirname "$0")/dispatch.log"
|
LOGFILE="$(dirname "$0")/dispatch.log"
|
||||||
# Log file path located next to the script.
|
# Log file path located next to the script.
|
||||||
|
# Файл логів розташований поруч зі скриптом.
|
||||||
|
|
||||||
APP=$1
|
APP=$1
|
||||||
# The application command or window class to launch or match.
|
# The application command or window class to launch or match.
|
||||||
|
# Команда для запуску аплікації або клас вікна для пошуку.
|
||||||
|
|
||||||
TARGET_WORKSPACE=$2
|
TARGET_WORKSPACE=$2
|
||||||
# The target workspace number where the window should be moved.
|
# The target workspace number where the window should be moved.
|
||||||
|
# Цільовий номер воркспейсу, куди потрібно перемістити вікно.
|
||||||
|
|
||||||
# Check if required arguments are provided.
|
# Check if required arguments are provided.
|
||||||
|
# Перевірка наявності необхідних параметрів.
|
||||||
if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then
|
if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then
|
||||||
echo "Usage: $0 <application_command> <target_workspace_number>" >> "$LOGFILE" 2>&1
|
echo "Usage: $0 <application_command> <target_workspace_number>" >> "$LOGFILE" 2>&1
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -38,18 +52,24 @@ fi
|
||||||
|
|
||||||
echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
|
echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
|
||||||
# Starting the dispatch process and logging the event.
|
# Starting the dispatch process and logging the event.
|
||||||
|
# Початок процесу диспатчу, запис у лог.
|
||||||
|
|
||||||
# Avoid early workspace focus issues by switching workspace first.
|
# Avoid early workspace focus issues by switching workspace first.
|
||||||
|
# Уникаємо проблем з раннім фокусом, спочатку переключаємо воркспейс.
|
||||||
hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1
|
hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1
|
||||||
sleep 0.4
|
sleep 0.4
|
||||||
|
|
||||||
# Launch the application in the background and disown it.
|
# Launch the application in the background and disown it.
|
||||||
$APP &
|
# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу.
|
||||||
disown
|
$APP & disown
|
||||||
pid=$!
|
pid=$!
|
||||||
|
|
||||||
echo "Launched '$APP' with PID $pid" >> "$LOGFILE"
|
echo "Launched '$APP' with PID $pid" >> "$LOGFILE"
|
||||||
# Log the launched process ID.
|
# Log the launched process ID.
|
||||||
|
# Лог процесу запуску з PID.
|
||||||
|
|
||||||
# Wait for the application window to appear (matching window class).
|
# Wait for the application window to appear (matching window class).
|
||||||
|
# Чекаємо появи вікна аплікації (за класом вікна).
|
||||||
for i in {1..30}; do
|
for i in {1..30}; do
|
||||||
win=$(hyprctl clients -j | jq -r --arg APP "$APP" '
|
win=$(hyprctl clients -j | jq -r --arg APP "$APP" '
|
||||||
.[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE")
|
.[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE")
|
||||||
|
|
@ -57,6 +77,7 @@ for i in {1..30}; do
|
||||||
if [[ -n "$win" ]]; then
|
if [[ -n "$win" ]]; then
|
||||||
echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE"
|
echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE"
|
||||||
# Move the window to the target workspace.
|
# Move the window to the target workspace.
|
||||||
|
# Переміщаємо вікно на цільовий воркспейс.
|
||||||
hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1
|
hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -65,4 +86,5 @@ done
|
||||||
|
|
||||||
echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
|
echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE"
|
||||||
# Log error if window was not found or dispatched correctly.
|
# Log error if window was not found or dispatched correctly.
|
||||||
|
# Запис помилки, якщо вікно не знайдено або неправильно диспатчено.
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes
|
# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes
|
||||||
|
|
||||||
# This script will randomly go through the files of a directory, setting it
|
# This script will randomly go through the files of a directory, setting it
|
||||||
|
|
@ -15,11 +10,6 @@
|
||||||
wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh
|
wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||||
if command -v awww >/dev/null 2>&1; then
|
|
||||||
WWW="awww"
|
|
||||||
else
|
|
||||||
WWW="swww"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
||||||
echo "Usage:
|
echo "Usage:
|
||||||
|
|
@ -27,7 +17,7 @@ if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Edit below to control the images transition (swww/awww)
|
# Edit below to control the images transition
|
||||||
export SWWW_TRANSITION_FPS=60
|
export SWWW_TRANSITION_FPS=60
|
||||||
export SWWW_TRANSITION_TYPE=simple
|
export SWWW_TRANSITION_TYPE=simple
|
||||||
|
|
||||||
|
|
@ -41,7 +31,7 @@ while true; do
|
||||||
done \
|
done \
|
||||||
| sort -n | cut -d':' -f2- \
|
| sort -n | cut -d':' -f2- \
|
||||||
| while read -r img; do
|
| while read -r img; do
|
||||||
$WWW img -o $focused_monitor "$img"
|
swww img -o $focused_monitor "$img"
|
||||||
# Regenerate colors from the exact image path to avoid cache races
|
# Regenerate colors from the exact image path to avoid cache races
|
||||||
$HOME/.config/hypr/scripts/WallustSwww.sh "$img"
|
$HOME/.config/hypr/scripts/WallustSwww.sh "$img"
|
||||||
# Refresh UI components that depend on wallust output
|
# Refresh UI components that depend on wallust output
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Wallpaper Effects using ImageMagick (SUPER SHIFT W)
|
# Wallpaper Effects using ImageMagick (SUPER SHIFT W)
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
|
|
@ -14,26 +9,17 @@ wallpaper_output="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified"
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
||||||
rofi_theme="$HOME/.config/rofi/config-wallpaper-effect.rasi"
|
rofi_theme="$HOME/.config/rofi/config-wallpaper-effect.rasi"
|
||||||
if command -v awww >/dev/null 2>&1; then
|
|
||||||
WWW="awww"
|
|
||||||
else
|
|
||||||
WWW="swww"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Directory for swaync
|
# Directory for swaync
|
||||||
iDIR="$HOME/.config/swaync/images"
|
iDIR="$HOME/.config/swaync/images"
|
||||||
iDIRi="$HOME/.config/swaync/icons"
|
iDIRi="$HOME/.config/swaync/icons"
|
||||||
|
|
||||||
# swww/awww transition config
|
# swww transition config
|
||||||
FPS=60
|
FPS=60
|
||||||
TYPE="wipe"
|
TYPE="wipe"
|
||||||
DURATION=2
|
DURATION=2
|
||||||
BEZIER=".43,1.19,1,.4"
|
BEZIER=".43,1.19,1,.4"
|
||||||
if [[ "$WWW" == "swww" || "$WWW" == "awww" ]]; then
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||||
else
|
|
||||||
SWWW_PARAMS=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Define ImageMagick effects
|
# Define ImageMagick effects
|
||||||
declare -A effects=(
|
declare -A effects=(
|
||||||
|
|
@ -59,7 +45,7 @@ declare -A effects=(
|
||||||
|
|
||||||
# Function to apply no effects
|
# Function to apply no effects
|
||||||
no-effects() {
|
no-effects() {
|
||||||
$WWW img -o "$focused_monitor" "$wallpaper_current" $SWWW_PARAMS &&
|
swww img -o "$focused_monitor" "$wallpaper_current" $SWWW_PARAMS &&
|
||||||
wait $!
|
wait $!
|
||||||
wallust run "$wallpaper_current" -s &&
|
wallust run "$wallpaper_current" -s &&
|
||||||
wait $!
|
wait $!
|
||||||
|
|
@ -97,7 +83,7 @@ main() {
|
||||||
done
|
done
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
$WWW img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
swww img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
||||||
|
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
|
|
@ -120,3 +106,43 @@ fi
|
||||||
main
|
main
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
|
if [[ -n "$choice" ]]; then
|
||||||
|
# Resolve SDDM themes directory (standard and NixOS path)
|
||||||
|
sddm_themes_dir=""
|
||||||
|
if [ -d "/usr/share/sddm/themes" ]; then
|
||||||
|
sddm_themes_dir="/usr/share/sddm/themes"
|
||||||
|
elif [ -d "/run/current-system/sw/share/sddm/themes" ]; then
|
||||||
|
sddm_themes_dir="/run/current-system/sw/share/sddm/themes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$sddm_themes_dir" ]; then
|
||||||
|
sddm_simple="$sddm_themes_dir/simple_sddm_2"
|
||||||
|
|
||||||
|
# Only prompt if theme exists and its Backgrounds directory is writable
|
||||||
|
if [ -d "$sddm_simple" ] && [ -w "$sddm_simple/Backgrounds" ]; then
|
||||||
|
# Check if yad is running to avoid multiple yad notification
|
||||||
|
if pidof yad > /dev/null; then
|
||||||
|
killall yad
|
||||||
|
fi
|
||||||
|
|
||||||
|
if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \
|
||||||
|
--text-align=left \
|
||||||
|
--title="SDDM Background" \
|
||||||
|
--timeout=5 \
|
||||||
|
--timeout-indicator=right \
|
||||||
|
--button="yad-yes:0" \
|
||||||
|
--button="yad-no:1" \
|
||||||
|
; then
|
||||||
|
|
||||||
|
# Check if terminal exists
|
||||||
|
if ! command -v "$terminal" &>/dev/null; then
|
||||||
|
notify-send -i "$iDIR/ja.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$SCRIPTSDIR/sddm_wallpaper.sh" --effects
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,42 +1,28 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Script for Random Wallpaper ( CTRL ALT W)
|
# Script for Random Wallpaper ( CTRL ALT W)
|
||||||
|
|
||||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
wallDIR="$HOME/Pictures/wallpapers"
|
||||||
wallDIR="$PICTURES_DIR/wallpapers"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
# shellcheck source=/dev/null
|
|
||||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
||||||
|
|
||||||
PICS=($(find -L "${wallDIR}" -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.pnm" -o -name "*.tga" -o -name "*.tiff" -o -name "*.webp" -o -name "*.bmp" -o -name "*.farbfeld" -o -name "*.gif" \)))
|
PICS=($(find -L ${wallDIR} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.pnm" -o -name "*.tga" -o -name "*.tiff" -o -name "*.webp" -o -name "*.bmp" -o -name "*.farbfeld" -o -name "*.gif" \)))
|
||||||
RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]}
|
RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]}
|
||||||
|
|
||||||
|
|
||||||
# Transition config (swww/awww)
|
# Transition config
|
||||||
FPS=30
|
FPS=30
|
||||||
TYPE="random"
|
TYPE="random"
|
||||||
DURATION=1
|
DURATION=1
|
||||||
BEZIER=".43,1.19,1,.4"
|
BEZIER=".43,1.19,1,.4"
|
||||||
if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||||
else
|
|
||||||
SWWW_PARAMS=""
|
|
||||||
fi
|
|
||||||
if ! "$WWW_CMD" query >/dev/null 2>&1; then
|
|
||||||
"$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}" &
|
|
||||||
fi
|
|
||||||
|
|
||||||
"$WWW_CMD" img -o "$focused_monitor" "$RANDOMPICS" $SWWW_PARAMS
|
|
||||||
|
swww query || swww-daemon --format xrgb && swww img -o $focused_monitor ${RANDOMPICS} $SWWW_PARAMS
|
||||||
|
|
||||||
wait $!
|
wait $!
|
||||||
"$SCRIPTSDIR/WallustSwww.sh" "$RANDOMPICS" &&
|
"$SCRIPTSDIR/WallustSwww.sh" &&
|
||||||
|
|
||||||
wait $!
|
wait $!
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,23 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# This script for selecting wallpapers (SUPER W)
|
# This script for selecting wallpapers (SUPER W)
|
||||||
|
|
||||||
# WALLPAPERS PATH
|
# WALLPAPERS PATH
|
||||||
terminal=kitty
|
terminal=kitty
|
||||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
wallDIR="$HOME/Pictures/wallpapers"
|
||||||
wallDIR="$PICTURES_DIR/wallpapers"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
# shellcheck source=/dev/null
|
|
||||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
|
||||||
wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
||||||
wallpaper_link="$HOME/.config/rofi/.current_wallpaper"
|
|
||||||
|
|
||||||
# Directory for swaync
|
# Directory for swaync
|
||||||
iDIR="$HOME/.config/swaync/images"
|
iDIR="$HOME/.config/swaync/images"
|
||||||
iDIRi="$HOME/.config/swaync/icons"
|
iDIRi="$HOME/.config/swaync/icons"
|
||||||
|
|
||||||
# swww/awww transition config
|
# swww transition config
|
||||||
FPS=60
|
FPS=60
|
||||||
TYPE="any"
|
TYPE="any"
|
||||||
DURATION=2
|
DURATION=2
|
||||||
BEZIER=".43,1.19,1,.4"
|
BEZIER=".43,1.19,1,.4"
|
||||||
if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||||
else
|
|
||||||
SWWW_PARAMS=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Check if package bc exists
|
# Check if package bc exists
|
||||||
if ! command -v bc &>/dev/null; then
|
if ! command -v bc &>/dev/null; then
|
||||||
|
|
@ -43,9 +29,6 @@ fi
|
||||||
rofi_theme="$HOME/.config/rofi/config-wallpaper.rasi"
|
rofi_theme="$HOME/.config/rofi/config-wallpaper.rasi"
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
||||||
|
|
||||||
per_monitor_wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current_${focused_monitor}"
|
|
||||||
per_monitor_wallpaper_link="$HOME/.config/rofi/.current_wallpaper_${focused_monitor}"
|
|
||||||
|
|
||||||
# Ensure focused_monitor is detected
|
# Ensure focused_monitor is detected
|
||||||
if [[ -z "$focused_monitor" ]]; then
|
if [[ -z "$focused_monitor" ]]; then
|
||||||
notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Could not detect focused monitor"
|
notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Could not detect focused monitor"
|
||||||
|
|
@ -62,7 +45,7 @@ rofi_override="element-icon{size:${adjusted_icon_size}%;}"
|
||||||
|
|
||||||
# Kill existing wallpaper daemons for video
|
# Kill existing wallpaper daemons for video
|
||||||
kill_wallpaper_for_video() {
|
kill_wallpaper_for_video() {
|
||||||
"$WWW_CMD" kill 2>/dev/null
|
swww kill 2>/dev/null
|
||||||
pkill mpvpaper 2>/dev/null
|
pkill mpvpaper 2>/dev/null
|
||||||
pkill swaybg 2>/dev/null
|
pkill swaybg 2>/dev/null
|
||||||
pkill hyprpaper 2>/dev/null
|
pkill hyprpaper 2>/dev/null
|
||||||
|
|
@ -82,19 +65,7 @@ mapfile -d '' PICS < <(find -L "${wallDIR}" -type f \( \
|
||||||
-iname "*.mp4" -o -iname "*.mkv" -o -iname "*.mov" -o -iname "*.webm" \) -print0)
|
-iname "*.mp4" -o -iname "*.mkv" -o -iname "*.mov" -o -iname "*.webm" \) -print0)
|
||||||
|
|
||||||
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
|
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
|
||||||
RANDOM_PIC_NAME="$(basename "$RANDOM_PIC")"
|
RANDOM_PIC_NAME=". random"
|
||||||
|
|
||||||
CURRENT_MON_PIC_PATH=$("$WWW_CMD" query 2>/dev/null | grep "$focused_monitor" | awk '{print $NF}')
|
|
||||||
if [[ -z "$CURRENT_MON_PIC_PATH" ]]; then
|
|
||||||
if [[ -L "$wallpaper_link" ]]; then
|
|
||||||
CURRENT_MON_PIC_PATH="$(readlink -f "$wallpaper_link")"
|
|
||||||
elif [[ -f "$wallpaper_link" ]]; then
|
|
||||||
CURRENT_MON_PIC_PATH="$wallpaper_link"
|
|
||||||
elif [[ -f "$wallpaper_current" ]]; then
|
|
||||||
CURRENT_MON_PIC_PATH="$wallpaper_current"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
CURRENT_MON_PIC_NAME=$(basename "$CURRENT_MON_PIC_PATH")
|
|
||||||
|
|
||||||
# Rofi command
|
# Rofi command
|
||||||
rofi_command="rofi -i -show -dmenu -config $rofi_theme -theme-str $rofi_override"
|
rofi_command="rofi -i -show -dmenu -config $rofi_theme -theme-str $rofi_override"
|
||||||
|
|
@ -103,10 +74,7 @@ rofi_command="rofi -i -show -dmenu -config $rofi_theme -theme-str $rofi_override
|
||||||
menu() {
|
menu() {
|
||||||
IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}"))
|
IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}"))
|
||||||
|
|
||||||
printf "%s\x00icon\x1f%s\n" "Random: $RANDOM_PIC_NAME" "$RANDOM_PIC"
|
printf "%s\x00icon\x1f%s\n" "$RANDOM_PIC_NAME" "$RANDOM_PIC"
|
||||||
if [[ -n "$CURRENT_MON_PIC_PATH" ]]; then
|
|
||||||
printf "%s\x00icon\x1f%s\n" "Current: $CURRENT_MON_PIC_NAME" "$CURRENT_MON_PIC_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for pic_path in "${sorted_options[@]}"; do
|
for pic_path in "${sorted_options[@]}"; do
|
||||||
pic_name=$(basename "$pic_path")
|
pic_name=$(basename "$pic_path")
|
||||||
|
|
@ -130,6 +98,49 @@ menu() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Offer SDDM Simple Wallpaper Option (only for non-video wallpapers)
|
||||||
|
set_sddm_wallpaper() {
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Resolve SDDM themes directory (standard and NixOS path)
|
||||||
|
local sddm_themes_dir=""
|
||||||
|
if [ -d "/usr/share/sddm/themes" ]; then
|
||||||
|
sddm_themes_dir="/usr/share/sddm/themes"
|
||||||
|
elif [ -d "/run/current-system/sw/share/sddm/themes" ]; then
|
||||||
|
sddm_themes_dir="/run/current-system/sw/share/sddm/themes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$sddm_themes_dir" ] && return 0
|
||||||
|
|
||||||
|
local sddm_simple="$sddm_themes_dir/simple_sddm_2"
|
||||||
|
|
||||||
|
# Only prompt if theme exists and its Backgrounds directory is writable
|
||||||
|
if [ -d "$sddm_simple" ] && [ -w "$sddm_simple/Backgrounds" ]; then
|
||||||
|
|
||||||
|
# Check if yad is running to avoid multiple notifications
|
||||||
|
if pidof yad >/dev/null; then
|
||||||
|
killall yad
|
||||||
|
fi
|
||||||
|
|
||||||
|
if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \
|
||||||
|
--text-align=left \
|
||||||
|
--title="SDDM Background" \
|
||||||
|
--timeout=5 \
|
||||||
|
--timeout-indicator=right \
|
||||||
|
--button="yes:0" \
|
||||||
|
--button="no:1"; then
|
||||||
|
|
||||||
|
# Check if terminal exists
|
||||||
|
if ! command -v "$terminal" &>/dev/null; then
|
||||||
|
notify-send -i "$iDIR/error.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$SCRIPTSDIR/sddm_wallpaper.sh" --normal
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
modify_startup_config() {
|
modify_startup_config() {
|
||||||
local selected_file="$1"
|
local selected_file="$1"
|
||||||
|
|
@ -138,7 +149,6 @@ modify_startup_config() {
|
||||||
# Check if it's a live wallpaper (video)
|
# Check if it's a live wallpaper (video)
|
||||||
if [[ "$selected_file" =~ \.(mp4|mkv|mov|webm)$ ]]; then
|
if [[ "$selected_file" =~ \.(mp4|mkv|mov|webm)$ ]]; then
|
||||||
# For video wallpapers:
|
# For video wallpapers:
|
||||||
sed -i '/^\s*exec-once\s*=\s*\$scriptsDir\/WallpaperDaemon\.sh\s*$/s/^/\#/' "$startup_config"
|
|
||||||
sed -i '/^\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^/\#/' "$startup_config"
|
sed -i '/^\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^/\#/' "$startup_config"
|
||||||
sed -i '/^\s*#\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^#\s*//;' "$startup_config"
|
sed -i '/^\s*#\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^#\s*//;' "$startup_config"
|
||||||
|
|
||||||
|
|
@ -149,7 +159,6 @@ modify_startup_config() {
|
||||||
echo "Configured for live wallpaper (video)."
|
echo "Configured for live wallpaper (video)."
|
||||||
else
|
else
|
||||||
# For image wallpapers:
|
# For image wallpapers:
|
||||||
sed -i '/^\s*#\s*exec-once\s*=\s*\$scriptsDir\/WallpaperDaemon\.sh\s*$/s/^\s*#\s*//;' "$startup_config"
|
|
||||||
sed -i '/^\s*#\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^\s*#\s*//;' "$startup_config"
|
sed -i '/^\s*#\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^\s*#\s*//;' "$startup_config"
|
||||||
|
|
||||||
sed -i '/^\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^/\#/' "$startup_config"
|
sed -i '/^\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^/\#/' "$startup_config"
|
||||||
|
|
@ -164,25 +173,12 @@ apply_image_wallpaper() {
|
||||||
|
|
||||||
kill_wallpaper_for_image
|
kill_wallpaper_for_image
|
||||||
|
|
||||||
if ! pgrep -x "$WWW_DAEMON" >/dev/null; then
|
if ! pgrep -x "swww-daemon" >/dev/null; then
|
||||||
echo "Starting $WWW_DAEMON..."
|
echo "Starting swww-daemon..."
|
||||||
"$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}" &
|
swww-daemon --format xrgb &
|
||||||
fi
|
fi
|
||||||
# Wait for daemon to be ready before applying
|
|
||||||
for _ in {1..20}; do
|
|
||||||
"$WWW_CMD" query >/dev/null 2>&1 && break
|
|
||||||
sleep 0.1
|
|
||||||
done
|
|
||||||
"$WWW_CMD" img -o "$focused_monitor" "$image_path" $SWWW_PARAMS || {
|
|
||||||
sleep 0.2
|
|
||||||
"$WWW_CMD" img -o "$focused_monitor" "$image_path" $SWWW_PARAMS
|
|
||||||
}
|
|
||||||
"$WWW_CMD" img -o "$focused_monitor" "$image_path" $SWWW_PARAMS
|
|
||||||
|
|
||||||
# Persist per-monitor wallpaper selection
|
swww img -o "$focused_monitor" "$image_path" $SWWW_PARAMS
|
||||||
mkdir -p "$(dirname "$per_monitor_wallpaper_current")" "$(dirname "$per_monitor_wallpaper_link")"
|
|
||||||
ln -sf "$image_path" "$per_monitor_wallpaper_link" || true
|
|
||||||
cp -f "$image_path" "$per_monitor_wallpaper_current" || true
|
|
||||||
|
|
||||||
# Run additional scripts (pass the image path to avoid cache race conditions)
|
# Run additional scripts (pass the image path to avoid cache race conditions)
|
||||||
"$SCRIPTSDIR/WallustSwww.sh" "$image_path"
|
"$SCRIPTSDIR/WallustSwww.sh" "$image_path"
|
||||||
|
|
@ -190,6 +186,7 @@ apply_image_wallpaper() {
|
||||||
"$SCRIPTSDIR/Refresh.sh"
|
"$SCRIPTSDIR/Refresh.sh"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
|
set_sddm_wallpaper
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_video_wallpaper() {
|
apply_video_wallpaper() {
|
||||||
|
|
@ -211,32 +208,21 @@ main() {
|
||||||
choice=$(menu | $rofi_command)
|
choice=$(menu | $rofi_command)
|
||||||
choice=$(echo "$choice" | xargs)
|
choice=$(echo "$choice" | xargs)
|
||||||
RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs)
|
RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs)
|
||||||
raw_choice="$choice"
|
|
||||||
choice="${choice#Random: }"
|
|
||||||
choice="${choice#Current: }"
|
|
||||||
|
|
||||||
if [[ -z "$choice" ]]; then
|
if [[ -z "$choice" ]]; then
|
||||||
echo "No choice selected. Exiting."
|
echo "No choice selected. Exiting."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Resolve selection directly when using Random/Current entries
|
# Handle random selection correctly
|
||||||
if [[ "$raw_choice" == Random:\ * ]]; then
|
|
||||||
selected_file="$RANDOM_PIC"
|
|
||||||
elif [[ "$raw_choice" == Current:\ * && -n "$CURRENT_MON_PIC_PATH" ]]; then
|
|
||||||
selected_file="$CURRENT_MON_PIC_PATH"
|
|
||||||
elif [[ -f "$choice" ]]; then
|
|
||||||
selected_file="$choice"
|
|
||||||
else
|
|
||||||
# Handle random selection by name when needed
|
|
||||||
if [[ "$choice" == "$RANDOM_PIC_NAME" ]]; then
|
if [[ "$choice" == "$RANDOM_PIC_NAME" ]]; then
|
||||||
choice=$(basename "$RANDOM_PIC")
|
choice=$(basename "$RANDOM_PIC")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
choice_basename=$(basename "$choice" | sed 's/\(.*\)\.[^.]*$/\1/')
|
choice_basename=$(basename "$choice" | sed 's/\(.*\)\.[^.]*$/\1/')
|
||||||
|
|
||||||
# Search for the selected file in the wallpapers directory, including subdirectories
|
# Search for the selected file in the wallpapers directory, including subdirectories
|
||||||
selected_file=$(find "$wallDIR" -iname "$choice_basename.*" -print -quit)
|
selected_file=$(find "$wallDIR" -iname "$choice_basename.*" -print -quit)
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z "$selected_file" ]]; then
|
if [[ -z "$selected_file" ]]; then
|
||||||
echo "File not found. Selected choice: $choice"
|
echo "File not found. Selected choice: $choice"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Rewritten to use Open-Meteo APIs (worldwide, no API key) for robust weather data.
|
# Rewritten to use Open-Meteo APIs (worldwide, no API key) for robust weather data.
|
||||||
# Outputs Waybar-compatible JSON and a simple text cache.
|
# Outputs Waybar-compatible JSON and a simple text cache.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1,16 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# weather info from wttr. https://github.com/chubin/wttr.in
|
# weather info from wttr. https://github.com/chubin/wttr.in
|
||||||
# Remember to add city
|
# Remember to add city
|
||||||
# Function to get current city from IP address with fallback
|
|
||||||
|
|
||||||
# Get your current location with your IP adress
|
city=""
|
||||||
get_current_city() {
|
|
||||||
local city
|
|
||||||
|
|
||||||
# First try: ipinfo.io
|
|
||||||
local location_data=$(curl -fsS "https://ipinfo.io/json" 2>/dev/null)
|
# if city is blank, use https://ipapi.co/json to get location from IP
|
||||||
if [ $? -eq 0 ] && [ -n "$location_data" ]; then
|
if [ -z "$city" ]; then
|
||||||
city=$(echo "$location_data" | grep -o '"city"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4)
|
city=$(curl -fsS https://ipapi.co/json | grep city | cut -f4 -d'"')
|
||||||
if [ -n "$city" ]; then
|
|
||||||
echo "$city"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Fallback: ipapi.co
|
|
||||||
city=$(curl -fsS "https://ipapi.co/json" 2>/dev/null | grep -o '"city"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4)
|
|
||||||
if [ -n "$city" ]; then
|
|
||||||
echo "$city"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Last resort: ipwho.is
|
|
||||||
city=$(curl -fsS "https://ipwho.is/" 2>/dev/null | grep -o '"city"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4)
|
|
||||||
if [ -n "$city" ]; then
|
|
||||||
echo "$city"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If all fail
|
|
||||||
echo "Unknown" >&2
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
city=$(get_current_city)
|
|
||||||
|
|
||||||
# If city is empty, that means the IP check failed, which means, we should use manual setting
|
|
||||||
if [ -z "$city" ] || [ "$city" = "Unknown" ]; then
|
|
||||||
# SET YOUR MANUAL CITY HERE
|
|
||||||
city=" " # ← Change this to your preferred city
|
|
||||||
echo "Using manual city: $city" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# URL-encode city for safe use in URLs
|
# URL-encode city for safe use in URLs
|
||||||
encoded_city="$city"
|
encoded_city="$city"
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,11 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Weather entrypoint: prefer Python (Open‑Meteo), fallback to legacy Bash (wttr.in)
|
# Weather entrypoint: prefer Python (Open‑Meteo), fallback to legacy Bash (wttr.in)
|
||||||
|
|
||||||
SCRIPT_DIR="$(dirname "$0")"
|
SCRIPT_DIR="$(dirname "$0")"
|
||||||
PY_SCRIPT="$SCRIPT_DIR/Weather.py"
|
PY_SCRIPT="$SCRIPT_DIR/Weather.py"
|
||||||
BASH_FALLBACK="$SCRIPT_DIR/Weather.sh"
|
BASH_FALLBACK="$SCRIPT_DIR/Weather.sh"
|
||||||
|
|
||||||
# Function to check network connectivity
|
|
||||||
check_network() {
|
|
||||||
# Try multiple methods to check network
|
|
||||||
if ping -c1 -W1 8.8.8.8 >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ping -c1 -W1 1.1.1.1 >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if curl -s --connect-timeout 2 "https://ipinfo.io" >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# If no network, return offline status immediately
|
|
||||||
if ! check_network; then
|
|
||||||
echo '{"text":"", "alt":"Offline", "tooltip":"No network connection"}'
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
run_fallback() {
|
run_fallback() {
|
||||||
if [ -f "$BASH_FALLBACK" ]; then
|
if [ -f "$BASH_FALLBACK" ]; then
|
||||||
# Invoke via bash to avoid requiring +x and ensure consistent shell
|
# Invoke via bash to avoid requiring +x and ensure consistent shell
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Script for Oh my ZSH theme ( CTRL SHIFT O)
|
# Script for Oh my ZSH theme ( CTRL SHIFT O)
|
||||||
|
|
||||||
# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
|
|
||||||
# old animations
|
# old animations
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = no
|
enabled = no
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "End-4"
|
# name "End-4"
|
||||||
# credit https://github.com/end-4/dots-hyprland
|
# credit https://github.com/end-4/dots-hyprland
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Vertical"
|
# name "Vertical"
|
||||||
# credit https://github.com/prasanthrangan/hyprdots
|
# credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Default"
|
# name "Default"
|
||||||
# credit https://github.com/prasanthrangan/hyprdots
|
# credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# # name "Minimal-1"
|
# # name "Minimal-1"
|
||||||
# credit https://github.com/prasanthrangan/hyprdots-
|
# credit https://github.com/prasanthrangan/hyprdots-
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# # name "Minimal-2"
|
# # name "Minimal-2"
|
||||||
# credit https://github.com/prasanthrangan/hyprdots
|
# credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Optimized"
|
# name "Optimized"
|
||||||
# credit https://github.com/prasanthrangan/hyprdots
|
# credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Classic"
|
# name "Classic"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Dynamic"
|
# name "Dynamic"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Fast"
|
# name "Fast"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "High"
|
# name "High"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Moving"
|
# name "Moving"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Standard"
|
# name "Standard"
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
# credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Me-1"
|
# name "Me-1"
|
||||||
# credit https://github.com/mahaveergurjar
|
# credit https://github.com/mahaveergurjar
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
#
|
#
|
||||||
# name "Me-2"
|
# name "Me-2"
|
||||||
# credit https://github.com/mahaveergurjar
|
# credit https://github.com/mahaveergurjar
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# as per Hyprland wiki: hyprland-qt-support provides a QML style for hypr* qt6 apps
|
# as per Hyprland wiki: hyprland-qt-support provides a QML style for hypr* qt6 apps
|
||||||
|
|
||||||
roundess = 2
|
roundess = 2
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,11 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
||||||
|
|
||||||
# environment-variables
|
# environment-variables
|
||||||
# Current Version of KoolDots:
|
# Current Version of JakooLit Dotfiles:
|
||||||
env = DOTS_VERSION,2.3.23
|
env = DOTS_VERSION,2.3.18
|
||||||
|
|
||||||
### Toolkit Backend Variables ###
|
### Toolkit Backend Variables ###
|
||||||
env = GDK_BACKEND,wayland,x11,*
|
env = GDK_BACKEND,wayland,x11,*
|
||||||
|
|
@ -29,8 +24,8 @@ env = XDG_SESSION_TYPE,wayland
|
||||||
### QT Variables ###
|
### QT Variables ###
|
||||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||||
env = QT_STYLE_OVERRIDE,kvantum
|
|
||||||
|
|
||||||
### hyprland-qt-support ###
|
### hyprland-qt-support ###
|
||||||
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
|
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,8 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Default Keybinds
|
# Default Keybinds
|
||||||
# visit https://wiki.hyprland.org/Configuring/Binds/ for more info
|
# visit https://wiki.hyprland.org/Configuring/Binds/ for more info
|
||||||
|
|
||||||
|
# /* ---- ✴️ Variables ✴️ ---- */ #
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
$scriptsDir = $HOME/.config/hypr/scripts
|
||||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
||||||
|
|
@ -15,7 +11,7 @@ $UserScripts = $HOME/.config/hypr/UserScripts
|
||||||
# settings for User defaults apps - set your default terminal and file manager on this file
|
# settings for User defaults apps - set your default terminal and file manager on this file
|
||||||
source= $UserConfigs/01-UserDefaults.conf
|
source= $UserConfigs/01-UserDefaults.conf
|
||||||
|
|
||||||
#### STANDARD ####
|
#### STANDAR ####
|
||||||
# Common shortcuts
|
# Common shortcuts
|
||||||
#bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu
|
#bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu
|
||||||
bindd = $mainMod, D, app launcher, exec, pkill rofi || true && rofi -show drun -modi drun,filebrowser,run,window
|
bindd = $mainMod, D, app launcher, exec, pkill rofi || true && rofi -show drun -modi drun,filebrowser,run,window
|
||||||
|
|
@ -25,10 +21,8 @@ bindd = $mainMod, A, desktop overview, exec, $scriptsDir/OverviewToggle.sh # tog
|
||||||
#bindd = $mainMod, A, Quickshell overview, global, quickshell:overviewToggle # desktop overview (if installed)
|
#bindd = $mainMod, A, Quickshell overview, global, quickshell:overviewToggle # desktop overview (if installed)
|
||||||
bindd = $mainMod, Return, Open terminal, exec, $term
|
bindd = $mainMod, Return, Open terminal, exec, $term
|
||||||
bindd = $mainMod, E, file manager, exec, $files
|
bindd = $mainMod, E, file manager, exec, $files
|
||||||
bindd = $mainMod, C, SSH session manager, exec, $scriptsDir/rofi-ssh-menu.sh
|
|
||||||
|
|
||||||
# FEATURES / EXTRAS
|
# FEATURES / EXTRAS
|
||||||
bindd = $mainMod, T, Global theme switcher using Wallust, exec, $scriptsDir/ThemeChanger.sh #Global theme switcher
|
|
||||||
bindd = $mainMod, H, help / cheat sheet, exec, $scriptsDir/KeyHints.sh
|
bindd = $mainMod, H, help / cheat sheet, exec, $scriptsDir/KeyHints.sh
|
||||||
bindd = $mainMod ALT, R, refresh bar and menus, exec, $scriptsDir/Refresh.sh
|
bindd = $mainMod ALT, R, refresh bar and menus, exec, $scriptsDir/Refresh.sh
|
||||||
bindd = $mainMod ALT, E, emoji menu, exec, $scriptsDir/RofiEmoji.sh
|
bindd = $mainMod ALT, E, emoji menu, exec, $scriptsDir/RofiEmoji.sh
|
||||||
|
|
@ -36,19 +30,15 @@ bindd = $mainMod, S, web search, exec, $scriptsDir/RofiSearch.sh
|
||||||
bindd = $mainMod CTRL, S, window switcher, exec, rofi -show window
|
bindd = $mainMod CTRL, S, window switcher, exec, rofi -show window
|
||||||
bindd = $mainMod ALT, O, toggle blur, exec, $scriptsDir/ChangeBlur.sh
|
bindd = $mainMod ALT, O, toggle blur, exec, $scriptsDir/ChangeBlur.sh
|
||||||
bindd = $mainMod SHIFT, G, toggle game mode, exec, $scriptsDir/GameMode.sh
|
bindd = $mainMod SHIFT, G, toggle game mode, exec, $scriptsDir/GameMode.sh
|
||||||
bindd = $mainMod ALT, L, toggle layouts, exec, $scriptsDir/ChangeLayout.sh toggle
|
bindd = $mainMod ALT, L, toggle master/dwindle layout, exec, $scriptsDir/ChangeLayout.sh
|
||||||
bindd = $mainMod ALT, V, clipboard manager, exec, $scriptsDir/ClipManager.sh
|
bindd = $mainMod ALT, V, clipboard manager, exec, $scriptsDir/ClipManager.sh
|
||||||
bindd = $mainMod CTRL, R, rofi theme selector, exec, $scriptsDir/RofiThemeSelector.sh
|
bindd = $mainMod CTRL, R, rofi theme selector, exec, $scriptsDir/RofiThemeSelector.sh
|
||||||
bindd = $mainMod CTRL SHIFT, R, rofi theme selector (modified), exec, pkill rofi || true && $scriptsDir/RofiThemeSelector-modified.sh
|
bindd = $mainMod CTRL SHIFT, R, rofi theme selector (modified), exec, pkill rofi || true && $scriptsDir/RofiThemeSelector-modified.sh
|
||||||
bindd = $mainMod CTRL, K, Kitty theme selector, exec, $scriptsDir/Kitty_themes.sh
|
|
||||||
bindd = $mainMod SHIFT, B, Set static Rainbow Border, exec, $UserScripts/RainbowBorders-low-cpu.sh --run-once
|
|
||||||
bindd = $mainMod SHIFT, H, Toggle Mute/Unmute for Active-Window, exec, $scriptsDir/Toggle-Active-Window-Audio.sh
|
|
||||||
bindd = ALT SHIFT, S, Hyprshot Screen Capture, exec, $scriptsDir/hyprshot.sh -m region -o $HOME/Pictures/Screenshots
|
|
||||||
|
|
||||||
bindd = $mainMod SHIFT, F, fullscreen, fullscreen
|
bindd = $mainMod SHIFT, F, fullscreen, fullscreen
|
||||||
bindd = $mainMod CTRL, F, maximize window, fullscreen, 1
|
bindd = $mainMod CTRL, F, maximize window, fullscreen, 1
|
||||||
bindd = $mainMod, SPACE, Float current window, togglefloating,
|
bindd = $mainMod, SPACE, Float current window, togglefloating,
|
||||||
bindd = $mainMod ALT, SPACE, Float all windows, exec, $scriptsDir/Float-all-Windows.sh
|
bindd = $mainMod ALT, SPACE, Float all windows, exec, hyprctl dispatch workspaceopt allfloat
|
||||||
bindd = $mainMod SHIFT, Return, DropDown terminal, exec, $scriptsDir/Dropterminal.sh $term
|
bindd = $mainMod SHIFT, Return, DropDown terminal, exec, $scriptsDir/Dropterminal.sh $term
|
||||||
|
|
||||||
# Desktop zooming or magnifier
|
# Desktop zooming or magnifier
|
||||||
|
|
@ -68,7 +58,7 @@ bindd = $mainMod SHIFT, M, online music, exec, $UserScripts/RofiBeats.sh
|
||||||
bindd = $mainMod, W, select wallpaper, exec, $UserScripts/WallpaperSelect.sh
|
bindd = $mainMod, W, select wallpaper, exec, $UserScripts/WallpaperSelect.sh
|
||||||
bindd = $mainMod SHIFT, W, wallpaper effects, exec, $UserScripts/WallpaperEffects.sh
|
bindd = $mainMod SHIFT, W, wallpaper effects, exec, $UserScripts/WallpaperEffects.sh
|
||||||
bindd = CTRL ALT, W, random wallpaper, exec, $UserScripts/WallpaperRandom.sh
|
bindd = CTRL ALT, W, random wallpaper, exec, $UserScripts/WallpaperRandom.sh
|
||||||
bindd = $mainMod CTRL, O, toggle active window opacity, setprop, active opaque toggle
|
bindd = $mainMod CTRL, O, toggle active window opacity, exec, hyprctl setprop active opaque toggle
|
||||||
bindd = $mainMod SHIFT, K, search keybinds, exec, $scriptsDir/KeyBinds.sh
|
bindd = $mainMod SHIFT, K, search keybinds, exec, $scriptsDir/KeyBinds.sh
|
||||||
bindd = $mainMod SHIFT, A, animations menu, exec, $scriptsDir/Animations.sh
|
bindd = $mainMod SHIFT, A, animations menu, exec, $scriptsDir/Animations.sh
|
||||||
bindd = $mainMod SHIFT, O, change oh-my-zsh theme, exec, $UserScripts/ZshChangeTheme.sh
|
bindd = $mainMod SHIFT, O, change oh-my-zsh theme, exec, $UserScripts/ZshChangeTheme.sh
|
||||||
|
|
@ -95,38 +85,19 @@ bindd = $mainMod SHIFT, E, Quick settings menu, exec, $scriptsDir/Kool_Quick_Set
|
||||||
# Master Layout
|
# Master Layout
|
||||||
bindd = $mainMod CTRL, D, remove master, layoutmsg, removemaster
|
bindd = $mainMod CTRL, D, remove master, layoutmsg, removemaster
|
||||||
bindd = $mainMod, I, add master, layoutmsg, addmaster
|
bindd = $mainMod, I, add master, layoutmsg, addmaster
|
||||||
# j/k cycle windows globally
|
# NOTE: J/K bindings are set dynamically by scripts/KeybindsLayoutInit.sh and scripts/ChangeLayout.sh
|
||||||
bindd = $mainMod, j, cycle next, layoutmsg, cyclenext
|
# (we intentionally do not bind them statically here to avoid conflicts across layouts)
|
||||||
bindd = $mainMod, k, cycle previous, layoutmsg, cycleprev
|
# bindd = $mainMod, J, cycle next, layoutmsg, cyclenext
|
||||||
|
# bindd = $mainMod, K, cycle previous, layoutmsg, cycleprev
|
||||||
bindd = $mainMod CTRL, Return, swap with master, layoutmsg, swapwithmaster
|
bindd = $mainMod CTRL, Return, swap with master, layoutmsg, swapwithmaster
|
||||||
|
|
||||||
# Dwindle Layout
|
# Dwindle Layout
|
||||||
bindd = $mainMod SHIFT, I, toggle split (dwindle), layoutmsg, togglesplit
|
bindd = $mainMod SHIFT, I, toggle split (dwindle), togglesplit
|
||||||
bindd = $mainMod, P, toggle pseudo (dwindle), pseudo,
|
bindd = $mainMod, P, toggle pseudo (dwindle), pseudo,
|
||||||
|
|
||||||
# Works on either layout (Master or Dwindle)
|
# Works on either layout (Master or Dwindle)
|
||||||
bindd = $mainMod, M, set split ratio 0.3, exec, hyprctl dispatch splitratio 0.3
|
bindd = $mainMod, M, set split ratio 0.3, exec, hyprctl dispatch splitratio 0.3
|
||||||
# layout aware keybinds
|
|
||||||
exec-once = $scriptsDir/ChangeLayout.sh init
|
|
||||||
|
|
||||||
# Direct layout binds
|
|
||||||
bindd = $mainMod ALT, 1, layout dwindle, exec, $scriptsDir/ChangeLayout.sh dwindle
|
|
||||||
bindd = $mainMod ALT, 2, layout master, exec, $scriptsDir/ChangeLayout.sh master
|
|
||||||
bindd = $mainMod ALT, 3, layout scrolling, exec, $scriptsDir/ChangeLayout.sh scrolling
|
|
||||||
bindd = $mainMod ALT, 4, layout monocle, exec, $scriptsDir/ChangeLayout.sh monocle
|
|
||||||
|
|
||||||
# Scrolling Layout
|
|
||||||
bindd = $mainMod SHIFT, period, move to right column, layoutmsg, move +col
|
|
||||||
bindd = $mainMod SHIFT, comma, move to left column, layoutmsg, move -col
|
|
||||||
bindd = $mainMod ALT, comma, swap columns left, layoutmsg, swapcol l
|
|
||||||
bindd = $mainMod ALT, period, swap columns right, layoutmsg, swapcol r
|
|
||||||
|
|
||||||
# Set layout to Horizontal (Standard "Tape" style)
|
|
||||||
bindd = $mainMod ALT, H, Horizonal scroll right,exec, hyprctl keyword scrolling:direction right
|
|
||||||
# Set layout to Vertical (Stacked "Column" style)
|
|
||||||
bindd = $mainMod ALT, V, Vertical Scroll down,exec, hyprctl keyword scrolling:direction down
|
|
||||||
# Create a toggle bind (e.g., Mod + Shift + S)
|
|
||||||
bindd = $mainMod ALT, S, toggle scrolling V/H, exec, bash -c '[[ $(hyprctl getoption scrolling:direction -j | jq -r ".str") == "right" ]] && hyprctl keyword scrolling:direction down || hyprctl keyword scrolling:direction right'
|
|
||||||
|
|
||||||
# Cycle windows; if floating bring to top
|
# Cycle windows; if floating bring to top
|
||||||
bindd = ALT, tab, cycle next window, cyclenext
|
bindd = ALT, tab, cycle next window, cyclenext
|
||||||
|
|
@ -135,8 +106,6 @@ bindd = ALT, tab, bring active to top, bringactivetotop
|
||||||
# Special Keys / Hot Keys
|
# Special Keys / Hot Keys
|
||||||
bindeld = , xf86audioraisevolume, volume up, exec, $scriptsDir/Volume.sh --inc
|
bindeld = , xf86audioraisevolume, volume up, exec, $scriptsDir/Volume.sh --inc
|
||||||
bindeld = , xf86audiolowervolume, volume down, exec, $scriptsDir/Volume.sh --dec
|
bindeld = , xf86audiolowervolume, volume down, exec, $scriptsDir/Volume.sh --dec
|
||||||
bindeld = ALT, xf86audioraisevolume, volume up precise, exec, $scriptsDir/Volume.sh --inc-precise
|
|
||||||
bindeld = ALT, xf86audiolowervolume, volume down precise, exec, $scriptsDir/Volume.sh --dec-precise
|
|
||||||
bindld = , xf86AudioMicMute, toggle mic mute, exec, $scriptsDir/Volume.sh --toggle-mic
|
bindld = , xf86AudioMicMute, toggle mic mute, exec, $scriptsDir/Volume.sh --toggle-mic
|
||||||
bindld = , xf86audiomute, toggle mute, exec, $scriptsDir/Volume.sh --toggle
|
bindld = , xf86audiomute, toggle mute, exec, $scriptsDir/Volume.sh --toggle
|
||||||
bindld = , xf86Sleep, sleep, exec, systemctl suspend
|
bindld = , xf86Sleep, sleep, exec, systemctl suspend
|
||||||
|
|
@ -192,7 +161,7 @@ bindd = $mainMod CTRL, L, Move Right into group, moveintogroup, r # Move active
|
||||||
bindd = $mainMod CTRL, H, Move active out of group, moveoutofgroup # Move active window out of group
|
bindd = $mainMod CTRL, H, Move active out of group, moveoutofgroup # Move active window out of group
|
||||||
|
|
||||||
# Try to dynamically move in grouped window and when ungrouped
|
# Try to dynamically move in grouped window and when ungrouped
|
||||||
# Not working for me DW 11/26/25 PR: https://github.com/LinuxBeginnings/Hyprland-Dots/pull/872
|
# Not working for me DW 11/26/25 PR: https://github.com/JaKooLit/Hyprland-Dots/pull/872
|
||||||
#bindd = $mainMod, right, focus right, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[-1] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus r; else hyprctl dispatch changegroupactive f; fi'
|
#bindd = $mainMod, right, focus right, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[-1] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus r; else hyprctl dispatch changegroupactive f; fi'
|
||||||
#bindd = $mainMod, left, focus left, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[0] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus l; else hyprctl dispatch changegroupactive b; fi'
|
#bindd = $mainMod, left, focus left, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[0] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus l; else hyprctl dispatch changegroupactive b; fi'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
|
||||||
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,51 +1,60 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Commands and Apps to be executed at launch (vendor defaults)
|
# Commands and Apps to be executed at launch (vendor defaults)
|
||||||
|
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
$scriptsDir = $HOME/.config/hypr/scripts
|
||||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
$UserScripts = $HOME/.config/hypr/UserScripts
|
||||||
|
|
||||||
|
$wallDIR=$HOME/Pictures/wallpapers
|
||||||
$lock = $scriptsDir/LockScreen.sh
|
$lock = $scriptsDir/LockScreen.sh
|
||||||
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
|
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
|
||||||
$livewallpaper=""
|
$livewallpaper=""
|
||||||
$wallDIR = $HOME/Pictures/wallpapers # change path manually here if needed
|
|
||||||
|
|
||||||
### wallpaper stuff ###
|
### wallpaper stuff ###
|
||||||
exec-once = $scriptsDir/WallpaperDaemon.sh
|
exec-once = swww-daemon --format xrgb
|
||||||
#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper
|
#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper
|
||||||
|
|
||||||
# wallpaper random
|
# wallpaper random
|
||||||
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
|
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
|
||||||
|
|
||||||
### Startup ###
|
### Startup ###
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh "kitty --class kitty-dropterm" &
|
exec-once = $scriptsDir/KeybindsLayoutInit.sh
|
||||||
|
|
||||||
|
# Drop Down terminal
|
||||||
|
# See Bug#810 https://github.com/JaKooLit/Hyprland-Dots/issues/810#issuecomment-3351947644
|
||||||
|
exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh kitty &
|
||||||
|
|
||||||
|
|
||||||
|
# Polkit (Polkit Gnome / KDE)
|
||||||
exec-once = $scriptsDir/Polkit.sh
|
exec-once = $scriptsDir/Polkit.sh
|
||||||
|
|
||||||
|
# starup apps
|
||||||
exec-once = nm-applet --indicator
|
exec-once = nm-applet --indicator
|
||||||
exec-once = nm-tray # For ubuntu
|
exec-once = nm-tray # For ubuntu
|
||||||
exec-once = swaync
|
exec-once = swaync
|
||||||
#exec-once = ags
|
#exec-once = ags
|
||||||
#exec-once = blueman-applet
|
#exec-once = blueman-applet
|
||||||
#exec-once = rog-control-center
|
#exec-once = rog-control-center
|
||||||
exec-once = $scriptsDir/PortalHyprlandUbuntu.sh
|
|
||||||
exec-once = waybar
|
exec-once = waybar
|
||||||
exec-once = qs -c overview # Quickshell Overview
|
exec-once = qs -c overview # Quickshell Overview
|
||||||
exec-once = hypridle
|
|
||||||
exec-once = $scriptsDir/Hyprsunset.sh init
|
|
||||||
|
|
||||||
# Clipboard manager
|
# Clipboard manager
|
||||||
exec-once = wl-paste --type text --watch cliphist store
|
exec-once = wl-paste --type text --watch cliphist store
|
||||||
exec-once = wl-paste --type image --watch cliphist store
|
exec-once = wl-paste --type image --watch cliphist store
|
||||||
|
|
||||||
# Rainbow borders (disabled by default; use quick settings menu)
|
# Rainbow borders
|
||||||
#exec-once = $UserScripts/RainbowBorders.sh
|
exec-once = $UserScripts/RainbowBorders.sh
|
||||||
|
|
||||||
|
# hypridle for hyprlock
|
||||||
|
exec-once = hypridle
|
||||||
|
|
||||||
|
# Resume Hyprsunset if state is "on" from previous session
|
||||||
|
exec-once = $scriptsDir/Hyprsunset.sh init
|
||||||
|
|
||||||
# Here are list of features available but disabled by default
|
# Here are list of features available but disabled by default
|
||||||
# Persistent wallpaper
|
# Persistent wallpaper
|
||||||
# exec-once = sh -c '$HOME/.config/hypr/scripts/WallpaperDaemon.sh && (command -v awww >/dev/null 2>&1 && awww img "$wallDIR/mecha-nostalgia.png" || swww img "$wallDIR/mecha-nostalgia.png")'
|
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png
|
||||||
|
|
||||||
# Gnome polkit for NixOS
|
# Gnome polkit for NixOS
|
||||||
#exec-once = $scriptsDir/Polkit-NixOS.sh
|
#exec-once = $scriptsDir/Polkit-NixOS.sh
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Default settings
|
# Default settings
|
||||||
# This is where you put your own settings as this will not be touched during update
|
# This is where you put your own settings as this will not be touched during update
|
||||||
# if the upgrade.sh is used.
|
# if the upgrade.sh is used.
|
||||||
|
|
@ -14,41 +9,16 @@
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
$scriptsDir = $HOME/.config/hypr/scripts
|
||||||
|
|
||||||
dwindle {
|
dwindle {
|
||||||
|
pseudotile = true
|
||||||
preserve_split = true
|
preserve_split = true
|
||||||
smart_resizing = true
|
#smart_split = true
|
||||||
use_active_for_splits = true
|
|
||||||
smart_split = false
|
|
||||||
default_split_ratio = 1.0
|
|
||||||
split_bias = 0
|
|
||||||
precise_mouse_move = false
|
|
||||||
special_scale_factor = 0.8
|
special_scale_factor = 0.8
|
||||||
}
|
}
|
||||||
|
|
||||||
master {
|
master {
|
||||||
new_status = slave
|
new_status = master
|
||||||
new_on_top = false
|
new_on_top = 1
|
||||||
new_on_active = none
|
mfact = 0.5
|
||||||
orientation = left
|
|
||||||
mfact = 0.55
|
|
||||||
slave_count_for_center_master = 2
|
|
||||||
center_master_fallback = left
|
|
||||||
smart_resizing = true
|
|
||||||
drop_at_cursor = true
|
|
||||||
always_keep_position = false
|
|
||||||
}
|
|
||||||
|
|
||||||
scrolling {
|
|
||||||
# Default width of new windows (0.1 - 1.0)
|
|
||||||
column_width = 0.80
|
|
||||||
# If only one window is open, should it span the whole screen?
|
|
||||||
fullscreen_on_one_column = true
|
|
||||||
# Direction: right, left, up, or down
|
|
||||||
direction = right
|
|
||||||
# Center the focused window automatically
|
|
||||||
follow_focus = true
|
|
||||||
}
|
|
||||||
monocle {
|
|
||||||
# I can't find any settings on the wiki
|
|
||||||
}
|
}
|
||||||
|
|
||||||
general {
|
general {
|
||||||
|
|
@ -64,6 +34,7 @@ input {
|
||||||
kb_rules =
|
kb_rules =
|
||||||
repeat_rate = 50
|
repeat_rate = 50
|
||||||
repeat_delay = 300
|
repeat_delay = 300
|
||||||
|
|
||||||
sensitivity = 0 #mouse sensitivity
|
sensitivity = 0 #mouse sensitivity
|
||||||
#accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode
|
#accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode
|
||||||
numlock_by_default = true
|
numlock_by_default = true
|
||||||
|
|
@ -92,28 +63,26 @@ input {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe_distance = 300
|
gesture = 3, horizontal, workspace
|
||||||
workspace_swipe_touch = false
|
workspace_swipe_distance = 500
|
||||||
workspace_swipe_invert = true
|
workspace_swipe_invert = true
|
||||||
workspace_swipe_min_speed_to_force = 30
|
workspace_swipe_min_speed_to_force = 30
|
||||||
workspace_swipe_cancel_ratio = 0.5
|
workspace_swipe_cancel_ratio = 0.5
|
||||||
workspace_swipe_create_new = true
|
workspace_swipe_create_new = true
|
||||||
workspace_swipe_direction_lock = true
|
workspace_swipe_forever = true
|
||||||
workspace_swipe_forever = false
|
#workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right
|
||||||
workspace_swipe_use_r = false
|
|
||||||
close_max_timeout = 100
|
|
||||||
|
|
||||||
gesture = 3, horizontal, workspace
|
gesture = 4, up, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 1.5}')"
|
||||||
gesture = 3, up, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 1.5}')"
|
gesture = 4, down, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 1.5}')"
|
||||||
gesture = 3, down, dispatcher, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 1.5}')"
|
gesture = 3, up, dispatcher, exec, $scriptsDir/OverviewToggle.sh
|
||||||
gesture = 4, up, dispatcher, exec, $scriptsDir/OverviewToggle.sh
|
|
||||||
gesture = 4, down, float
|
|
||||||
}
|
}
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
disable_hyprland_logo = true
|
disable_hyprland_logo = true
|
||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
|
vfr = true
|
||||||
vrr = 2
|
vrr = 2
|
||||||
mouse_move_enables_dpms = true
|
mouse_move_enables_dpms = true
|
||||||
enable_swallow = off
|
enable_swallow = off
|
||||||
|
|
@ -124,11 +93,6 @@ misc {
|
||||||
enable_anr_dialog = true # Application not Responding (ANR)
|
enable_anr_dialog = true # Application not Responding (ANR)
|
||||||
anr_missed_pings = 15 # ANR Threshold default 1 is too low
|
anr_missed_pings = 15 # ANR Threshold default 1 is too low
|
||||||
allow_session_lock_restore = true # Prevent lockscreen crash when resume from suspend
|
allow_session_lock_restore = true # Prevent lockscreen crash when resume from suspend
|
||||||
# This only works with HL v0.53+
|
|
||||||
on_focus_under_fullscreen = 1
|
|
||||||
# 0 - Default, no change
|
|
||||||
# 1 - New focused window takes over fullscreen (Windows-like Alt-Tab)
|
|
||||||
# 2 - New focused window stays behind the fullscreen one
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#opengl {
|
#opengl {
|
||||||
|
|
@ -157,16 +121,4 @@ cursor {
|
||||||
enable_hyprcursor = true
|
enable_hyprcursor = true
|
||||||
warp_on_change_workspace = 2
|
warp_on_change_workspace = 2
|
||||||
no_warps = true
|
no_warps = true
|
||||||
no_break_fs_vrr = false
|
|
||||||
min_refresh_rate = 24
|
|
||||||
hotspot_padding = 1
|
|
||||||
inactive_timeout = 0
|
|
||||||
default_monitor =
|
|
||||||
zoom_factor = 1.0
|
|
||||||
zoom_rigid = false
|
|
||||||
zoom_detached_camera = true
|
|
||||||
hide_on_key_press = true
|
|
||||||
hide_on_touch = false
|
|
||||||
hide_on_tablet = false
|
|
||||||
use_cpu_buffer = false
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,470 +1,204 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
# For window rules and layerrules
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Vendor defaults for window rules and layerrules
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
# NOTES: This is only for Hyprland >= 0.53
|
# NOTES: This is only for Hyprland > 0.52.1
|
||||||
|
# note: This should NOT be implemented on Debian and Ubuntu
|
||||||
|
# Vendor defaults for window rules and layerrules
|
||||||
|
|
||||||
# Some samples on hwo to start apps on specific workspaces
|
# windowrule - tags - add apps under appropriate tag to use the same settings
|
||||||
# windowrule = match:tag email*, workspace 1
|
|
||||||
# windowrule = match:tag browser*, workspace 2
|
|
||||||
# windowrule = match:tag projects*, workspace 3
|
|
||||||
# windowrule = match:tag screenshare*, workspace 4 silent
|
|
||||||
# windowrule = match:tag gamestore*, workspace 5
|
|
||||||
# windowrule = match:class ^(virt-manager)$, workspace 6 silent
|
|
||||||
# windowrule = match:class ^(.virt-manager-wrapped)$, workspace 6 silent
|
|
||||||
# windowrule = match:tag im*, workspace 7
|
|
||||||
# windowrule = match:class obsidian, workspace 8
|
|
||||||
# windowrule = match:tag games*, workspace 8
|
|
||||||
# windowrule = match:tag multimedia*, workspace 9 silent
|
|
||||||
|
|
||||||
# TAGS - add apps under appropriate tag to use the same settings
|
|
||||||
# browser tags
|
|
||||||
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
|
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
|
||||||
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
|
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
|
||||||
windowrule = match:class ^(chrome-.+-Default)$, tag +browser
|
windowrule = match:class ^(chrome-.+-Default)$ # Chrome PWAs, tag +browser
|
||||||
windowrule = match:class ^([Cc]hromium)$, tag +browser
|
windowrule = match:class ^([Cc]hromium)$, tag +browser
|
||||||
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
|
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
|
||||||
windowrule = match:class ^([Bb]rave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
windowrule = match:class ^(Brave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
||||||
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
|
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
|
||||||
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
|
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
|
||||||
|
|
||||||
# notif tags
|
|
||||||
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
|
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
|
||||||
|
|
||||||
# KooL settings tag
|
|
||||||
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
||||||
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
||||||
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
||||||
|
|
||||||
# terminal tags
|
windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
||||||
windowrule = match:class ^(ghostty|wezterm|Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
|
||||||
|
|
||||||
# email tags
|
windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
|
||||||
windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, tag +email
|
|
||||||
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
|
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
|
||||||
windowrule = match:class ^(org.gnome.Evolution)$, tag +email
|
|
||||||
|
|
||||||
# project tags
|
|
||||||
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
|
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
|
||||||
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
|
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
|
||||||
windowrule = match:class ^(jetbrains-.+)$, tag +projects
|
windowrule = match:class ^(jetbrains-.+)$ # JetBrains IDEs, tag +projects
|
||||||
windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
|
|
||||||
|
|
||||||
# screenshare tags
|
|
||||||
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
||||||
|
|
||||||
# IM tags
|
|
||||||
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
|
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
|
||||||
windowrule = match:class ^([Ff]erdium)$, tag +im
|
windowrule = match:class ^([Ff]erdium)$, tag +im
|
||||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, tag +im
|
windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
|
||||||
|
windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
|
||||||
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
|
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
|
||||||
windowrule = match:class ^(teams-for-linux)$, tag +im
|
windowrule = match:class ^(teams-for-linux)$, tag +im
|
||||||
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
|
windowrule = match:class ^(im.riot.Riot|Element)$ # Element Matrix client, tag +im
|
||||||
|
|
||||||
# game tags
|
|
||||||
windowrule = match:class ^(gamescope)$, tag +games
|
windowrule = match:class ^(gamescope)$, tag +games
|
||||||
windowrule = match:class ^(steam_app_\\d+)$, tag +games
|
windowrule = match:class ^(steam_app_\d+)$, tag +games
|
||||||
windowrule = match:xdg_tag ^(proton-game)$, tag +games
|
|
||||||
|
|
||||||
# gamestore tags
|
|
||||||
windowrule = match:class ^([Ss]team)$, tag +gamestore
|
windowrule = match:class ^([Ss]team)$, tag +gamestore
|
||||||
windowrule = match:title ^([Ll]utris)$, tag +gamestore
|
windowrule = match:title ^([Ll]utris)$, tag +gamestore
|
||||||
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
|
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
|
||||||
|
|
||||||
# file-manager tags
|
|
||||||
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
|
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
|
||||||
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
|
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
|
||||||
|
|
||||||
# wallpaper tags
|
|
||||||
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
||||||
|
|
||||||
# multimedia tags
|
|
||||||
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
||||||
|
|
||||||
# multimedia-video tags
|
|
||||||
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
||||||
|
|
||||||
# settings tags
|
|
||||||
windowrule = match:title ^(ROG Control)$, tag +settings
|
windowrule = match:title ^(ROG Control)$, tag +settings
|
||||||
windowrule = match:class ^(wihotspot(-gui)?)$, tag +settings
|
windowrule = match:class ^(wihotspot(-gui)?)$ # wifi hotspot, tag +settings
|
||||||
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$, tag +settings
|
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer, tag +settings
|
||||||
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
||||||
windowrule = match:title (Kvantum Manager), tag +settings
|
windowrule = match:title (Kvantum Manager), tag +settings
|
||||||
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, tag +settings
|
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$ # archive manager, tag +settings
|
||||||
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
|
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
|
||||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
|
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
|
||||||
windowrule = match:class ^(qt5ct|qt6ct)$, tag +settings
|
windowrule = match:class ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
|
||||||
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
|
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
|
||||||
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
|
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
|
||||||
windowrule = match:class ^([Rr]ofi)$, tag +settings
|
windowrule = match:class ^([Rr]ofi)$, tag +settings
|
||||||
windowrule = match:class ^(btrfs-assistant)$, tag +settings
|
|
||||||
windowrule = match:class ^(timeshift-gtk)$, tag +settings
|
|
||||||
|
|
||||||
# viewer tags
|
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor, tag +viewer
|
||||||
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
|
windowrule = match:class ^(evince)$ # document viewer, tag +viewer
|
||||||
windowrule = match:class ^(evince)$, tag +viewer
|
windowrule = match:class ^(eog|org.gnome.Loupe)$ # image viewer, tag +viewer
|
||||||
windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
|
|
||||||
|
|
||||||
# Some special override rules
|
windowrule = match:tag multimedia_video*, noblur
|
||||||
windowrule = match:tag multimedia, no_blur on
|
windowrule = match:tag multimedia_video*, opacity 1.0
|
||||||
windowrule = match:tag multimedia, opacity 1.0
|
|
||||||
|
|
||||||
# FLOAT
|
|
||||||
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher), float on
|
|
||||||
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float on
|
|
||||||
windowrule = match:class ^([Qq]alculate-gtk)$, float on
|
|
||||||
|
|
||||||
# float popups and dialogue
|
|
||||||
windowrule = match:title ^(Authentication Required)$, float on, center on
|
|
||||||
windowrule = match:class ^(xfce-polkit|mate-polkit|polkit-mate-authentication-agent-1)$, match:title ^(Authentication required|Authentication Required)$, float on, center on, size (monitor_w*0.35) (monitor_h*0.35)
|
|
||||||
windowrule = match:class (codium|codium-url-handler|VSCodium), match:title negative:(.*codium.*|.*VSCodium.*), float on
|
|
||||||
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, match:title negative:(Heroic Games Launcher), float on
|
|
||||||
windowrule = match:class ^([Ss]team)$, match:title negative:^([Ss]team)$, float on
|
|
||||||
windowrule = match:title ^(Add Folder to Workspace)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
||||||
windowrule = match:title ^(Save As)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
||||||
windowrule = match:initial_title (Open Files), float on, size (monitor_w*0.7) (monitor_h*0.6)
|
|
||||||
windowrule = match:title ^(SDDM Background)$, float on, center on, size (monitor_w*0.16) (monitor_h*0.12)
|
|
||||||
windowrule = match:class ^(yad)$, float on, center on, size (monitor_w*0.2) (monitor_h*0.2)
|
|
||||||
windowrule = match:class ^(hyprland-donate-screen)$, float on, center on
|
|
||||||
|
|
||||||
# SIZE
|
|
||||||
|
|
||||||
# POSITION
|
# POSITION
|
||||||
windowrule = match:title ^(ROG Control)$, center on
|
windowrule = match:tag KooL_Cheat*, center
|
||||||
windowrule = match:title ^(Keybindings)$, center on
|
windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), center
|
||||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
|
windowrule = match:title ^(ROG Control)$, center
|
||||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
|
windowrule = match:tag KooL-Settings*, center
|
||||||
windowrule = match:class ^(nm-connection-editor)$, center on
|
windowrule = match:title ^(Keybindings)$, center
|
||||||
windowrule = match:class ^(nm-applet)$, match:title ^(Wi-Fi Network Authentication Required)$, center on
|
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center
|
||||||
|
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center
|
||||||
|
windowrule = match:class ^([Ff]erdium)$, center
|
||||||
|
windowrule = match:title ^(Picture-in-Picture)$, move 72% 7%
|
||||||
|
#windowrule = move 72% 7%,title:^(Firefox)$
|
||||||
|
|
||||||
# windowrule to avoid idle for fullscreen apps
|
# windowrule to avoid idle for fullscreen apps
|
||||||
windowrule = match:fullscreen true, idle_inhibit fullscreen
|
#windowrule = idleinhibit fullscreen, class:^(*)$
|
||||||
windowrule = idle_inhibit fullscreen, match:fullscreen 1
|
#windowrule = idleinhibit fullscreen, title:^(*)$
|
||||||
windowrule = idle_inhibit fullscreen, match:class .*
|
windowrule = match:fullscreen 1, idleinhibit fullscreen
|
||||||
windowrule = idle_inhibit fullscreen, match:title .*
|
|
||||||
|
# windowrule move to workspace
|
||||||
|
#windowrule = workspace 1, tag:email*
|
||||||
|
#windowrule = workspace 2, tag:browser*
|
||||||
|
#windowrule = workspace 3, class:^([Tt]hunar)$
|
||||||
|
#windowrule = workspace 3, tag:projects*
|
||||||
|
#windowrule = workspace 5, tag:gamestore*
|
||||||
|
#windowrule = workspace 7, tag:im*
|
||||||
|
#windowrule = workspace 8, tag:games*
|
||||||
|
|
||||||
|
# windowrule move to workspace (silent)
|
||||||
|
#windowrule = workspace 4 silent, tag:screenshare*
|
||||||
|
#windowrule = workspace 6 silent, class:^(virt-manager)$
|
||||||
|
#windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
|
||||||
|
#windowrule = workspace 9 silent, tag:multimedia*
|
||||||
|
|
||||||
|
# FLOAT
|
||||||
|
windowrule = match:tag KooL_Cheat*, float
|
||||||
|
windowrule = match:tag wallpaper*, float
|
||||||
|
windowrule = match:tag settings*, float
|
||||||
|
windowrule = match:tag viewer*, float
|
||||||
|
windowrule = match:tag KooL-Settings*, float
|
||||||
|
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher)$, float
|
||||||
|
windowrule = match:class (org.gnome.Calculator) title (Calculator), float
|
||||||
|
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float
|
||||||
|
windowrule = match:class ^([Qq]alculate-gtk)$, float
|
||||||
|
#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
||||||
|
windowrule = match:class ^([Ff]erdium)$, float
|
||||||
|
windowrule = match:title ^(Picture-in-Picture)$, float
|
||||||
|
#windowrule = float, title:^(Firefox)$
|
||||||
|
|
||||||
|
# windowrule - ######### float popups and dialogue #######
|
||||||
|
windowrule = match:title ^(Authentication Required)$, float
|
||||||
|
windowrule = match:title ^(Authentication Required)$, center
|
||||||
|
windowrule = match:class (codium|codium-url-handler|VSCodium) title negative:(.*codium.*|.*VSCodium.*), float
|
||||||
|
windowrule = match:class ^(com.heroicgameslauncher.hgl)$ title negative:(Heroic Games Launcher), float
|
||||||
|
windowrule = match:class ^([Ss]team)$ title negative:^([Ss]team)$, float
|
||||||
|
windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), float
|
||||||
|
windowrule = match:title ^(Add Folder to Workspace)$, float
|
||||||
|
windowrule = match:title ^(Add Folder to Workspace)$, size 70% 60%
|
||||||
|
windowrule = match:title ^(Add Folder to Workspace)$, center
|
||||||
|
windowrule = match:title ^(Save As)$, float
|
||||||
|
windowrule = match:title ^(Save As)$, size 70% 60%
|
||||||
|
windowrule = match:title ^(Save As)$, center
|
||||||
|
windowrule = match:initialTitle (Open Files), float
|
||||||
|
windowrule = match:initialTitle (Open Files), size 70% 60%
|
||||||
|
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, float
|
||||||
|
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, center
|
||||||
|
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, size 16% 12%
|
||||||
|
# END of float popups and dialogue #######
|
||||||
|
|
||||||
# OPACITY
|
# OPACITY
|
||||||
windowrule = match:tag browser, opacity 0.99 0.8
|
windowrule = match:tag browser*, opacity 0.99 0.8
|
||||||
windowrule = match:tag projects, opacity 0.9 0.8
|
windowrule = match:tag projects*, opacity 0.9 0.8
|
||||||
windowrule = match:tag im, opacity 0.94 0.86
|
windowrule = match:tag im*, opacity 0.94 0.86
|
||||||
windowrule = match:tag multimedia, opacity 0.94 0.86
|
windowrule = match:tag multimedia*, opacity 0.94 0.86
|
||||||
windowrule = match:tag file-manager, opacity 0.9 0.8
|
windowrule = match:tag file-manager*, opacity 0.9 0.8
|
||||||
windowrule = match:tag terminal, opacity 0.9 0.7
|
windowrule = match:tag terminal*, opacity 0.9 0.7
|
||||||
|
windowrule = match:tag settings*, opacity 0.8 0.7
|
||||||
|
windowrule = match:tag viewer*, opacity 0.82 0.75
|
||||||
|
windowrule = match:tag wallpaper*, opacity 0.9 0.7
|
||||||
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
|
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
|
||||||
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
|
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
|
||||||
windowrule = match:class ^(seahorse)$, opacity 0.9 0.8
|
windowrule = match:class ^(seahorse)$ # gnome-keyring gui, opacity 0.9 0.8
|
||||||
|
windowrule = match:title ^(Picture-in-Picture)$, opacity 0.95 0.75
|
||||||
|
|
||||||
|
# SIZE
|
||||||
|
windowrule = match:tag KooL_Cheat*, size 65% 90%
|
||||||
|
windowrule = match:tag wallpaper*, size 70% 70%
|
||||||
|
windowrule = match:tag settings*, size 70% 70%
|
||||||
|
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, size 60% 70%
|
||||||
|
windowrule = match:class ^([Ff]erdium)$, size 60% 70%
|
||||||
|
|
||||||
|
#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
|
||||||
|
#windowrule = size 25% 25%, title:^(Firefox)$
|
||||||
|
|
||||||
|
# PINNING
|
||||||
|
windowrule = match:title ^(Picture-in-Picture)$, pin
|
||||||
|
#windowrule = pin,title:^(Firefox)$
|
||||||
|
|
||||||
|
# windowrule - extras
|
||||||
|
windowrule = match:title ^(Picture-in-Picture)$, keepaspectratio
|
||||||
|
|
||||||
# BLUR & FULLSCREEN
|
# BLUR & FULLSCREEN
|
||||||
|
windowrule = match:tag games*, noblur
|
||||||
|
windowrule = match:tag games*, fullscreen
|
||||||
|
|
||||||
# This not gonna take the focus to the window that appears
|
#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
|
||||||
# when hovering over some of the parts of the IntelliJ Products
|
windowrule = match:class ^(jetbrains-*), noinitialfocus
|
||||||
windowrule = match:class ^(jetbrains-.*)$, no_initial_focus on
|
windowrule = match:title ^(wind.*)$, noinitialfocus
|
||||||
windowrule = match:title ^(wind.*)$, no_initial_focus on
|
|
||||||
|
#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
|
||||||
|
#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
|
||||||
|
#windowrule = opacity 0.8 0.8, pinned:1
|
||||||
|
|
||||||
# LAYER RULES
|
# LAYER RULES
|
||||||
layerrule = match:namespace rofi, blur on
|
layerrule = blur, rofi
|
||||||
layerrule = match:namespace notifications, blur on
|
layerrule = ignorezero, rofi
|
||||||
layerrule = match:namespace quickshell:overview, blur on
|
layerrule = blur, notifications
|
||||||
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
|
layerrule = ignorezero, notifications
|
||||||
|
layerrule = blur, quickshell:overview
|
||||||
#
|
layerrule = ignorezero, quickshell:overview
|
||||||
layerrule = blur on, match:namespace wallpaper
|
layerrule = ignorealpha 0.5, quickshell:overview
|
||||||
layerrule = animation slide, match:namespace rofi
|
|
||||||
layerrule = animation slide, match:namespace notifications
|
|
||||||
|
|
||||||
# Optional Layer rules
|
|
||||||
# To Resolve blurred corners in rofi Add to User config
|
|
||||||
# SUPER SHIFT + E Edit User Window Rules
|
|
||||||
#layerrule = blur on, ignore_alpha 0, match:namespace rofi
|
|
||||||
#layerrule = blur on, match:namespace waybar
|
|
||||||
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = Picture-in-Picture
|
|
||||||
match:title = ^[Pp]icture-in-[Pp]icture$
|
|
||||||
float = on
|
|
||||||
move = 72% 7%
|
|
||||||
opacity = 0.95 0.75
|
|
||||||
pin = on
|
|
||||||
keep_aspect_ratio = on
|
|
||||||
size = (monitor_w*0.3) (monitor_h*0.3)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for CachyOS Kernel Manager
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Kernel Manager
|
|
||||||
match:class = ^(org.cachyos.KernelManager)$
|
|
||||||
match:title = ^(CachyOS Kernel Manager)$
|
|
||||||
match:initial_class = ^(org.cachyos.KernelManager)$
|
|
||||||
match:initial_title = ^(CachyOS Kernel Manager)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Mainline Kernels
|
|
||||||
windowrule {
|
|
||||||
name = Mainline Kernels
|
|
||||||
match:class = ^(mainline-gtk)$
|
|
||||||
match:title = ^(Mainline Kernels)$
|
|
||||||
match:initial_class = ^(mainline-gtk)$
|
|
||||||
match:initial_title = ^(Mainline Kernels)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.45) (monitor_h*0.55)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Kwallet
|
|
||||||
windowrule {
|
|
||||||
name = Kwallet
|
|
||||||
match:class = ^(org.kde.kwalletmanager)$
|
|
||||||
match:title = ^(Wallet Manager)$
|
|
||||||
match:initial_class = ^(org.kde.kwalletmanager)$
|
|
||||||
match:initial_title = ^(Wallet Manager)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for NVIDIA Settings
|
|
||||||
windowrule {
|
|
||||||
name = NVIDIA Settings
|
|
||||||
match:class = ^(nvidia-settings)$
|
|
||||||
match:title = ^(NVIDIA Settings)$
|
|
||||||
match:initial_class = ^(nvidia-settings)$
|
|
||||||
match:initial_title = ^(NVIDIA Settings)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for CachyOS Package Installer
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Package Installer
|
|
||||||
match:class = ^(org.cachyos.cachyos-pi)$
|
|
||||||
match:title = ^(CachyOS Package Installer)$
|
|
||||||
match:initial_class = ^(org.cachyos.cachyos-pi)$
|
|
||||||
match:initial_title = ^(CachyOS Package Installer)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for Shelly
|
|
||||||
windowrule {
|
|
||||||
name = Shelly
|
|
||||||
match:class = ^(com.shellyorg.shelly)$
|
|
||||||
match:title = ^(Shelly)$
|
|
||||||
match:initial_class = ^(com.shellyorg.shelly)$
|
|
||||||
match:initial_title = ^(Shelly)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for CachyOS Hello
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Hello
|
|
||||||
match:class = ^(CachyOSHello)$
|
|
||||||
match:title = ^(CachyOS Hello)$
|
|
||||||
match:initial_class = ^(CachyOSHello)$
|
|
||||||
match:initial_title = ^(CachyOS Hello)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Cache Cleaner - Octopi
|
|
||||||
windowrule {
|
|
||||||
name = Cache Cleaner - Octopi
|
|
||||||
match:class = ^(octopi-cachecleaner)$
|
|
||||||
match:title = ^(Cache Cleaner - Octopi)$
|
|
||||||
match:initial_class = ^(octopi-cachecleaner)$
|
|
||||||
match:initial_title = ^(Cache Cleaner - Octopi)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Octopi Package Manager
|
|
||||||
windowrule {
|
|
||||||
name = Octopi Package Manager
|
|
||||||
match:class = ^(octopi)$
|
|
||||||
match:title = ^(Octopi)$
|
|
||||||
match:initial_class = ^(octopi)$
|
|
||||||
match:initial_title = ^(Octopi)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Repository Editor - Octopi
|
|
||||||
windowrule {
|
|
||||||
name = Repository Editor - Octopi
|
|
||||||
match:class = ^(octopi-repoeditor)$
|
|
||||||
match:title = ^(Repository Editor - Octopi)$
|
|
||||||
match:initial_class = ^(octopi-repoeditor)$
|
|
||||||
match:initial_title = ^(Repository Editor - Octop)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for KooL Cheat (tag)
|
|
||||||
windowrule {
|
|
||||||
name = KooL Cheat (tag)
|
|
||||||
match:tag = KooL_Cheat
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.65) (monitor_h*0.9)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Wallpaper (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Wallpaper (tag)
|
|
||||||
match:tag = wallpaper
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
||||||
opacity = 0.9 0.7
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Settings (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Settings (tag)
|
|
||||||
match:tag = settings
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
||||||
opacity = 0.8 0.7
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Viewer (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Viewer (tag)
|
|
||||||
match:tag = viewer
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
opacity = 0.82 0.75
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for KooL Settings (tag)
|
|
||||||
windowrule {
|
|
||||||
name = KooL Settings (tag)
|
|
||||||
match:tag = KooL-Settings
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Multimedia Video (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Multimedia Video (tag)
|
|
||||||
match:tag = multimedia_video
|
|
||||||
no_blur = on
|
|
||||||
opacity = 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Games (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Games (tag)
|
|
||||||
match:tag = games
|
|
||||||
no_blur = on
|
|
||||||
fullscreen = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Ferdium
|
|
||||||
windowrule {
|
|
||||||
name = Ferdium
|
|
||||||
match:class = ^([Ff]erdium)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.7)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Calculators
|
|
||||||
windowrule {
|
|
||||||
name = Calculators
|
|
||||||
match:class = (org.gnome.Calculator|qalculate-gtk)
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.55) (monitor_h*0.45)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Thunar Dialogs
|
|
||||||
windowrule {
|
|
||||||
name = Thunar Dialogs
|
|
||||||
match:class = ([Tt]hunar)
|
|
||||||
match:title = negative:(.*[Tt]hunar.*)
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Bitwarden
|
|
||||||
windowrule {
|
|
||||||
name = Bitwarden
|
|
||||||
match:class = ^(Bitwarden)$
|
|
||||||
match:title = ^(Bitwarden)$
|
|
||||||
match:initial_class = ^(Bitwarden)$
|
|
||||||
match:initial_title = ^(Bitwarden)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for hyprpwcenter audio control panel
|
|
||||||
windowrule {
|
|
||||||
name = hyprland audio panel
|
|
||||||
match:class = ^(hyprpwcenter)$
|
|
||||||
match:initial_class = ^(hyprpwcenter)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for Garida Assistant
|
|
||||||
windowrule {
|
|
||||||
name = Garuda Assistant
|
|
||||||
match:class = ^(garuda-assistant)$
|
|
||||||
match:title = ^(Garuda Assistant)$
|
|
||||||
match:initial_class = ^(garuda-assistant)$
|
|
||||||
match:initial_title = ^(Garuda Assistant)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for HyprMod HL config GUI
|
|
||||||
windowrule {
|
|
||||||
name = HyprMod GUI
|
|
||||||
match:class = ^(com.github.hyprmod)$
|
|
||||||
match:title = ^(HyprMod)$
|
|
||||||
match:initial_class = ^(com.github.hyprmod)$
|
|
||||||
match:initial_title = ^(HyprMod)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
||||||
}
|
|
||||||
# Named rule for easy effects
|
|
||||||
windowrule {
|
|
||||||
name = EasyEffects
|
|
||||||
match:class = ^(com.github.wwmm.easyeffects)$
|
|
||||||
match:title = ^(Easy Effects)$
|
|
||||||
match:initial_class = ^(com.github.wwmm.easyeffects)$
|
|
||||||
match:initial_title = ^(Easy Effects)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.65)
|
|
||||||
}
|
|
||||||
# Named rule for Mousam weather GUI
|
|
||||||
windowrule {
|
|
||||||
name = Mousam Weather
|
|
||||||
match:class = ^(io.github.amit9838.mousam)$
|
|
||||||
match:title = ^(Mousam)$
|
|
||||||
match:initial_class = ^(io.github.amit9838.mousam)$
|
|
||||||
match:initial_title = ^(Mousam)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
#layerrule = ignorealpha 0.5, tag:notif*
|
||||||
|
#layerrule = ignorezero, class:^([Rr]ofi)$
|
||||||
|
#layerrule = blur, class:^([Rr]ofi)$
|
||||||
|
#layerrule = unset,class:^([Rr]ofi)$
|
||||||
|
#layerrule = ignorezero, <rofi>
|
||||||
|
#layerrule = ignorezero, overview
|
||||||
|
#layerrule = blur, overview
|
||||||
|
|
|
||||||
|
|
@ -1,234 +0,0 @@
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Vendor defaults for window rules and layerrules
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
|
|
||||||
# NOTES: This is only for Hyprland > 0.48
|
|
||||||
|
|
||||||
# windowrule - tags - add apps under appropriate tag to use the same settings
|
|
||||||
# browser tags
|
|
||||||
windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
|
|
||||||
windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
|
|
||||||
windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
|
|
||||||
windowrule = tag +browser, class:^([Cc]hromium)$
|
|
||||||
windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
|
|
||||||
windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
|
|
||||||
windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
|
|
||||||
windowrule = tag +browser, class:^(zen-alpha|zen)$
|
|
||||||
|
|
||||||
# notif tags
|
|
||||||
windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
|
|
||||||
|
|
||||||
# KooL settings tag
|
|
||||||
windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
|
|
||||||
windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
|
|
||||||
windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
|
|
||||||
|
|
||||||
# terminal tags
|
|
||||||
windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
|
|
||||||
|
|
||||||
# email tags
|
|
||||||
windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
|
|
||||||
windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
|
|
||||||
|
|
||||||
# project tags
|
|
||||||
windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
|
|
||||||
windowrule = tag +projects, class:^(VSCode|code|code-url-handler)$
|
|
||||||
windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
|
|
||||||
|
|
||||||
# screenshare tags
|
|
||||||
windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
|
|
||||||
|
|
||||||
# IM tags
|
|
||||||
windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
|
|
||||||
windowrule = tag +im, class:^([Ff]erdium)$
|
|
||||||
windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$
|
|
||||||
windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
|
|
||||||
windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
|
|
||||||
windowrule = tag +im, class:^(teams-for-linux)$
|
|
||||||
windowrule = tag +im, class:^(im.riot.Riot|Element)$ # Element Matrix client
|
|
||||||
|
|
||||||
# game tags
|
|
||||||
windowrule = tag +games, class:^(gamescope)$
|
|
||||||
windowrule = tag +games, class:^(steam_app_\d+)$
|
|
||||||
|
|
||||||
# gamestore tags
|
|
||||||
windowrule = tag +gamestore, class:^([Ss]team)$
|
|
||||||
windowrule = tag +gamestore, title:^([Ll]utris)$
|
|
||||||
windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
|
|
||||||
|
|
||||||
# file-manager tags
|
|
||||||
windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
|
|
||||||
windowrule = tag +file-manager, class:^(app.drey.Warp)$
|
|
||||||
|
|
||||||
# wallpaper tags
|
|
||||||
windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
|
|
||||||
|
|
||||||
# multimedia tags
|
|
||||||
windowrule = tag +multimedia, class:^([Aa]udacious)$
|
|
||||||
|
|
||||||
# multimedia-video tags
|
|
||||||
windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
|
|
||||||
|
|
||||||
# settings tags
|
|
||||||
windowrule = tag +settings, title:^(ROG Control)$
|
|
||||||
windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
|
|
||||||
windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
|
|
||||||
windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
|
|
||||||
windowrule = tag +settings, title:(Kvantum Manager)
|
|
||||||
windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
|
|
||||||
windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
|
|
||||||
windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
|
|
||||||
windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
|
|
||||||
windowrule = tag +settings, class:(xdg-desktop-portal-gtk)
|
|
||||||
windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
|
||||||
windowrule = tag +settings, class:^([Rr]ofi)$
|
|
||||||
|
|
||||||
# viewer tags
|
|
||||||
windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
|
|
||||||
windowrule = tag +viewer, class:^(evince)$ # document viewer
|
|
||||||
windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
|
|
||||||
|
|
||||||
# Some special override rules
|
|
||||||
windowrule = noblur, tag:multimedia_video*
|
|
||||||
windowrule = opacity 1.0, tag:multimedia_video*
|
|
||||||
|
|
||||||
# POSITION
|
|
||||||
# windowrule = center,floating:1 # warning, it cause even the menu to float and center.
|
|
||||||
windowrule = center, tag:KooL_Cheat*
|
|
||||||
windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
|
|
||||||
windowrule = center, title:^(ROG Control)$
|
|
||||||
windowrule = center, tag:KooL-Settings*
|
|
||||||
windowrule = center, title:^(Keybindings)$
|
|
||||||
windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
|
|
||||||
windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
|
||||||
windowrule = center, class:^([Ff]erdium)$
|
|
||||||
windowrule = move 72% 7%,title:^(Picture-in-Picture)$
|
|
||||||
#windowrule = move 72% 7%,title:^(Firefox)$
|
|
||||||
|
|
||||||
# windowrule to avoid idle for fullscreen apps
|
|
||||||
#windowrule = idleinhibit fullscreen, class:^(*)$
|
|
||||||
#windowrule = idleinhibit fullscreen, title:^(*)$
|
|
||||||
windowrule = idleinhibit fullscreen, fullscreen:1
|
|
||||||
|
|
||||||
# windowrule move to workspace
|
|
||||||
#windowrule = workspace 1, tag:email*
|
|
||||||
#windowrule = workspace 2, tag:browser*
|
|
||||||
#windowrule = workspace 3, class:^([Tt]hunar)$
|
|
||||||
#windowrule = workspace 3, tag:projects*
|
|
||||||
#windowrule = workspace 5, tag:gamestore*
|
|
||||||
#windowrule = workspace 7, tag:im*
|
|
||||||
#windowrule = workspace 8, tag:games*
|
|
||||||
|
|
||||||
# windowrule move to workspace (silent)
|
|
||||||
#windowrule = workspace 4 silent, tag:screenshare*
|
|
||||||
#windowrule = workspace 6 silent, class:^(virt-manager)$
|
|
||||||
#windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
|
|
||||||
#windowrule = workspace 9 silent, tag:multimedia*
|
|
||||||
#
|
|
||||||
# FLOAT
|
|
||||||
windowrule = float, tag:KooL_Cheat*
|
|
||||||
windowrule = float, tag:wallpaper*
|
|
||||||
windowrule = float, tag:settings*
|
|
||||||
windowrule = float, tag:viewer*
|
|
||||||
windowrule = float, tag:KooL-Settings*
|
|
||||||
windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$
|
|
||||||
windowrule = float, class:(org.gnome.Calculator), title:(Calculator)
|
|
||||||
windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$
|
|
||||||
windowrule = float, class:^([Qq]alculate-gtk)$
|
|
||||||
#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
|
||||||
windowrule = float, class:^([Ff]erdium)$
|
|
||||||
windowrule = float, title:^(Picture-in-Picture)$
|
|
||||||
#windowrule = float, title:^(Firefox)$
|
|
||||||
|
|
||||||
# windowrule - ######### float popups and dialogue #######
|
|
||||||
windowrule = float, title:^(Authentication Required)$
|
|
||||||
windowrule = center, title:^(Authentication Required)$
|
|
||||||
windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
|
|
||||||
windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
|
|
||||||
windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
|
|
||||||
windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
|
|
||||||
|
|
||||||
windowrule = float, title:^(Add Folder to Workspace)$
|
|
||||||
windowrule = size 70% 60%, title:^(Add Folder to Workspace)$
|
|
||||||
windowrule = center, title:^(Add Folder to Workspace)$
|
|
||||||
|
|
||||||
windowrule = float, title:^(Save As)$
|
|
||||||
windowrule = size 70% 60%, title:^(Save As)$
|
|
||||||
windowrule = center, title:^(Save As)$
|
|
||||||
|
|
||||||
windowrule = float, initialTitle:(Open Files)
|
|
||||||
windowrule = size 70% 60%, initialTitle:(Open Files)
|
|
||||||
|
|
||||||
windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
|
||||||
windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
|
||||||
windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
|
||||||
# END of float popups and dialogue #######
|
|
||||||
|
|
||||||
# OPACITY
|
|
||||||
windowrule = opacity 0.99 0.8, tag:browser*
|
|
||||||
windowrule = opacity 0.9 0.8, tag:projects*
|
|
||||||
windowrule = opacity 0.94 0.86, tag:im*
|
|
||||||
windowrule = opacity 0.94 0.86, tag:multimedia*
|
|
||||||
windowrule = opacity 0.9 0.8, tag:file-manager*
|
|
||||||
windowrule = opacity 0.9 0.7, tag:terminal*
|
|
||||||
windowrule = opacity 0.8 0.7, tag:settings*
|
|
||||||
windowrule = opacity 0.82 0.75, tag:viewer*
|
|
||||||
windowrule = opacity 0.9 0.7, tag:wallpaper*
|
|
||||||
windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
|
|
||||||
windowrule = opacity 0.9 0.8, class:^(deluge)$
|
|
||||||
windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
|
|
||||||
windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$
|
|
||||||
|
|
||||||
# SIZE
|
|
||||||
windowrule = size 65% 90%, tag:KooL_Cheat*
|
|
||||||
windowrule = size 70% 70%, tag:wallpaper*
|
|
||||||
windowrule = size 70% 70%, tag:settings*
|
|
||||||
windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
|
||||||
windowrule = size 60% 70%, class:^([Ff]erdium)$
|
|
||||||
|
|
||||||
#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
|
|
||||||
#windowrule = size 25% 25%, title:^(Firefox)$
|
|
||||||
|
|
||||||
# PINNING
|
|
||||||
windowrule = pin, title:^(Picture-in-Picture)$
|
|
||||||
#windowrule = pin,title:^(Firefox)$
|
|
||||||
|
|
||||||
# windowrule - extras
|
|
||||||
windowrule = keepaspectratio, title:^(Picture-in-Picture)$
|
|
||||||
|
|
||||||
# BLUR & FULLSCREEN
|
|
||||||
windowrule = noblur, tag:games*
|
|
||||||
windowrule = fullscreen, tag:games*
|
|
||||||
|
|
||||||
|
|
||||||
#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
|
|
||||||
windowrule = noinitialfocus, class:^(jetbrains-*)
|
|
||||||
windowrule = noinitialfocus, title:^(wind.*)$
|
|
||||||
|
|
||||||
#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
|
|
||||||
#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
|
|
||||||
#windowrule = opacity 0.8 0.8, pinned:1
|
|
||||||
|
|
||||||
# LAYER RULES
|
|
||||||
layerrule = blur, rofi
|
|
||||||
layerrule = ignorezero, rofi
|
|
||||||
layerrule = blur, notifications
|
|
||||||
layerrule = ignorezero, notifications
|
|
||||||
layerrule = blur, quickshell:overview
|
|
||||||
layerrule = ignorezero, quickshell:overview
|
|
||||||
layerrule = ignorealpha 0.5, quickshell:overview
|
|
||||||
|
|
||||||
#layerrule = ignorealpha 0.5, tag:notif*
|
|
||||||
|
|
||||||
#layerrule = ignorezero, class:^([Rr]ofi)$
|
|
||||||
#layerrule = blur, class:^([Rr]ofi)$
|
|
||||||
#layerrule = unset,class:^([Rr]ofi)$
|
|
||||||
#layerrule = ignorezero, <rofi>
|
|
||||||
|
|
||||||
#layerrule = ignorezero, overview
|
|
||||||
#layerrule = blur, overview
|
|
||||||
|
|
@ -1,471 +1,231 @@
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Vendor defaults for window rules and layerrules
|
# Vendor defaults for window rules and layerrules
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
# NOTES: This is only for Hyprland >= 0.53
|
# NOTES: This is only for Hyprland > 0.48
|
||||||
|
|
||||||
# Some samples on hwo to start apps on specific workspaces
|
# note for ja: This should NOT be implemented on Debian and Ubuntu
|
||||||
# windowrule = match:tag email*, workspace 1
|
|
||||||
# windowrule = match:tag browser*, workspace 2
|
|
||||||
# windowrule = match:tag projects*, workspace 3
|
|
||||||
# windowrule = match:tag screenshare*, workspace 4 silent
|
|
||||||
# windowrule = match:tag gamestore*, workspace 5
|
|
||||||
# windowrule = match:class ^(virt-manager)$, workspace 6 silent
|
|
||||||
# windowrule = match:class ^(.virt-manager-wrapped)$, workspace 6 silent
|
|
||||||
# windowrule = match:tag im*, workspace 7
|
|
||||||
# windowrule = match:class obsidian, workspace 8
|
|
||||||
# windowrule = match:tag games*, workspace 8
|
|
||||||
# windowrule = match:tag multimedia*, workspace 9 silent
|
|
||||||
|
|
||||||
# TAGS - add apps under appropriate tag to use the same settings
|
# windowrule - tags - add apps under appropriate tag to use the same settings
|
||||||
# browser tags
|
# browser tags
|
||||||
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
|
windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
|
||||||
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
|
windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
|
||||||
windowrule = match:class ^(chrome-.+-Default)$, tag +browser
|
windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
|
||||||
windowrule = match:class ^([Cc]hromium)$, tag +browser
|
windowrule = tag +browser, class:^([Cc]hromium)$
|
||||||
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
|
windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
|
||||||
windowrule = match:class ^([Bb]rave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
|
||||||
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
|
windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
|
||||||
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
|
windowrule = tag +browser, class:^(zen-alpha|zen)$
|
||||||
|
|
||||||
# notif tags
|
# notif tags
|
||||||
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
|
windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
|
||||||
|
|
||||||
# KooL settings tag
|
# KooL settings tag
|
||||||
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
|
||||||
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
|
||||||
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
|
||||||
|
|
||||||
# terminal tags
|
# terminal tags
|
||||||
windowrule = match:class ^(ghostty|wezterm|Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
|
||||||
|
|
||||||
# email tags
|
# email tags
|
||||||
windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, tag +email
|
windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
|
||||||
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
|
windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
|
||||||
windowrule = match:class ^(org.gnome.Evolution)$, tag +email
|
|
||||||
|
|
||||||
# project tags
|
# project tags
|
||||||
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
|
windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
|
||||||
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
|
windowrule = tag +projects, class:^(VSCode|code|code-url-handler)$
|
||||||
windowrule = match:class ^(jetbrains-.+)$, tag +projects
|
windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
|
||||||
windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
|
|
||||||
|
|
||||||
# screenshare tags
|
# screenshare tags
|
||||||
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
|
||||||
|
|
||||||
# IM tags
|
# IM tags
|
||||||
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
|
windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
|
||||||
windowrule = match:class ^([Ff]erdium)$, tag +im
|
windowrule = tag +im, class:^([Ff]erdium)$
|
||||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, tag +im
|
windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$
|
||||||
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
|
windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
|
||||||
windowrule = match:class ^(teams-for-linux)$, tag +im
|
windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
|
||||||
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
|
windowrule = tag +im, class:^(teams-for-linux)$
|
||||||
|
windowrule = tag +im, class:^(im.riot.Riot|Element)$ # Element Matrix client
|
||||||
|
|
||||||
# game tags
|
# game tags
|
||||||
windowrule = match:class ^(gamescope)$, tag +games
|
windowrule = tag +games, class:^(gamescope)$
|
||||||
windowrule = match:class ^(steam_app_\\d+)$, tag +games
|
windowrule = tag +games, class:^(steam_app_\d+)$
|
||||||
windowrule = match:xdg_tag ^(proton-game)$, tag +games
|
|
||||||
|
|
||||||
# gamestore tags
|
# gamestore tags
|
||||||
windowrule = match:class ^([Ss]team)$, tag +gamestore
|
windowrule = tag +gamestore, class:^([Ss]team)$
|
||||||
windowrule = match:title ^([Ll]utris)$, tag +gamestore
|
windowrule = tag +gamestore, title:^([Ll]utris)$
|
||||||
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
|
windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
|
||||||
|
|
||||||
# file-manager tags
|
# file-manager tags
|
||||||
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
|
windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
|
||||||
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
|
windowrule = tag +file-manager, class:^(app.drey.Warp)$
|
||||||
|
|
||||||
# wallpaper tags
|
# wallpaper tags
|
||||||
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
|
||||||
|
|
||||||
# multimedia tags
|
# multimedia tags
|
||||||
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
windowrule = tag +multimedia, class:^([Aa]udacious)$
|
||||||
|
|
||||||
# multimedia-video tags
|
# multimedia-video tags
|
||||||
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
|
||||||
|
|
||||||
# settings tags
|
# settings tags
|
||||||
windowrule = match:title ^(ROG Control)$, tag +settings
|
windowrule = tag +settings, title:^(ROG Control)$
|
||||||
windowrule = match:class ^(wihotspot(-gui)?)$, tag +settings
|
windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
|
||||||
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$, tag +settings
|
windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
|
||||||
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
|
||||||
windowrule = match:title (Kvantum Manager), tag +settings
|
windowrule = tag +settings, title:(Kvantum Manager)
|
||||||
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, tag +settings
|
windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
|
||||||
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
|
windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
|
||||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
|
windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
|
||||||
windowrule = match:class ^(qt5ct|qt6ct)$, tag +settings
|
windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
|
||||||
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
|
windowrule = tag +settings, class:(xdg-desktop-portal-gtk)
|
||||||
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
|
windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||||
windowrule = match:class ^([Rr]ofi)$, tag +settings
|
windowrule = tag +settings, class:^([Rr]ofi)$
|
||||||
windowrule = match:class ^(btrfs-assistant)$, tag +settings
|
|
||||||
windowrule = match:class ^(timeshift-gtk)$, tag +settings
|
|
||||||
|
|
||||||
# viewer tags
|
# viewer tags
|
||||||
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
|
windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
|
||||||
windowrule = match:class ^(evince)$, tag +viewer
|
windowrule = tag +viewer, class:^(evince)$ # document viewer
|
||||||
windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
|
windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
|
||||||
|
|
||||||
# Some special override rules
|
# Some special override rules
|
||||||
windowrule = match:tag multimedia, no_blur on
|
windowrule = noblur, tag:multimedia_video*
|
||||||
windowrule = match:tag multimedia, opacity 1.0
|
windowrule = opacity 1.0, tag:multimedia_video*
|
||||||
|
|
||||||
# FLOAT
|
|
||||||
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher), float on
|
|
||||||
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float on
|
|
||||||
windowrule = match:class ^([Qq]alculate-gtk)$, float on
|
|
||||||
|
|
||||||
# float popups and dialogue
|
|
||||||
windowrule = match:title ^(Authentication Required)$, float on, center on
|
|
||||||
windowrule = match:class ^(xfce-polkit|mate-polkit|polkit-mate-authentication-agent-1)$, match:title ^(Authentication required|Authentication Required)$, float on, center on, size (monitor_w*0.35) (monitor_h*0.35)
|
|
||||||
windowrule = match:class (codium|codium-url-handler|VSCodium), match:title negative:(.*codium.*|.*VSCodium.*), float on
|
|
||||||
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, match:title negative:(Heroic Games Launcher), float on
|
|
||||||
windowrule = match:class ^([Ss]team)$, match:title negative:^([Ss]team)$, float on
|
|
||||||
windowrule = match:title ^(Add Folder to Workspace)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
||||||
windowrule = match:title ^(Save As)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
||||||
windowrule = match:initial_title (Open Files), float on, size (monitor_w*0.7) (monitor_h*0.6)
|
|
||||||
windowrule = match:title ^(SDDM Background)$, float on, center on, size (monitor_w*0.16) (monitor_h*0.12)
|
|
||||||
windowrule = match:class ^(yad)$, float on, center on, size (monitor_w*0.2) (monitor_h*0.2)
|
|
||||||
windowrule = match:class ^(hyprland-donate-screen)$, float on, center on
|
|
||||||
|
|
||||||
# SIZE
|
|
||||||
|
|
||||||
# POSITION
|
# POSITION
|
||||||
windowrule = match:title ^(ROG Control)$, center on
|
# windowrule = center,floating:1 # warning, it cause even the menu to float and center.
|
||||||
windowrule = match:title ^(Keybindings)$, center on
|
windowrule = center, tag:KooL_Cheat*
|
||||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
|
windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
|
||||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
|
windowrule = center, title:^(ROG Control)$
|
||||||
windowrule = match:class ^(nm-connection-editor)$, center on
|
windowrule = center, tag:KooL-Settings*
|
||||||
windowrule = match:class ^(nm-applet)$, match:title ^(Wi-Fi Network Authentication Required)$, center on
|
windowrule = center, title:^(Keybindings)$
|
||||||
|
windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
|
||||||
|
windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
||||||
|
windowrule = center, class:^([Ff]erdium)$
|
||||||
|
windowrule = move 72% 7%,title:^(Picture-in-Picture)$
|
||||||
|
#windowrule = move 72% 7%,title:^(Firefox)$
|
||||||
|
|
||||||
# windowrule to avoid idle for fullscreen apps
|
# windowrule to avoid idle for fullscreen apps
|
||||||
windowrule = match:fullscreen true, idle_inhibit fullscreen
|
#windowrule = idleinhibit fullscreen, class:^(*)$
|
||||||
windowrule = idle_inhibit fullscreen, match:fullscreen 1
|
#windowrule = idleinhibit fullscreen, title:^(*)$
|
||||||
windowrule = idle_inhibit fullscreen, match:class .*
|
windowrule = idleinhibit fullscreen, fullscreen:1
|
||||||
windowrule = idle_inhibit fullscreen, match:title .*
|
|
||||||
|
# windowrule move to workspace
|
||||||
|
#windowrule = workspace 1, tag:email*
|
||||||
|
#windowrule = workspace 2, tag:browser*
|
||||||
|
#windowrule = workspace 3, class:^([Tt]hunar)$
|
||||||
|
#windowrule = workspace 3, tag:projects*
|
||||||
|
#windowrule = workspace 5, tag:gamestore*
|
||||||
|
#windowrule = workspace 7, tag:im*
|
||||||
|
#windowrule = workspace 8, tag:games*
|
||||||
|
|
||||||
|
# windowrule move to workspace (silent)
|
||||||
|
#windowrule = workspace 4 silent, tag:screenshare*
|
||||||
|
#windowrule = workspace 6 silent, class:^(virt-manager)$
|
||||||
|
#windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
|
||||||
|
#windowrule = workspace 9 silent, tag:multimedia*
|
||||||
|
#
|
||||||
|
# FLOAT
|
||||||
|
windowrule = float, tag:KooL_Cheat*
|
||||||
|
windowrule = float, tag:wallpaper*
|
||||||
|
windowrule = float, tag:settings*
|
||||||
|
windowrule = float, tag:viewer*
|
||||||
|
windowrule = float, tag:KooL-Settings*
|
||||||
|
windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$
|
||||||
|
windowrule = float, class:(org.gnome.Calculator), title:(Calculator)
|
||||||
|
windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$
|
||||||
|
windowrule = float, class:^([Qq]alculate-gtk)$
|
||||||
|
#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
||||||
|
windowrule = float, class:^([Ff]erdium)$
|
||||||
|
windowrule = float, title:^(Picture-in-Picture)$
|
||||||
|
#windowrule = float, title:^(Firefox)$
|
||||||
|
|
||||||
|
# windowrule - ######### float popups and dialogue #######
|
||||||
|
windowrule = float, title:^(Authentication Required)$
|
||||||
|
windowrule = center, title:^(Authentication Required)$
|
||||||
|
windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
|
||||||
|
windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
|
||||||
|
windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
|
||||||
|
windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
|
||||||
|
|
||||||
|
windowrule = float, title:^(Add Folder to Workspace)$
|
||||||
|
windowrule = size 70% 60%, title:^(Add Folder to Workspace)$
|
||||||
|
windowrule = center, title:^(Add Folder to Workspace)$
|
||||||
|
|
||||||
|
windowrule = float, title:^(Save As)$
|
||||||
|
windowrule = size 70% 60%, title:^(Save As)$
|
||||||
|
windowrule = center, title:^(Save As)$
|
||||||
|
|
||||||
|
windowrule = float, initialTitle:(Open Files)
|
||||||
|
windowrule = size 70% 60%, initialTitle:(Open Files)
|
||||||
|
|
||||||
|
windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
||||||
|
windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
||||||
|
windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
|
||||||
|
# END of float popups and dialogue #######
|
||||||
|
|
||||||
# OPACITY
|
# OPACITY
|
||||||
windowrule = match:tag browser, opacity 0.99 0.8
|
windowrule = opacity 0.99 0.8, tag:browser*
|
||||||
windowrule = match:tag projects, opacity 0.9 0.8
|
windowrule = opacity 0.9 0.8, tag:projects*
|
||||||
windowrule = match:tag im, opacity 0.94 0.86
|
windowrule = opacity 0.94 0.86, tag:im*
|
||||||
windowrule = match:tag multimedia, opacity 0.94 0.86
|
windowrule = opacity 0.94 0.86, tag:multimedia*
|
||||||
windowrule = match:tag file-manager, opacity 0.9 0.8
|
windowrule = opacity 0.9 0.8, tag:file-manager*
|
||||||
windowrule = match:tag terminal, opacity 0.9 0.7
|
windowrule = opacity 0.9 0.7, tag:terminal*
|
||||||
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
|
windowrule = opacity 0.8 0.7, tag:settings*
|
||||||
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
|
windowrule = opacity 0.82 0.75, tag:viewer*
|
||||||
windowrule = match:class ^(seahorse)$, opacity 0.9 0.8
|
windowrule = opacity 0.9 0.7, tag:wallpaper*
|
||||||
|
windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
|
||||||
|
windowrule = opacity 0.9 0.8, class:^(deluge)$
|
||||||
|
windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
|
||||||
|
windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$
|
||||||
|
|
||||||
|
# SIZE
|
||||||
|
windowrule = size 65% 90%, tag:KooL_Cheat*
|
||||||
|
windowrule = size 70% 70%, tag:wallpaper*
|
||||||
|
windowrule = size 70% 70%, tag:settings*
|
||||||
|
windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
|
||||||
|
windowrule = size 60% 70%, class:^([Ff]erdium)$
|
||||||
|
|
||||||
|
#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
|
||||||
|
#windowrule = size 25% 25%, title:^(Firefox)$
|
||||||
|
|
||||||
|
# PINNING
|
||||||
|
windowrule = pin, title:^(Picture-in-Picture)$
|
||||||
|
#windowrule = pin,title:^(Firefox)$
|
||||||
|
|
||||||
|
# windowrule - extras
|
||||||
|
windowrule = keepaspectratio, title:^(Picture-in-Picture)$
|
||||||
|
|
||||||
# BLUR & FULLSCREEN
|
# BLUR & FULLSCREEN
|
||||||
|
windowrule = noblur, tag:games*
|
||||||
|
windowrule = fullscreen, tag:games*
|
||||||
|
|
||||||
# This not gonna take the focus to the window that appears
|
|
||||||
# when hovering over some of the parts of the IntelliJ Products
|
#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
|
||||||
windowrule = match:class ^(jetbrains-.*)$, no_initial_focus on
|
windowrule = noinitialfocus, class:^(jetbrains-*)
|
||||||
windowrule = match:title ^(wind.*)$, no_initial_focus on
|
windowrule = noinitialfocus, title:^(wind.*)$
|
||||||
|
|
||||||
|
#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
|
||||||
|
#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
|
||||||
|
#windowrule = opacity 0.8 0.8, pinned:1
|
||||||
|
|
||||||
# LAYER RULES
|
# LAYER RULES
|
||||||
layerrule = match:namespace rofi, blur on
|
layerrule = blur, rofi
|
||||||
layerrule = match:namespace notifications, blur on
|
layerrule = ignorezero, rofi
|
||||||
layerrule = match:namespace quickshell:overview, blur on
|
layerrule = blur, notifications
|
||||||
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
|
layerrule = ignorezero, notifications
|
||||||
|
layerrule = blur, quickshell:overview
|
||||||
|
layerrule = ignorezero, quickshell:overview
|
||||||
|
layerrule = ignorealpha 0.5, quickshell:overview
|
||||||
|
|
||||||
#
|
#layerrule = ignorealpha 0.5, tag:notif*
|
||||||
layerrule = blur on, match:namespace wallpaper
|
|
||||||
layerrule = animation slide, match:namespace rofi
|
|
||||||
layerrule = animation slide, match:namespace notifications
|
|
||||||
|
|
||||||
# Optional Layer rules
|
|
||||||
# To Resolve blurred corners in rofi Add to User config
|
|
||||||
# SUPER SHIFT + E Edit User Window Rules
|
|
||||||
#layerrule = blur on, ignore_alpha 0, match:namespace rofi
|
|
||||||
#layerrule = blur on, match:namespace waybar
|
|
||||||
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = Picture-in-Picture
|
|
||||||
match:title = ^[Pp]icture-in-[Pp]icture$
|
|
||||||
float = on
|
|
||||||
move = 72% 7%
|
|
||||||
opacity = 0.95 0.75
|
|
||||||
pin = on
|
|
||||||
keep_aspect_ratio = on
|
|
||||||
size = (monitor_w*0.3) (monitor_h*0.3)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for CachyOS Kernel Manager
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Kernel Manager
|
|
||||||
match:class = ^(org.cachyos.KernelManager)$
|
|
||||||
match:title = ^(CachyOS Kernel Manager)$
|
|
||||||
match:initial_class = ^(org.cachyos.KernelManager)$
|
|
||||||
match:initial_title = ^(CachyOS Kernel Manager)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Mainline Kernels
|
|
||||||
windowrule {
|
|
||||||
name = Mainline Kernels
|
|
||||||
match:class = ^(mainline-gtk)$
|
|
||||||
match:title = ^(Mainline Kernels)$
|
|
||||||
match:initial_class = ^(mainline-gtk)$
|
|
||||||
match:initial_title = ^(Mainline Kernels)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.45) (monitor_h*0.55)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Kwallet
|
|
||||||
windowrule {
|
|
||||||
name = Kwallet
|
|
||||||
match:class = ^(org.kde.kwalletmanager)$
|
|
||||||
match:title = ^(Wallet Manager)$
|
|
||||||
match:initial_class = ^(org.kde.kwalletmanager)$
|
|
||||||
match:initial_title = ^(Wallet Manager)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for NVIDIA Settings
|
|
||||||
windowrule {
|
|
||||||
name = NVIDIA Settings
|
|
||||||
match:class = ^(nvidia-settings)$
|
|
||||||
match:title = ^(NVIDIA Settings)$
|
|
||||||
match:initial_class = ^(nvidia-settings)$
|
|
||||||
match:initial_title = ^(NVIDIA Settings)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for CachyOS Package Installer
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Package Installer
|
|
||||||
match:class = ^(org.cachyos.cachyos-pi)$
|
|
||||||
match:title = ^(CachyOS Package Installer)$
|
|
||||||
match:initial_class = ^(org.cachyos.cachyos-pi)$
|
|
||||||
match:initial_title = ^(CachyOS Package Installer)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for Shelly
|
|
||||||
windowrule {
|
|
||||||
name = Shelly
|
|
||||||
match:class = ^(com.shellyorg.shelly)$
|
|
||||||
match:title = ^(Shelly)$
|
|
||||||
match:initial_class = ^(com.shellyorg.shelly)$
|
|
||||||
match:initial_title = ^(Shelly)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for CachyOS Hello
|
|
||||||
windowrule {
|
|
||||||
name = CachyOS Hello
|
|
||||||
match:class = ^(CachyOSHello)$
|
|
||||||
match:title = ^(CachyOS Hello)$
|
|
||||||
match:initial_class = ^(CachyOSHello)$
|
|
||||||
match:initial_title = ^(CachyOS Hello)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Cache Cleaner - Octopi
|
|
||||||
windowrule {
|
|
||||||
name = Cache Cleaner - Octopi
|
|
||||||
match:class = ^(octopi-cachecleaner)$
|
|
||||||
match:title = ^(Cache Cleaner - Octopi)$
|
|
||||||
match:initial_class = ^(octopi-cachecleaner)$
|
|
||||||
match:initial_title = ^(Cache Cleaner - Octopi)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Octopi Package Manager
|
|
||||||
windowrule {
|
|
||||||
name = Octopi Package Manager
|
|
||||||
match:class = ^(octopi)$
|
|
||||||
match:title = ^(Octopi)$
|
|
||||||
match:initial_class = ^(octopi)$
|
|
||||||
match:initial_title = ^(Octopi)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Repository Editor - Octopi
|
|
||||||
windowrule {
|
|
||||||
name = Repository Editor - Octopi
|
|
||||||
match:class = ^(octopi-repoeditor)$
|
|
||||||
match:title = ^(Repository Editor - Octopi)$
|
|
||||||
match:initial_class = ^(octopi-repoeditor)$
|
|
||||||
match:initial_title = ^(Repository Editor - Octop)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for KooL Cheat (tag)
|
|
||||||
windowrule {
|
|
||||||
name = KooL Cheat (tag)
|
|
||||||
match:tag = KooL_Cheat
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.65) (monitor_h*0.9)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Wallpaper (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Wallpaper (tag)
|
|
||||||
match:tag = wallpaper
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
||||||
opacity = 0.9 0.7
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Settings (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Settings (tag)
|
|
||||||
match:tag = settings
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
||||||
opacity = 0.8 0.7
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Viewer (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Viewer (tag)
|
|
||||||
match:tag = viewer
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
opacity = 0.82 0.75
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for KooL Settings (tag)
|
|
||||||
windowrule {
|
|
||||||
name = KooL Settings (tag)
|
|
||||||
match:tag = KooL-Settings
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Multimedia Video (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Multimedia Video (tag)
|
|
||||||
match:tag = multimedia_video
|
|
||||||
no_blur = on
|
|
||||||
opacity = 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Games (tag)
|
|
||||||
windowrule {
|
|
||||||
name = Games (tag)
|
|
||||||
match:tag = games
|
|
||||||
no_blur = on
|
|
||||||
fullscreen = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Ferdium
|
|
||||||
windowrule {
|
|
||||||
name = Ferdium
|
|
||||||
match:class = ^([Ff]erdium)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.7)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Calculators
|
|
||||||
windowrule {
|
|
||||||
name = Calculators
|
|
||||||
match:class = (org.gnome.Calculator|qalculate-gtk)
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.55) (monitor_h*0.45)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Thunar Dialogs
|
|
||||||
windowrule {
|
|
||||||
name = Thunar Dialogs
|
|
||||||
match:class = ([Tt]hunar)
|
|
||||||
match:title = negative:(.*[Tt]hunar.*)
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Bitwarden
|
|
||||||
windowrule {
|
|
||||||
name = Bitwarden
|
|
||||||
match:class = ^(Bitwarden)$
|
|
||||||
match:title = ^(Bitwarden)$
|
|
||||||
match:initial_class = ^(Bitwarden)$
|
|
||||||
match:initial_title = ^(Bitwarden)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for hyprpwcenter audio control panel
|
|
||||||
windowrule {
|
|
||||||
name = hyprland audio panel
|
|
||||||
match:class = ^(hyprpwcenter)$
|
|
||||||
match:initial_class = ^(hyprpwcenter)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
# Named rule for Garida Assistant
|
|
||||||
windowrule {
|
|
||||||
name = Garuda Assistant
|
|
||||||
match:class = ^(garuda-assistant)$
|
|
||||||
match:title = ^(Garuda Assistant)$
|
|
||||||
match:initial_class = ^(garuda-assistant)$
|
|
||||||
match:initial_title = ^(Garuda Assistant)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for HyprMod HL config GUI
|
|
||||||
windowrule {
|
|
||||||
name = HyprMod GUI
|
|
||||||
match:class = ^(com.github.hyprmod)$
|
|
||||||
match:title = ^(HyprMod)$
|
|
||||||
match:initial_class = ^(com.github.hyprmod)$
|
|
||||||
match:initial_title = ^(HyprMod)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
||||||
}
|
|
||||||
# Named rule for easy effects
|
|
||||||
windowrule {
|
|
||||||
name = EasyEffects
|
|
||||||
match:class = ^(com.github.wwmm.easyeffects)$
|
|
||||||
match:title = ^(Easy Effects)$
|
|
||||||
match:initial_class = ^(com.github.wwmm.easyeffects)$
|
|
||||||
match:initial_title = ^(Easy Effects)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.6) (monitor_h*0.65)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Named rule for Mousam weather GUI
|
|
||||||
windowrule {
|
|
||||||
name = Mousam Weather
|
|
||||||
match:class = ^(io.github.amit9838.mousam)$
|
|
||||||
match:title = ^(Mousam)$
|
|
||||||
match:initial_class = ^(io.github.amit9838.mousam)$
|
|
||||||
match:initial_title = ^(Mousam)$
|
|
||||||
float = on
|
|
||||||
center = on
|
|
||||||
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#layerrule = ignorezero, class:^([Rr]ofi)$
|
||||||
|
#layerrule = blur, class:^([Rr]ofi)$
|
||||||
|
#layerrule = unset,class:^([Rr]ofi)$
|
||||||
|
#layerrule = ignorezero, <rofi>
|
||||||
|
|
||||||
|
#layerrule = ignorezero, overview
|
||||||
|
#layerrule = blur, overview
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# Hypridle
|
# Hypridle
|
||||||
# Original config submitted by https://github.com/SherLock707
|
# Original config submitted by https://github.com/SherLock707
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# Always refer to Hyprland wiki
|
# Always refer to Hyprland wiki
|
||||||
# https://wiki.hyprland.org/
|
# https://wiki.hyprland.org/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# Hyprlock config for < 1080p monitor resolutions
|
# Hyprlock config for < 1080p monitor resolutions
|
||||||
# Original config submitted by https://github.com/SherLock707
|
# Original config submitted by https://github.com/SherLock707
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
||||||
$Scripts = $HOME/.config/hypr/scripts
|
$Scripts = $HOME/.config/hypr/scripts
|
||||||
|
|
||||||
general {
|
general {
|
||||||
|
grace = 1
|
||||||
fractional_scaling = 2
|
fractional_scaling = 2
|
||||||
immediate_render = true
|
immediate_render = true
|
||||||
}
|
}
|
||||||
|
|
@ -96,7 +97,7 @@ label {
|
||||||
# position = 0, 280
|
# position = 0, 280
|
||||||
# halign = center
|
# halign = center
|
||||||
# valign = bottom
|
# valign = bottom
|
||||||
# }
|
}
|
||||||
|
|
||||||
# USER
|
# USER
|
||||||
label {
|
label {
|
||||||
|
|
@ -169,7 +170,7 @@ label {
|
||||||
|
|
||||||
# weather edit the scripts for locations
|
# weather edit the scripts for locations
|
||||||
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
||||||
# see https://github.com/LinuxBeginnings/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
|
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
|
||||||
|
|
|
||||||
|
|
@ -1,182 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
|
||||||
# Hyprlock config for => 2k monitor resolutions
|
|
||||||
# Original config submitted by https://github.com/SherLock707
|
|
||||||
|
|
||||||
# Sourcing colors generated by wallust
|
|
||||||
source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
|
||||||
$Scripts = $HOME/.config/hypr/scripts
|
|
||||||
|
|
||||||
general {
|
|
||||||
fractional_scaling = 2
|
|
||||||
immediate_render = true
|
|
||||||
}
|
|
||||||
|
|
||||||
background {
|
|
||||||
monitor =
|
|
||||||
# NOTE: use only 1 path
|
|
||||||
#path = screenshot # screenshot of your desktop
|
|
||||||
#path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_modified # by wallpaper effects
|
|
||||||
path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # current wallpaper
|
|
||||||
|
|
||||||
color = rgb(0,0,0) # color will be rendered initially until path is available
|
|
||||||
|
|
||||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
|
||||||
blur_size = 3
|
|
||||||
blur_passes = 2 # 0 disables blurring
|
|
||||||
noise = 0.0117
|
|
||||||
contrast = 1.3000 # Vibrant!!!
|
|
||||||
brightness = 0.8000
|
|
||||||
vibrancy = 0.2100
|
|
||||||
vibrancy_darkness = 0.0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Date
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:18000000] echo "<b> "$(date +'%A, %-d %B')" </b>"
|
|
||||||
color = $color13
|
|
||||||
font_size = 64
|
|
||||||
font_family = Victor Mono Bold Italic
|
|
||||||
position = 0, -20
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
|
|
||||||
# Hour-Time (single horizontal time like 1080p variant)
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
# text = cmd[update:1000] echo "$(date +"%H:%M")" # 24h option
|
|
||||||
text = cmd[update:1000] echo "$(date +"%I:%M %p")" # AM/PM
|
|
||||||
#color = rgba(255, 185, 0, .8)
|
|
||||||
color = $color8
|
|
||||||
font_size = 173
|
|
||||||
font_family = JetBrainsMono Nerd Font ExtraBold
|
|
||||||
position = 0, -133
|
|
||||||
halign = center
|
|
||||||
valign = top
|
|
||||||
}
|
|
||||||
|
|
||||||
# Minute-Time (disabled; kept for reference)
|
|
||||||
# label {
|
|
||||||
# monitor =
|
|
||||||
# text = cmd[update:1000] echo "$(date +"%M")"
|
|
||||||
# #color = rgba(15, 10, 222, .8)
|
|
||||||
# color = $color12
|
|
||||||
# font_size = 240
|
|
||||||
# font_family = JetBrainsMono Nerd Font ExtraBold
|
|
||||||
# position = 0, -450
|
|
||||||
# halign = center
|
|
||||||
# valign = top
|
|
||||||
# }
|
|
||||||
|
|
||||||
# Seconds-Time (disabled; kept for reference)
|
|
||||||
# label {
|
|
||||||
# monitor =
|
|
||||||
# text = cmd[update:1000] echo "$(date +"%S")"
|
|
||||||
# # text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM
|
|
||||||
# color = $color11
|
|
||||||
# font_size = 50
|
|
||||||
# font_family = JetBrainsMono Nerd Font ExtraBold
|
|
||||||
# position = 0, -450
|
|
||||||
# halign = center
|
|
||||||
# valign = top
|
|
||||||
# }
|
|
||||||
|
|
||||||
# Put a picture of choice here. Default is the current wallpaper
|
|
||||||
# image {
|
|
||||||
# monitor =
|
|
||||||
# #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current
|
|
||||||
# size = 160
|
|
||||||
# rounding = -1
|
|
||||||
# border_size = 0
|
|
||||||
# border_color = $color11
|
|
||||||
# rotate = 0
|
|
||||||
# reload_time = -1
|
|
||||||
# position = 0, 400
|
|
||||||
# halign = center
|
|
||||||
# valign = bottom
|
|
||||||
# }
|
|
||||||
|
|
||||||
# USER
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = $USER
|
|
||||||
color = $color9
|
|
||||||
font_size = 48
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
position = 0, 300
|
|
||||||
halign = center
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# INPUT FIELD
|
|
||||||
input-field {
|
|
||||||
monitor =
|
|
||||||
size = 306, 93
|
|
||||||
outline_thickness = 2
|
|
||||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
|
||||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
|
||||||
dots_center = true
|
|
||||||
outer_color = $color8
|
|
||||||
inner_color = rgba(255, 255, 255, 0.1)
|
|
||||||
capslock_color = rgb(255,255,255)
|
|
||||||
font_color = $color13
|
|
||||||
fade_on_empty = false
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
placeholder_text = <i><span foreground="##ffffff99">🔒 Type Password</span></i>
|
|
||||||
hide_input = false
|
|
||||||
position = 0, 100
|
|
||||||
halign = center
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# Keyboard LAYOUT
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = $LAYOUT
|
|
||||||
color = $color8
|
|
||||||
font_size = 19
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
position = 0, 53
|
|
||||||
halign = center
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# uptime
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:60000] echo "<b> "$(uptime -p || $Scripts/UptimeNixOS.sh)" </b>"
|
|
||||||
color = $color8
|
|
||||||
font_size = 32
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
position = 0, 0
|
|
||||||
halign = right
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# battery information
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:1000] echo "<b> "$($Scripts/Battery.sh)" </b>"
|
|
||||||
color = $color8
|
|
||||||
font_size = 21
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
position = 0, 40
|
|
||||||
halign = right
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
# weather edit the scripts for locations
|
|
||||||
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
|
||||||
# see https://github.com/LinuxBeginnings/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
|
|
||||||
color = $color8
|
|
||||||
font_size = 19
|
|
||||||
font_family = Victor Mono Bold Oblique
|
|
||||||
position = 50, 0
|
|
||||||
halign = left
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# Hyprlock config for => 2k monitor resolutions
|
# Hyprlock config for => 2k monitor resolutions
|
||||||
# Original config submitted by https://github.com/SherLock707
|
# Original config submitted by https://github.com/SherLock707
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
||||||
$Scripts = $HOME/.config/hypr/scripts
|
$Scripts = $HOME/.config/hypr/scripts
|
||||||
|
|
||||||
general {
|
general {
|
||||||
|
grace = 1
|
||||||
fractional_scaling = 2
|
fractional_scaling = 2
|
||||||
immediate_render = true
|
immediate_render = true
|
||||||
}
|
}
|
||||||
|
|
@ -169,7 +170,7 @@ label {
|
||||||
|
|
||||||
# weather edit the scripts for locations
|
# weather edit the scripts for locations
|
||||||
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
||||||
# see https://github.com/LinuxBeginnings/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
|
text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# A bash script designed to run only once dotfiles installed
|
# A bash script designed to run only once dotfiles installed
|
||||||
|
|
||||||
# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf
|
# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf
|
||||||
|
|
@ -17,14 +17,7 @@ gtk_theme="Flat-Remix-GTK-Blue-Dark"
|
||||||
icon_theme="Flat-Remix-Blue-Dark"
|
icon_theme="Flat-Remix-Blue-Dark"
|
||||||
cursor_theme="Bibata-Modern-Ice"
|
cursor_theme="Bibata-Modern-Ice"
|
||||||
|
|
||||||
if command -v awww >/dev/null 2>&1; then
|
swww="swww img"
|
||||||
WWW="awww"
|
|
||||||
DAEMON="awww-daemon"
|
|
||||||
else
|
|
||||||
WWW="swww"
|
|
||||||
DAEMON="swww-daemon"
|
|
||||||
fi
|
|
||||||
swww="$WWW img"
|
|
||||||
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
||||||
|
|
||||||
# Check if a marker file exists.
|
# Check if a marker file exists.
|
||||||
|
|
@ -33,7 +26,7 @@ if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then
|
||||||
# Initialize wallust and wallpaper
|
# Initialize wallust and wallpaper
|
||||||
if [ -f "$wallpaper" ]; then
|
if [ -f "$wallpaper" ]; then
|
||||||
wallust run -s $wallpaper > /dev/null
|
wallust run -s $wallpaper > /dev/null
|
||||||
$WWW query || $DAEMON && $swww $wallpaper $effect
|
swww query || swww-daemon && $swww $wallpaper $effect
|
||||||
"$scriptsDir/WallustSwww.sh" > /dev/null 2>&1 &
|
"$scriptsDir/WallustSwww.sh" > /dev/null 2>&1 &
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -56,6 +49,9 @@ if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then
|
||||||
# initiate kvantum theme
|
# initiate kvantum theme
|
||||||
kvantummanager --set "$kvantum_theme" > /dev/null 2>&1 &
|
kvantummanager --set "$kvantum_theme" > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
# initiate the kb_layout (for some reason) waybar cant launch it
|
||||||
|
"$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 &
|
||||||
|
|
||||||
# waybar style
|
# waybar style
|
||||||
#if [ -L "$HOME/.config/waybar/config" ]; then
|
#if [ -L "$HOME/.config/waybar/config" ]; then
|
||||||
## ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
|
## ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
# default Monitor config
|
# default Monitor config
|
||||||
|
|
||||||
# *********************************************************** #
|
# *********************************************************** #
|
||||||
|
|
@ -36,7 +36,7 @@ monitor=,highres,auto,1
|
||||||
#monitor = HDMI-A-1, preferred,auto,1
|
#monitor = HDMI-A-1, preferred,auto,1
|
||||||
|
|
||||||
# QEMU-KVM, virtual box or vmware
|
# QEMU-KVM, virtual box or vmware
|
||||||
monitor = Virtual-1, 1920x1080@60,auto,1
|
#monitor = Virtual-1, 1920x1080@60,auto,1
|
||||||
|
|
||||||
# to disable a monitor
|
# to disable a monitor
|
||||||
#monitor=name,disable
|
#monitor=name,disable
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Airplane Mode. Turning on or off all wifi using rfkill.
|
# Airplane Mode. Turning on or off all wifi using rfkill.
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/ja.png"
|
notif="$HOME/.config/swaync/images/ja.png"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# For applying Animations from different users
|
# For applying Animations from different users
|
||||||
|
|
||||||
# Check if rofi is already running
|
# Check if rofi is already running
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
for i in {0..3}; do
|
for i in {0..3}; do
|
||||||
if [ -f /sys/class/power_supply/BAT$i/capacity ]; then
|
if [ -f /sys/class/power_supply/BAT$i/capacity ]; then
|
||||||
battery_level=$(cat /sys/class/power_supply/BAT$i/status)
|
battery_level=$(cat /sys/class/power_supply/BAT$i/status)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Script for Monitor backlights (if supported) using brightnessctl
|
# Script for Monitor backlights (if supported) using brightnessctl
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
iDIR="$HOME/.config/swaync/icons"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Script for keyboard backlights (if supported) using brightnessctl
|
# Script for keyboard backlights (if supported) using brightnessctl
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
iDIR="$HOME/.config/swaync/icons"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Script for changing blurs on the fly
|
# Script for changing blurs on the fly
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images"
|
notif="$HOME/.config/swaync/images"
|
||||||
|
|
|
||||||
|
|
@ -1,110 +1,24 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
# for changing Hyprland Layouts (Master or Dwindle) on the fly
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# for changing Hyprland Layouts (master, dwindle, scrolling, monocle) on the fly
|
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/ja.png"
|
notif="$HOME/.config/swaync/images/ja.png"
|
||||||
|
|
||||||
layouts=(master dwindle scrolling monocle)
|
LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
|
||||||
|
|
||||||
get_layout() {
|
case $LAYOUT in
|
||||||
hyprctl -j getoption general:layout | jq -r '.str'
|
"master")
|
||||||
}
|
hyprctl keyword general:layout dwindle
|
||||||
|
# SUPER+J/K are global and managed by KeybindsLayoutInit.sh; only manage SUPER+O here
|
||||||
next_layout() {
|
hyprctl keyword bind SUPER,O,togglesplit
|
||||||
local current="$1"
|
|
||||||
local i
|
|
||||||
for i in "${!layouts[@]}"; do
|
|
||||||
if [[ "${layouts[i]}" == "$current" ]]; then
|
|
||||||
echo "${layouts[((i + 1) % ${#layouts[@]})]}"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "${layouts[0]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_layout() {
|
|
||||||
local target="$1"
|
|
||||||
|
|
||||||
hyprctl keyword general:layout "$target"
|
|
||||||
hyprctl keyword unbind SUPER,j
|
|
||||||
hyprctl keyword unbind SUPER,k
|
|
||||||
hyprctl keyword unbind SUPER,left
|
|
||||||
hyprctl keyword unbind SUPER,right
|
|
||||||
hyprctl keyword unbind SUPER,up
|
|
||||||
hyprctl keyword unbind SUPER,down
|
|
||||||
hyprctl keyword unbind SUPER,O
|
|
||||||
|
|
||||||
case "$target" in
|
|
||||||
"dwindle")
|
|
||||||
hyprctl keyword bind SUPER,j,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,k,cyclenext,prev
|
|
||||||
hyprctl keyword bind SUPER,left,cyclenext,prev
|
|
||||||
hyprctl keyword bind SUPER,up,cyclenext,prev
|
|
||||||
hyprctl keyword bind SUPER,right,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,down,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,O,layoutmsg,togglesplit
|
|
||||||
notify-send -e -u low -i "$notif" " Dwindle Layout"
|
notify-send -e -u low -i "$notif" " Dwindle Layout"
|
||||||
;;
|
;;
|
||||||
"scrolling")
|
"dwindle")
|
||||||
hyprctl keyword bind SUPER,j,cyclenext
|
hyprctl keyword general:layout master
|
||||||
hyprctl keyword bind SUPER,k,cyclenext,prev
|
# Drop togglesplit binding on SUPER+O when switching back to master
|
||||||
hyprctl keyword bind SUPER,left,cyclenext,prev
|
hyprctl keyword unbind SUPER,O
|
||||||
hyprctl keyword bind SUPER,up,cyclenext,prev
|
|
||||||
hyprctl keyword bind SUPER,right,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,down,cyclenext
|
|
||||||
notify-send -e -u low -i "$notif" " Scrolling Layout"
|
|
||||||
;;
|
|
||||||
"monocle")
|
|
||||||
hyprctl keyword bind SUPER,j,layoutmsg,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,k,layoutmsg,cycleprev
|
|
||||||
hyprctl keyword bind SUPER,left,layoutmsg,cycleprev
|
|
||||||
hyprctl keyword bind SUPER,up,layoutmsg,cycleprev
|
|
||||||
hyprctl keyword bind SUPER,right,layoutmsg,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,down,layoutmsg,cyclenext
|
|
||||||
notify-send -e -u low -i "$notif" " Monocle Layout"
|
|
||||||
;;
|
|
||||||
"master")
|
|
||||||
hyprctl keyword bind SUPER,j,layoutmsg,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,k,layoutmsg,cycleprev
|
|
||||||
hyprctl keyword bind SUPER,left,movefocus,l
|
|
||||||
hyprctl keyword bind SUPER,right,movefocus,r
|
|
||||||
hyprctl keyword bind SUPER,up,movefocus,u
|
|
||||||
hyprctl keyword bind SUPER,down,movefocus,d
|
|
||||||
notify-send -e -u low -i "$notif" " Master Layout"
|
notify-send -e -u low -i "$notif" " Master Layout"
|
||||||
;;
|
;;
|
||||||
*)
|
*) ;;
|
||||||
hyprctl keyword bind SUPER,j,layoutmsg,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,k,layoutmsg,cycleprev
|
|
||||||
hyprctl keyword bind SUPER,left,movefocus,l
|
|
||||||
hyprctl keyword bind SUPER,right,movefocus,r
|
|
||||||
hyprctl keyword bind SUPER,up,movefocus,u
|
|
||||||
hyprctl keyword bind SUPER,down,movefocus,d
|
|
||||||
echo "Unknown layout: $target" >&2
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
current="$(get_layout)"
|
|
||||||
arg="${1:-toggle}"
|
|
||||||
|
|
||||||
case "$arg" in
|
|
||||||
init)
|
|
||||||
set_layout "$current"
|
|
||||||
;;
|
|
||||||
toggle|next)
|
|
||||||
set_layout "$(next_layout "$current")"
|
|
||||||
;;
|
|
||||||
master|dwindle|scrolling|monocle)
|
|
||||||
set_layout "$arg"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $(basename "$0") [toggle|next|init|master|dwindle|scrolling|monocle]" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
|
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,16 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# For Dark and Light switching
|
# For Dark and Light switching
|
||||||
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories
|
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
|
||||||
wallpaper_base_path="$PICTURES_DIR/wallpapers/Dynamic-Wallpapers"
|
|
||||||
dark_wallpapers="$wallpaper_base_path/Dark"
|
dark_wallpapers="$wallpaper_base_path/Dark"
|
||||||
light_wallpapers="$wallpaper_base_path/Light"
|
light_wallpapers="$wallpaper_base_path/Light"
|
||||||
hypr_config_path="$HOME/.config/hypr"
|
hypr_config_path="$HOME/.config/hypr"
|
||||||
swaync_style="$HOME/.config/swaync/style.css"
|
swaync_style="$HOME/.config/swaync/style.css"
|
||||||
ags_style="$HOME/.config/ags/user/style.css"
|
ags_style="$HOME/.config/ags/user/style.css"
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
# shellcheck source=/dev/null
|
|
||||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
notif="$HOME/.config/swaync/images/bell.png"
|
||||||
wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi"
|
wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi"
|
||||||
|
|
||||||
|
|
@ -27,10 +19,6 @@ kitty_conf="$HOME/.config/kitty/kitty.conf"
|
||||||
wallust_config="$HOME/.config/wallust/wallust.toml"
|
wallust_config="$HOME/.config/wallust/wallust.toml"
|
||||||
pallete_dark="dark16"
|
pallete_dark="dark16"
|
||||||
pallete_light="light16"
|
pallete_light="light16"
|
||||||
qt5ct_dark="$HOME/.config/qt5ct/colors/Catppuccin-Mocha.conf"
|
|
||||||
qt5ct_light="$HOME/.config/qt5ct/colors/Catppuccin-Latte.conf"
|
|
||||||
qt6ct_dark="$HOME/.config/qt6ct/colors/Catppuccin-Mocha.conf"
|
|
||||||
qt6ct_light="$HOME/.config/qt6ct/colors/Catppuccin-Latte.conf"
|
|
||||||
|
|
||||||
# intial kill process
|
# intial kill process
|
||||||
for pid in waybar rofi swaync ags swaybg; do
|
for pid in waybar rofi swaync ags swaybg; do
|
||||||
|
|
@ -38,11 +26,11 @@ for pid in waybar rofi swaync ags swaybg; do
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# Initialize wallpaper daemon if needed
|
# Initialize swww if needed
|
||||||
"$WWW_CMD" query || "$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}"
|
swww query || swww-daemon --format xrgb
|
||||||
|
|
||||||
# Set swww options
|
# Set swww options
|
||||||
swww="$WWW_CMD img"
|
swww="swww img"
|
||||||
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
||||||
|
|
||||||
# Determine current theme mode
|
# Determine current theme mode
|
||||||
|
|
@ -55,14 +43,6 @@ else
|
||||||
# Logic for Light mode
|
# Logic for Light mode
|
||||||
wallpaper_path="$light_wallpapers"
|
wallpaper_path="$light_wallpapers"
|
||||||
fi
|
fi
|
||||||
# Select Qt color scheme templates for the upcoming mode
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
qt5ct_color_scheme="$qt5ct_dark"
|
|
||||||
qt6ct_color_scheme="$qt6ct_dark"
|
|
||||||
else
|
|
||||||
qt5ct_color_scheme="$qt5ct_light"
|
|
||||||
qt6ct_color_scheme="$qt6ct_light"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to update theme mode for the next cycle
|
# Function to update theme mode for the next cycle
|
||||||
update_theme_mode() {
|
update_theme_mode() {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Simple bash script to check and will try to update your system
|
# Simple bash script to check and will try to update your system
|
||||||
|
|
||||||
# Local Paths
|
# Local Paths
|
||||||
|
|
@ -20,23 +15,23 @@ fi
|
||||||
if command -v paru &> /dev/null || command -v yay &> /dev/null; then
|
if command -v paru &> /dev/null || command -v yay &> /dev/null; then
|
||||||
# Arch-based
|
# Arch-based
|
||||||
if command -v paru &> /dev/null; then
|
if command -v paru &> /dev/null; then
|
||||||
kitty -T update -e paru -Syu
|
kitty -T update paru -Syu
|
||||||
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
||||||
else
|
else
|
||||||
kitty -T update -e yay -Syu
|
kitty -T update yay -Syu
|
||||||
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
||||||
fi
|
fi
|
||||||
elif command -v dnf &> /dev/null; then
|
elif command -v dnf &> /dev/null; then
|
||||||
# Fedora-based
|
# Fedora-based
|
||||||
kitty -T update -e sudo dnf update --refresh -y
|
kitty -T update sudo dnf update --refresh -y
|
||||||
notify-send -i "$iDIR/ja.png" -u low 'Fedora system' 'has been updated.'
|
notify-send -i "$iDIR/ja.png" -u low 'Fedora system' 'has been updated.'
|
||||||
elif command -v apt &> /dev/null; then
|
elif command -v apt &> /dev/null; then
|
||||||
# Debian-based (Debian, Ubuntu, etc.)
|
# Debian-based (Debian, Ubuntu, etc.)
|
||||||
kitty -T update -e bash -c "sudo apt update && sudo apt upgrade -y"
|
kitty -T update sudo apt update && sudo apt upgrade -y
|
||||||
notify-send -i "$iDIR/ja.png" -u low 'Debian/Ubuntu system' 'has been updated.'
|
notify-send -i "$iDIR/ja.png" -u low 'Debian/Ubuntu system' 'has been updated.'
|
||||||
elif command -v zypper &> /dev/null; then
|
elif command -v zypper &> /dev/null; then
|
||||||
# openSUSE-based
|
# openSUSE-based
|
||||||
kitty -T update -e sudo zypper dup -y
|
kitty -T update sudo zypper dup -y
|
||||||
notify-send -i "$iDIR/ja.png" -u low 'openSUSE system' 'has been updated.'
|
notify-send -i "$iDIR/ja.png" -u low 'openSUSE system' 'has been updated.'
|
||||||
else
|
else
|
||||||
# Unsupported distro
|
# Unsupported distro
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
#
|
#
|
||||||
# Made and brought to by Kiran George
|
# Made and brought to by Kiran George
|
||||||
# /* -- ✨ https://github.com/SherLock707 ✨ -- */ ##
|
# /* -- ✨ https://github.com/SherLock707 ✨ -- */ ##
|
||||||
|
|
@ -17,13 +12,7 @@
|
||||||
|
|
||||||
DEBUG=false
|
DEBUG=false
|
||||||
SPECIAL_WS="special:scratchpad"
|
SPECIAL_WS="special:scratchpad"
|
||||||
SPECIAL_NAME="${SPECIAL_WS#special:}"
|
|
||||||
ADDR_FILE="/tmp/dropdown_terminal_addr"
|
ADDR_FILE="/tmp/dropdown_terminal_addr"
|
||||||
STATE_FILE="/tmp/dropdown_terminal_state"
|
|
||||||
LOCK_FILE="/tmp/dropdown_terminal_lock"
|
|
||||||
LAST_TOGGLE_FILE="/tmp/dropdown_terminal_last_toggle"
|
|
||||||
MIN_TOGGLE_INTERVAL_MS=250
|
|
||||||
DROPDOWN_KITTY_CLASS="kitty-dropterm"
|
|
||||||
|
|
||||||
# Dropdown size and position configuration (percentages)
|
# Dropdown size and position configuration (percentages)
|
||||||
WIDTH_PERCENT=65 # Width as percentage of screen width
|
WIDTH_PERCENT=65 # Width as percentage of screen width
|
||||||
|
|
@ -42,65 +31,14 @@ if [ "$1" = "-d" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TERMINAL_CMD="$1"
|
TERMINAL_CMD="$1"
|
||||||
if [[ "$TERMINAL_CMD" == kitty* ]] && [[ "$TERMINAL_CMD" != *"--class"* ]] && [[ "$TERMINAL_CMD" != *"--name"* ]] && [[ "$TERMINAL_CMD" != *"--app-id"* ]]; then
|
|
||||||
TERMINAL_CMD="$TERMINAL_CMD --class $DROPDOWN_KITTY_CLASS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ensure only one instance runs at a time (prevents overlapping animations)
|
|
||||||
exec 9>"$LOCK_FILE"
|
|
||||||
flock -n 9 || exit 0
|
|
||||||
|
|
||||||
# Debounce rapid toggles
|
|
||||||
now_ms=""
|
|
||||||
if date +%s%3N >/dev/null 2>&1; then
|
|
||||||
now_ms=$(date +%s%3N)
|
|
||||||
else
|
|
||||||
now_ms=$(( $(date +%s) * 1000 ))
|
|
||||||
fi
|
|
||||||
if [ -f "$LAST_TOGGLE_FILE" ]; then
|
|
||||||
last_ms=$(cat "$LAST_TOGGLE_FILE" 2>/dev/null || echo 0)
|
|
||||||
if [ -n "$last_ms" ] && [ "$last_ms" -ge 0 ] 2>/dev/null; then
|
|
||||||
delta_ms=$((now_ms - last_ms))
|
|
||||||
if [ "$delta_ms" -lt "$MIN_TOGGLE_INTERVAL_MS" ] 2>/dev/null; then
|
|
||||||
if [ "$DEBUG" = true ]; then
|
|
||||||
echo "Toggle debounced (${delta_ms}ms < ${MIN_TOGGLE_INTERVAL_MS}ms)" >&2
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "$now_ms" >"$LAST_TOGGLE_FILE"
|
|
||||||
|
|
||||||
# Debug echo function
|
# Debug echo function
|
||||||
debug_echo() {
|
debug_echo() {
|
||||||
if [ "$DEBUG" = true ]; then
|
if [ "$DEBUG" = true ]; then
|
||||||
echo "$@" >&2
|
echo "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Resolve terminal address, recovering by class if needed
|
|
||||||
resolve_terminal_address() {
|
|
||||||
local addr
|
|
||||||
addr=$(get_terminal_address)
|
|
||||||
if [ -n "$addr" ] && window_exists "$addr"; then
|
|
||||||
echo "$addr"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
local recovered
|
|
||||||
recovered=$(find_terminal_by_class)
|
|
||||||
if [ -n "$recovered" ] && [ "$recovered" != "null" ]; then
|
|
||||||
local mon_name
|
|
||||||
mon_name=$(get_monitor_info | awk '{print $6}')
|
|
||||||
echo "$recovered $mon_name" >"$ADDR_FILE"
|
|
||||||
echo "$recovered"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f "$ADDR_FILE"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Validate input
|
# Validate input
|
||||||
if [ -z "$TERMINAL_CMD" ]; then
|
if [ -z "$TERMINAL_CMD" ]; then
|
||||||
echo "Missing terminal command. Usage: $0 [-d] <terminal_command>"
|
echo "Missing terminal command. Usage: $0 [-d] <terminal_command>"
|
||||||
|
|
@ -124,28 +62,6 @@ get_window_geometry() {
|
||||||
hyprctl clients -j | jq -r --arg ADDR "$addr" '.[] | select(.address == $ADDR) | "\(.at[0]) \(.at[1]) \(.size[0]) \(.size[1])"'
|
hyprctl clients -j | jq -r --arg ADDR "$addr" '.[] | select(.address == $ADDR) | "\(.at[0]) \(.at[1]) \(.size[0]) \(.size[1])"'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to check if window is currently hidden off-screen
|
|
||||||
window_is_hidden() {
|
|
||||||
local addr="$1"
|
|
||||||
local y
|
|
||||||
y=$(hyprctl clients -j 2>/dev/null | jq -r --arg ADDR "$addr" '.[] | select(.address == $ADDR) | .at[1]' 2>/dev/null)
|
|
||||||
if [[ "$y" =~ ^-?[0-9]+$ ]] && [ "$y" -lt 0 ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# State helpers
|
|
||||||
get_hidden_state() {
|
|
||||||
if [ -f "$STATE_FILE" ]; then
|
|
||||||
cat "$STATE_FILE" 2>/dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
set_hidden_state() {
|
|
||||||
echo "$1" >"$STATE_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to animate window slide down (show)
|
# Function to animate window slide down (show)
|
||||||
animate_slide_down() {
|
animate_slide_down() {
|
||||||
local addr="$1"
|
local addr="$1"
|
||||||
|
|
@ -205,30 +121,7 @@ animate_slide_up() {
|
||||||
|
|
||||||
# Function to get monitor info including scale and name of focused monitor
|
# Function to get monitor info including scale and name of focused monitor
|
||||||
get_monitor_info() {
|
get_monitor_info() {
|
||||||
local monitor_data
|
local monitor_data=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.x) \(.y) \(.width) \(.height) \(.scale) \(.name)"')
|
||||||
monitor_data=$(hyprctl monitors -j 2>/dev/null | jq -er 'map(select(.focused == true)) | .[0] | "\(.x) \(.y) \(.width) \(.height) \(.scale) \(.name)"' 2>/dev/null) || monitor_data=""
|
|
||||||
if [ -z "$monitor_data" ]; then
|
|
||||||
# Fallback for older Hyprland without -j support
|
|
||||||
monitor_data=$(hyprctl monitors 2>/dev/null | awk '
|
|
||||||
/^Monitor / {name=$2; sub(/\(.*/, "", name); x=y=w=h=scale=""; focused="no"}
|
|
||||||
/ at / {
|
|
||||||
# e.g. "1920x1080@74.97300 at 0x0"
|
|
||||||
split($1, res, "x"); w=res[1]; split(res[2], tmp, "@"); h=tmp[1]
|
|
||||||
split($4, pos, "x"); x=pos[1]; y=pos[2]
|
|
||||||
}
|
|
||||||
/scale:/ {scale=$2}
|
|
||||||
/focused:/ {focused=$2}
|
|
||||||
/^$/ {
|
|
||||||
if (focused=="yes" && x!="" && y!="" && w!="" && h!="" && scale!="" && name!="") {
|
|
||||||
print x, y, w, h, scale, name; exit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
if (focused=="yes" && x!="" && y!="" && w!="" && h!="" && scale!="" && name!="") {
|
|
||||||
print x, y, w, h, scale, name
|
|
||||||
}
|
|
||||||
}')
|
|
||||||
fi
|
|
||||||
if [ -z "$monitor_data" ] || [[ "$monitor_data" =~ ^null ]]; then
|
if [ -z "$monitor_data" ] || [[ "$monitor_data" =~ ^null ]]; then
|
||||||
debug_echo "Error: Could not get focused monitor information"
|
debug_echo "Error: Could not get focused monitor information"
|
||||||
return 1
|
return 1
|
||||||
|
|
@ -236,7 +129,6 @@ get_monitor_info() {
|
||||||
echo "$monitor_data"
|
echo "$monitor_data"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Function to calculate dropdown position with proper scaling and centering
|
# Function to calculate dropdown position with proper scaling and centering
|
||||||
calculate_dropdown_position() {
|
calculate_dropdown_position() {
|
||||||
local monitor_info=$(get_monitor_info)
|
local monitor_info=$(get_monitor_info)
|
||||||
|
|
@ -256,13 +148,6 @@ calculate_dropdown_position() {
|
||||||
|
|
||||||
debug_echo "Monitor info: x=$mon_x, y=$mon_y, width=$mon_width, height=$mon_height, scale=$mon_scale"
|
debug_echo "Monitor info: x=$mon_x, y=$mon_y, width=$mon_width, height=$mon_height, scale=$mon_scale"
|
||||||
|
|
||||||
# Validate numeric fields
|
|
||||||
if ! [[ "$mon_x" =~ ^-?[0-9]+$ && "$mon_y" =~ ^-?[0-9]+$ && "$mon_width" =~ ^[0-9]+$ && "$mon_height" =~ ^[0-9]+$ ]]; then
|
|
||||||
debug_echo "Invalid monitor info format, using fallback values"
|
|
||||||
echo "100 100 800 600 fallback-monitor"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Validate scale value and provide fallback
|
# Validate scale value and provide fallback
|
||||||
if [ -z "$mon_scale" ] || [ "$mon_scale" = "null" ] || [ "$mon_scale" = "0" ]; then
|
if [ -z "$mon_scale" ] || [ "$mon_scale" = "null" ] || [ "$mon_scale" = "0" ]; then
|
||||||
debug_echo "Invalid scale value, using 1.0 as fallback"
|
debug_echo "Invalid scale value, using 1.0 as fallback"
|
||||||
|
|
@ -322,12 +207,6 @@ get_terminal_address() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Try to find an existing dropdown terminal by class (kitty only)
|
|
||||||
find_terminal_by_class() {
|
|
||||||
hyprctl clients -j 2>/dev/null | jq -r --arg CLASS "$DROPDOWN_KITTY_CLASS" \
|
|
||||||
'.[] | select(.class == $CLASS) | .address' | head -1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to get stored monitor name
|
# Function to get stored monitor name
|
||||||
get_terminal_monitor() {
|
get_terminal_monitor() {
|
||||||
if [ -f "$ADDR_FILE" ] && [ -s "$ADDR_FILE" ]; then
|
if [ -f "$ADDR_FILE" ] && [ -s "$ADDR_FILE" ]; then
|
||||||
|
|
@ -339,48 +218,22 @@ get_terminal_monitor() {
|
||||||
terminal_exists() {
|
terminal_exists() {
|
||||||
local addr=$(get_terminal_address)
|
local addr=$(get_terminal_address)
|
||||||
if [ -n "$addr" ]; then
|
if [ -n "$addr" ]; then
|
||||||
hyprctl clients -j 2>/dev/null | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to check if a window address exists
|
# Function to check if terminal is in special workspace
|
||||||
window_exists() {
|
terminal_in_special() {
|
||||||
local addr="$1"
|
local addr=$(get_terminal_address)
|
||||||
if [ -n "$addr" ]; then
|
if [ -n "$addr" ]; then
|
||||||
hyprctl clients -j 2>/dev/null | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR and .workspace.name == "special:scratchpad")' >/dev/null 2>&1
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Function to check if window is pinned
|
|
||||||
window_is_pinned() {
|
|
||||||
local addr="$1"
|
|
||||||
if [ -n "$addr" ]; then
|
|
||||||
hyprctl clients -j 2>/dev/null | jq -e --arg ADDR "$addr" '.[] | select(.address == $ADDR) | .pinned == true' >/dev/null 2>&1
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ensure pin state without toggling unexpectedly
|
|
||||||
ensure_pinned() {
|
|
||||||
local addr="$1"
|
|
||||||
if ! window_is_pinned "$addr"; then
|
|
||||||
hyprctl dispatch pin "address:$addr" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
ensure_unpinned() {
|
|
||||||
local addr="$1"
|
|
||||||
if window_is_pinned "$addr"; then
|
|
||||||
hyprctl dispatch pin "address:$addr" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to spawn terminal and capture its address
|
# Function to spawn terminal and capture its address
|
||||||
spawn_terminal() {
|
spawn_terminal() {
|
||||||
debug_echo "Creating new dropdown terminal with command: $TERMINAL_CMD"
|
debug_echo "Creating new dropdown terminal with command: $TERMINAL_CMD"
|
||||||
|
|
@ -435,13 +288,12 @@ spawn_terminal() {
|
||||||
|
|
||||||
# Small delay to ensure it's properly in special workspace
|
# Small delay to ensure it's properly in special workspace
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
# Move to current workspace but start hidden off-screen
|
|
||||||
|
# Now bring it back with the same animation as subsequent shows
|
||||||
|
# Use movetoworkspacesilent to avoid affecting workspace history
|
||||||
hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$new_addr"
|
hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$new_addr"
|
||||||
ensure_pinned "$new_addr"
|
hyprctl dispatch pin "address:$new_addr"
|
||||||
hyprctl dispatch resizewindowpixel "exact $width $height,address:$new_addr" >/dev/null 2>&1
|
animate_slide_down "$new_addr" "$target_x" "$target_y" "$width" "$height"
|
||||||
local off_y=$((target_y - height - 200))
|
|
||||||
hyprctl dispatch movewindowpixel "exact $target_x $off_y,address:$new_addr" >/dev/null 2>&1
|
|
||||||
set_hidden_state "hidden"
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -451,9 +303,8 @@ spawn_terminal() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Main logic
|
# Main logic
|
||||||
TERMINAL_ADDR=$(resolve_terminal_address)
|
if terminal_exists; then
|
||||||
|
TERMINAL_ADDR=$(get_terminal_address)
|
||||||
if [ -n "$TERMINAL_ADDR" ]; then
|
|
||||||
debug_echo "Found existing terminal: $TERMINAL_ADDR"
|
debug_echo "Found existing terminal: $TERMINAL_ADDR"
|
||||||
focused_monitor=$(get_monitor_info | awk '{print $6}')
|
focused_monitor=$(get_monitor_info | awk '{print $6}')
|
||||||
dropdown_monitor=$(get_terminal_monitor)
|
dropdown_monitor=$(get_terminal_monitor)
|
||||||
|
|
@ -473,9 +324,8 @@ if [ -n "$TERMINAL_ADDR" ]; then
|
||||||
echo "$TERMINAL_ADDR $monitor_name" >"$ADDR_FILE"
|
echo "$TERMINAL_ADDR $monitor_name" >"$ADDR_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hidden_state=$(get_hidden_state)
|
if terminal_in_special; then
|
||||||
if [ "$hidden_state" = "hidden" ] || [ -z "$hidden_state" ] || window_is_hidden "$TERMINAL_ADDR"; then
|
debug_echo "Bringing terminal from scratchpad with slide down animation"
|
||||||
debug_echo "Bringing terminal from hidden position with slide down animation"
|
|
||||||
|
|
||||||
# Calculate target position
|
# Calculate target position
|
||||||
pos_info=$(calculate_dropdown_position)
|
pos_info=$(calculate_dropdown_position)
|
||||||
|
|
@ -484,16 +334,17 @@ if [ -n "$TERMINAL_ADDR" ]; then
|
||||||
width=$(echo $pos_info | cut -d' ' -f3)
|
width=$(echo $pos_info | cut -d' ' -f3)
|
||||||
height=$(echo $pos_info | cut -d' ' -f4)
|
height=$(echo $pos_info | cut -d' ' -f4)
|
||||||
|
|
||||||
ensure_pinned "$TERMINAL_ADDR"
|
# Use movetoworkspacesilent to avoid affecting workspace history
|
||||||
|
hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$TERMINAL_ADDR"
|
||||||
|
hyprctl dispatch pin "address:$TERMINAL_ADDR"
|
||||||
|
|
||||||
# Set size and animate slide down
|
# Set size and animate slide down
|
||||||
hyprctl dispatch resizewindowpixel "exact $width $height,address:$TERMINAL_ADDR"
|
hyprctl dispatch resizewindowpixel "exact $width $height,address:$TERMINAL_ADDR"
|
||||||
animate_slide_down "$TERMINAL_ADDR" "$target_x" "$target_y" "$width" "$height"
|
animate_slide_down "$TERMINAL_ADDR" "$target_x" "$target_y" "$width" "$height"
|
||||||
|
|
||||||
hyprctl dispatch focuswindow "address:$TERMINAL_ADDR"
|
hyprctl dispatch focuswindow "address:$TERMINAL_ADDR"
|
||||||
set_hidden_state "shown"
|
|
||||||
else
|
else
|
||||||
debug_echo "Hiding terminal off-screen with slide up animation"
|
debug_echo "Hiding terminal to scratchpad with slide up animation"
|
||||||
|
|
||||||
# Get current geometry for animation
|
# Get current geometry for animation
|
||||||
geometry=$(get_window_geometry "$TERMINAL_ADDR")
|
geometry=$(get_window_geometry "$TERMINAL_ADDR")
|
||||||
|
|
@ -508,16 +359,14 @@ if [ -n "$TERMINAL_ADDR" ]; then
|
||||||
# Animate slide up first
|
# Animate slide up first
|
||||||
animate_slide_up "$TERMINAL_ADDR" "$curr_x" "$curr_y" "$curr_width" "$curr_height"
|
animate_slide_up "$TERMINAL_ADDR" "$curr_x" "$curr_y" "$curr_width" "$curr_height"
|
||||||
|
|
||||||
# Move off-screen after animation
|
# Small delay then move to special workspace and unpin
|
||||||
off_y=$((curr_y - curr_height - 200))
|
sleep 0.1
|
||||||
hyprctl dispatch movewindowpixel "exact $curr_x $off_y,address:$TERMINAL_ADDR" >/dev/null 2>&1
|
hyprctl dispatch pin "address:$TERMINAL_ADDR" # Unpin (toggle)
|
||||||
ensure_unpinned "$TERMINAL_ADDR"
|
hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR"
|
||||||
set_hidden_state "hidden"
|
|
||||||
else
|
else
|
||||||
debug_echo "Could not get window geometry, moving off-screen without animation"
|
debug_echo "Could not get window geometry, moving to scratchpad without animation"
|
||||||
hyprctl dispatch movewindowpixel "exact 0 -1000,address:$TERMINAL_ADDR" >/dev/null 2>&1
|
hyprctl dispatch pin "address:$TERMINAL_ADDR"
|
||||||
ensure_unpinned "$TERMINAL_ADDR"
|
hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR"
|
||||||
set_hidden_state "hidden"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -1,103 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# External monitor brightness via ddcutil
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
step=10
|
|
||||||
vcp_code=10
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<'EOF'
|
|
||||||
Usage: ExternalBrightness.sh [--get|--inc|--dec|--set N] [--display N]
|
|
||||||
Env:
|
|
||||||
DDCUTIL_DISPLAY Optional display number passed to ddcutil --display
|
|
||||||
DDCUTIL_OPTS Extra options passed to ddcutil (e.g. "--sleep-multiplier 0.2")
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
ddcutil_cmd() {
|
|
||||||
local display_arg=()
|
|
||||||
local display="${DDCUTIL_DISPLAY:-}"
|
|
||||||
if [[ -n "${display}" ]]; then
|
|
||||||
display_arg+=(--display "${display}")
|
|
||||||
fi
|
|
||||||
ddcutil ${DDCUTIL_OPTS:-} "${display_arg[@]}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_brightness() {
|
|
||||||
# Example output: "VCP code 0x10 (Brightness): current value = 50, max value = 100"
|
|
||||||
local line
|
|
||||||
if ! line="$(ddcutil_cmd getvcp "${vcp_code}" 2>/dev/null | tail -n 1)"; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
local current max
|
|
||||||
current="$(printf "%s" "${line}" | sed -n 's/.*current value = \([0-9]\+\).*/\1/p')"
|
|
||||||
max="$(printf "%s" "${line}" | sed -n 's/.*max value = \([0-9]\+\).*/\1/p')"
|
|
||||||
[[ -n "${current}" && -n "${max}" ]] || return 1
|
|
||||||
printf "%s %s\n" "${current}" "${max}"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_brightness() {
|
|
||||||
local value="$1"
|
|
||||||
ddcutil_cmd setvcp "${vcp_code}" "${value}" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
json_output() {
|
|
||||||
local current max percent icon
|
|
||||||
if ! read -r current max < <(get_brightness); then
|
|
||||||
printf '{"text":" N/A","tooltip":"External brightness unavailable (load i2c-dev, allow i2c access)","class":"brightness-external-off"}\n'
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
percent=$(( current * 100 / max ))
|
|
||||||
if (( percent >= 80 )); then
|
|
||||||
icon=""
|
|
||||||
elif (( percent >= 60 )); then
|
|
||||||
icon=""
|
|
||||||
elif (( percent >= 40 )); then
|
|
||||||
icon=""
|
|
||||||
elif (( percent >= 20 )); then
|
|
||||||
icon=""
|
|
||||||
else
|
|
||||||
icon=""
|
|
||||||
fi
|
|
||||||
printf '{"text":"%s %s%%","tooltip":"External display brightness: %s%%","class":"brightness-external"}\n' "${icon}" "${percent}" "${percent}"
|
|
||||||
}
|
|
||||||
|
|
||||||
case "${1:-}" in
|
|
||||||
--get|"")
|
|
||||||
json_output
|
|
||||||
;;
|
|
||||||
--inc|--dec)
|
|
||||||
read -r current max < <(get_brightness) || exit 1
|
|
||||||
delta=$step
|
|
||||||
[[ "$1" == "--dec" ]] && delta=$(( -step ))
|
|
||||||
new=$(( current + delta ))
|
|
||||||
(( new < 5 )) && new=5
|
|
||||||
(( new > max )) && new="${max}"
|
|
||||||
set_brightness "${new}"
|
|
||||||
json_output
|
|
||||||
;;
|
|
||||||
--set)
|
|
||||||
[[ -n "${2:-}" ]] || { usage; exit 1; }
|
|
||||||
set_brightness "${2}"
|
|
||||||
json_output
|
|
||||||
;;
|
|
||||||
--display)
|
|
||||||
[[ -n "${2:-}" ]] || { usage; exit 1; }
|
|
||||||
DDCUTIL_DISPLAY="${2}" shift 2
|
|
||||||
"${0}" "${@:-"--get"}"
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
|
|
||||||
ws=$(hyprctl activeworkspace -j | jq -r .id)
|
|
||||||
hyprctl clients -j | jq -r --arg ws "$ws" '.[] | select(.workspace.id == ($ws|tonumber)) | .address' | xargs -r -I {} hyprctl dispatch togglefloating address:{}
|
|
||||||
|
|
@ -1,16 +1,9 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ==================================================
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Game Mode. Turning off all animations
|
# Game Mode. Turning off all animations
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/ja.png"
|
notif="$HOME/.config/swaync/images/ja.png"
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
# shellcheck source=/dev/null
|
|
||||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
|
||||||
|
|
||||||
|
|
||||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||||
|
|
@ -24,13 +17,13 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||||
keyword general:border_size 1;\
|
keyword general:border_size 1;\
|
||||||
keyword decoration:rounding 0"
|
keyword decoration:rounding 0"
|
||||||
|
|
||||||
\thyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
||||||
"$WWW_CMD" kill
|
swww kill
|
||||||
notify-send -e -u low -i "$notif" " Gamemode:" " enabled"
|
notify-send -e -u low -i "$notif" " Gamemode:" " enabled"
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
\t"$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}" && "$WWW_CMD" img "$HOME/.config/rofi/.current_wallpaper" &
|
swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
${SCRIPTSDIR}/WallustSwww.sh
|
${SCRIPTSDIR}/WallustSwww.sh
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
|
|
||||||
|
|
@ -1,129 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ==================================================
|
|
||||||
# KoolDots (2026)
|
|
||||||
# Project URL: https://github.com/LinuxBeginnings
|
|
||||||
# License: GNU GPLv3
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
# ==================================================
|
|
||||||
# Ghostty theme selector
|
|
||||||
|
|
||||||
config_file="$HOME/.config/ghostty/config"
|
|
||||||
iDIR="$HOME/.config/swaync/images"
|
|
||||||
rofi_theme_primary="$HOME/.config/rofi/config-ghostty-theme.rasi"
|
|
||||||
rofi_theme_fallback="$HOME/.config/rofi/config-edit.rasi"
|
|
||||||
|
|
||||||
notify_user() {
|
|
||||||
local icon="$1"
|
|
||||||
local title="$2"
|
|
||||||
local body="$3"
|
|
||||||
if [[ -n "$icon" && -f "$icon" ]]; then
|
|
||||||
notify-send -u low -i "$icon" "$title" "$body"
|
|
||||||
else
|
|
||||||
notify-send -u low "$title" "$body"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ ! -f "$config_file" ]]; then
|
|
||||||
notify_user "$iDIR/error.png" "Ghostty Theme" "Config not found: $config_file"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rofi_config_args=()
|
|
||||||
if [[ -f "$rofi_theme_primary" ]]; then
|
|
||||||
rofi_config_args=(-config "$rofi_theme_primary")
|
|
||||||
elif [[ -f "$rofi_theme_fallback" ]]; then
|
|
||||||
rofi_config_args=(-config "$rofi_theme_fallback")
|
|
||||||
fi
|
|
||||||
|
|
||||||
current_theme=$(
|
|
||||||
awk -F'=' '/^[[:space:]]*theme[[:space:]]*=/ {
|
|
||||||
val=$2
|
|
||||||
sub(/^[[:space:]]+/, "", val)
|
|
||||||
sub(/[[:space:]]+$/, "", val)
|
|
||||||
gsub(/^"|"$/, "", val)
|
|
||||||
print val
|
|
||||||
exit
|
|
||||||
}' "$config_file"
|
|
||||||
)
|
|
||||||
|
|
||||||
mapfile -t available_theme_names < <(
|
|
||||||
awk -F'=' '/^[[:space:]]*#[[:space:]]*theme[[:space:]]*=/ {
|
|
||||||
val=$2
|
|
||||||
sub(/^[[:space:]]+/, "", val)
|
|
||||||
sub(/[[:space:]]+$/, "", val)
|
|
||||||
gsub(/^"|"$/, "", val)
|
|
||||||
print val
|
|
||||||
}' "$config_file"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ ${#available_theme_names[@]} -eq 0 ]]; then
|
|
||||||
notify_user "$iDIR/error.png" "Ghostty Theme" "No commented themes found in $config_file"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
menu_entries=()
|
|
||||||
if [[ -n "$current_theme" ]]; then
|
|
||||||
menu_entries+=("Current: $current_theme")
|
|
||||||
fi
|
|
||||||
for t in "${available_theme_names[@]}"; do
|
|
||||||
menu_entries+=("$t")
|
|
||||||
done
|
|
||||||
|
|
||||||
choice=$(
|
|
||||||
printf "%s\n" "${menu_entries[@]}" |
|
|
||||||
rofi -i -dmenu -p "Ghostty Theme" "${rofi_config_args[@]}" -mesg "Select a theme to apply"
|
|
||||||
)
|
|
||||||
|
|
||||||
[[ -z "$choice" ]] && exit 0
|
|
||||||
|
|
||||||
if [[ "$choice" == "Current: "* ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
selected_theme="$choice"
|
|
||||||
|
|
||||||
if [[ -n "$current_theme" && "$selected_theme" == "$current_theme" ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
format_theme_value() {
|
|
||||||
if [[ "$1" =~ [[:space:]] ]]; then
|
|
||||||
printf "\"%s\"" "$1"
|
|
||||||
else
|
|
||||||
printf "%s" "$1"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
selected_formatted=$(format_theme_value "$selected_theme")
|
|
||||||
|
|
||||||
tmp_file=$(mktemp)
|
|
||||||
awk -v selected="$selected_theme" -v selected_formatted="$selected_formatted" '
|
|
||||||
function trim(s) { sub(/^[[:space:]]+/, "", s); sub(/[[:space:]]+$/, "", s); return s }
|
|
||||||
function strip_quotes(s) { gsub(/^"|"$/, "", s); return s }
|
|
||||||
{
|
|
||||||
line=$0
|
|
||||||
if ($0 ~ /^[[:space:]]*theme[[:space:]]*=/) {
|
|
||||||
sub(/^[[:space:]]*theme[[:space:]]*=/, "#theme =", line)
|
|
||||||
print line
|
|
||||||
next
|
|
||||||
}
|
|
||||||
if ($0 ~ /^[[:space:]]*#[[:space:]]*theme[[:space:]]*=/) {
|
|
||||||
val=$0
|
|
||||||
sub(/^[[:space:]]*#[[:space:]]*theme[[:space:]]*=[[:space:]]*/, "", val)
|
|
||||||
val=trim(val)
|
|
||||||
val=strip_quotes(val)
|
|
||||||
if (val == selected) {
|
|
||||||
print "theme = " selected_formatted
|
|
||||||
next
|
|
||||||
}
|
|
||||||
}
|
|
||||||
print $0
|
|
||||||
}' "$config_file" > "$tmp_file"
|
|
||||||
|
|
||||||
mv "$tmp_file" "$config_file"
|
|
||||||
|
|
||||||
pkill -SIGUSR2 ghostty >/dev/null 2>&1 || true
|
|
||||||
|
|
||||||
notify_user "$iDIR/ja.png" "Ghostty Theme Applied" "$selected_theme"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||