Compare commits
16 commits
5ebf1fd8ee
...
0231e0718c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0231e0718c | ||
|
|
d68c5d0d0a | ||
|
|
aa58c91206 | ||
|
|
d1aa48acd7 | ||
|
|
68bc595c8b | ||
|
|
a6e1cf7ed0 | ||
|
|
952cb17005 | ||
|
|
7528fc1ef3 | ||
|
|
5c46f2e62a | ||
|
|
fd205b3db5 | ||
|
|
61667e4f40 | ||
|
|
4f1915f817 | ||
|
|
27ae3143be | ||
|
|
7c2af82416 | ||
|
|
3bb54dcb8b | ||
|
|
2ef49ad89a |
|
|
@ -1,23 +1,18 @@
|
|||
#? Config file for btop v.1.4.7
|
||||
#? Config file for btop v. 1.2.13
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "Default"
|
||||
color_theme = "$HOME/.config/btop/themes/catppuccin_macchiato.theme"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = true
|
||||
theme_background = False
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = true
|
||||
truecolor = True
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = false
|
||||
|
||||
#* 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"
|
||||
force_tty = False
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
|
|
@ -27,16 +22,10 @@ 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.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = false
|
||||
|
||||
#* Disable all mouse events.
|
||||
disable_mouse = false
|
||||
vim_keys = False
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = true
|
||||
|
||||
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
|
||||
terminal_sync = true
|
||||
rounded_corners = True
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
|
|
@ -48,9 +37,6 @@ graph_symbol = "braille"
|
|||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_gpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
|
|
@ -60,89 +46,74 @@ graph_symbol_net = "default"
|
|||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
|
||||
shown_boxes = "proc cpu mem net"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu lazy"
|
||||
proc_sorting = "cpu direct"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = false
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = false
|
||||
proc_tree = False
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = true
|
||||
proc_colors = True
|
||||
|
||||
#* 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.
|
||||
proc_per_core = false
|
||||
proc_per_core = False
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = true
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* 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)
|
||||
proc_info_smaps = false
|
||||
proc_info_smaps = False
|
||||
|
||||
#* 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).
|
||||
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
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "Auto"
|
||||
cpu_graph_upper = "total"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||
show_gpu_info = "Auto"
|
||||
cpu_graph_lower = "total"
|
||||
|
||||
#* 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.
|
||||
cpu_single_graph = false
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = false
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
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_uptime = True
|
||||
|
||||
#* 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.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* 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.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
|
|
@ -154,133 +125,88 @@ cpu_core_map = ""
|
|||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = false
|
||||
base_10_sizes = True
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = true
|
||||
|
||||
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
|
||||
freq_mode = "first"
|
||||
show_cpu_freq = True
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = true
|
||||
background_update = True
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* 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"
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = true
|
||||
mem_graphs = True
|
||||
|
||||
#* 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.
|
||||
zfs_arc_cached = true
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* 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.
|
||||
swap_disk = true
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = true
|
||||
show_disks = False
|
||||
|
||||
#* 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.
|
||||
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)
|
||||
zfs_hide_datasets = false
|
||||
zfs_hide_datasets = False
|
||||
|
||||
#* 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.
|
||||
show_io_stat = true
|
||||
show_io_stat = True
|
||||
|
||||
#* 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.
|
||||
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 " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
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.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = true
|
||||
net_auto = True
|
||||
|
||||
#* 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.
|
||||
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 = true
|
||||
show_battery = False
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = true
|
||||
|
||||
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
|
||||
#* 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/JaKooLit 💫 -------- */ #
|
||||
# /* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */ #
|
||||
|
||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||
|
||||
|
|
|
|||
86
.config/fastfetch/config-compact-legacy.jsonc
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/* ----------- 💫 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,85 +1,65 @@
|
|||
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||
|
||||
/**
|
||||
* ┏┓┏┓┏┓┏┳┓┏┓┏┓┏┳┓┏┓┓┏
|
||||
* ┣ ┣┫┗┓ ┃ ┣ ┣ ┃ ┃ ┣┫
|
||||
* ┻ ┛┗┗┛ ┻ ┻ ┗┛ ┻ ┗┛┛┗
|
||||
*
|
||||
*/
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
// "type": "auto",
|
||||
// x."source": "~/.config/fastfetch/logo.png",
|
||||
// "height": 10,
|
||||
"padding": {
|
||||
"top": 2
|
||||
"top": 3,
|
||||
"right": 2
|
||||
},
|
||||
"type": "small"
|
||||
},
|
||||
"display": {
|
||||
"separator": " -> "
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
"break",
|
||||
"break",
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"keyWidth": 10,
|
||||
"format": " {6}{7}{8}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
"type": "os",
|
||||
"key": " ",
|
||||
"keyColor": "31"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
"key": " ",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"keyColor": "blue",
|
||||
"key": " ",
|
||||
"text": "echo Jakoolit: v${DOTS_VERSION}",
|
||||
"type": "command"
|
||||
"type": "shell",
|
||||
"key": " ",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ",
|
||||
"keyColor": "35"
|
||||
},
|
||||
{
|
||||
"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}"
|
||||
"keyColor": "36"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " ",
|
||||
"keyColor": "green"
|
||||
"key": " ",
|
||||
"keyColor": "31"
|
||||
},
|
||||
{
|
||||
"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 "
|
||||
"key": " ",
|
||||
"keyColor": "36",
|
||||
"shell": "/bin/bash",
|
||||
"text": "echo \"KoolDots: v$DOTS_VERSION\""
|
||||
},
|
||||
"break"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
"type": "command",
|
||||
"key": " ",
|
||||
"keyColor": "blue",
|
||||
"text": "echo JaKooLit Version: ${DOTS_VERSION}"
|
||||
"text": "echo LinuxBeginnings Version: ${DOTS_VERSION}"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||
/* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */
|
||||
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
{
|
||||
"type": "command",
|
||||
"key": " ├ ",
|
||||
"format": "echo JaKooLit Version: ${DOTS_VERSION}",
|
||||
"format": "echo LinuxBeginnings Version: ${DOTS_VERSION}",
|
||||
"keyColor": "31"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,32 +1,69 @@
|
|||
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
// "type": "kitty",
|
||||
// "source": "~/.config/fastfetch/ubuntu.png",
|
||||
// "height": 10,
|
||||
// "width": 20,
|
||||
"type": "small",
|
||||
"padding": {
|
||||
"top": 3,
|
||||
"left": 1
|
||||
}
|
||||
},
|
||||
"modules": [
|
||||
"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",
|
||||
"key": " DISTRO",
|
||||
"key": " OS",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"key": "│ ├",
|
||||
"text": "echo JaKooLit Version: ${DOTS_VERSION}",
|
||||
"type": "bios",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
|
|
@ -36,12 +73,17 @@
|
|||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": "│ └",
|
||||
"key": "└ └",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " DE/WM",
|
||||
"key": " WM",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "lm",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
|
|
@ -50,82 +92,39 @@
|
|||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": "│ └",
|
||||
"key": "└ └",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"key": " SYSTEM",
|
||||
"keyColor": "green"
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m└────────────────────────────────────────────────────┘"
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m┌─────────────────Uptime / Age / DT──────────────────┐"
|
||||
},
|
||||
{
|
||||
"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": "command",
|
||||
"key": " OS Age ",
|
||||
"keyColor": "magenta",
|
||||
"text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": "│ └",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "sound",
|
||||
"key": " AUDIO",
|
||||
"format": "{2}",
|
||||
"key": " Uptime ",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "player",
|
||||
"key": "│ ├",
|
||||
"type": "command",
|
||||
"key": " KoolDots Ver ",
|
||||
"text": "echo v${DOTS_VERSION}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "media",
|
||||
"key": "│ └",
|
||||
"keyColor": "magenta"
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m└────────────────────────────────────────────────────┘"
|
||||
},
|
||||
"break"
|
||||
]
|
||||
|
|
|
|||
132
.config/fastfetch/config.legacy.jsonc
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
/* ----------- 💫 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"
|
||||
]
|
||||
}
|
||||
BIN
.config/fastfetch/images/Arch-Logo-1.png
Normal file
|
After Width: | Height: | Size: 4.7 MiB |
BIN
.config/fastfetch/images/Arch-Logo-2.png
Normal file
|
After Width: | Height: | Size: 4.1 MiB |
BIN
.config/fastfetch/images/debian_swirl.png
Executable file
|
After Width: | Height: | Size: 15 KiB |
BIN
.config/fastfetch/images/fedora.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
.config/fastfetch/images/gentoo1.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
.config/fastfetch/images/gentoo2.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
.config/fastfetch/images/nixos.png
Executable file
|
After Width: | Height: | Size: 78 KiB |
BIN
.config/fastfetch/images/ubuntu.jpeg
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
.config/fastfetch/images/ubuntu.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
150
.config/fastfetch/kooldots-arch.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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",
|
||||
],
|
||||
}
|
||||
150
.config/fastfetch/kooldots-debian.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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",
|
||||
],
|
||||
}
|
||||
150
.config/fastfetch/kooldots-fedora.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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",
|
||||
],
|
||||
}
|
||||
150
.config/fastfetch/kooldots-gentoo.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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"
|
||||
]
|
||||
}
|
||||
150
.config/fastfetch/kooldots-nixos.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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",
|
||||
],
|
||||
}
|
||||
150
.config/fastfetch/kooldots-ubuntu.jsonc
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"$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"
|
||||
]
|
||||
}
|
||||
0
.config/hypr/.initial_startup_done
Normal file
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# default Monitor config
|
||||
|
||||
# Monitor Configuration
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
|
||||
|
|
@ -11,8 +16,8 @@
|
|||
$edit=${EDITOR:-nano}
|
||||
|
||||
# These two are for UserKeybinds.conf & Waybar Modules
|
||||
$term = foot # Terminal
|
||||
$files = nemo # File Manager
|
||||
$term = kitty # Terminal
|
||||
$files = thunar # File Manager
|
||||
|
||||
# Default Search Engine for ROFI Search (SUPER S)
|
||||
$Search_Engine = "https://www.google.com/search?q={}"
|
||||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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/
|
||||
|
||||
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
# ==================================================
|
||||
# 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.
|
||||
# See notes on Laptops.conf
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +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
|
||||
# ==================================================
|
||||
# Commands and Apps to be executed at launch
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# ==================================================
|
||||
# KoolDots (2026)
|
||||
# Project URL: https://github.com/LinuxBeginnings
|
||||
# License: GNU GPLv3
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# ==================================================
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
|
||||
# Hyprland Wiki Links
|
||||
|
|
@ -37,13 +42,13 @@ decoration {
|
|||
color_inactive = $color10
|
||||
}
|
||||
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 6
|
||||
passes = 2
|
||||
ignore_opacity = true
|
||||
passes = 3
|
||||
new_optimizations = true
|
||||
xray = true
|
||||
ignore_opacity = true
|
||||
special = true
|
||||
popups = true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
# /* ---- 💫 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
|
||||
# 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 also Laptops.conf for laptops keybinds
|
||||
|
||||
# /* ---- ✴️ Variables ✴️ ---- */ #
|
||||
$mainMod = SUPER
|
||||
$scriptsDir = $HOME/.config/hypr/scripts
|
||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
# This is where you put your own settings as this will not be touched during update
|
||||
# if the upgrade.sh is used.
|
||||
|
|
@ -44,3 +49,7 @@ input {
|
|||
left_handed = 0
|
||||
}
|
||||
}
|
||||
|
||||
binds {
|
||||
workspace_back_and_forth = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,18 @@
|
|||
# /* ---- 💫 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
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# This file is used to add or overwrite window rules
|
||||
# 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,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
# It is only here as a guide if you want to do it manually
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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.
|
||||
# If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit.
|
||||
|
|
|
|||
237
.config/hypr/UserScripts/RainbowBorders-low-cpu.sh
Executable file
|
|
@ -0,0 +1,237 @@
|
|||
#!/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
|
||||
94
.config/hypr/UserScripts/RainbowBorders.bak.sh
Executable file
|
|
@ -0,0 +1,94 @@
|
|||
#!/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
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#!/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,5 +1,10 @@
|
|||
#!/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)
|
||||
|
||||
mDIR="$HOME/Music/"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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 */
|
||||
# /* Submitted by: https://github.com/JosephArmas */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
#!/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:
|
||||
# ./dispatch.sh <application_command> <target_workspace_number>
|
||||
# Example:
|
||||
|
|
@ -14,77 +20,49 @@
|
|||
# Notes:
|
||||
# - 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.
|
||||
#
|
||||
# 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"
|
||||
# Log file path located next to the script.
|
||||
# Файл логів розташований поруч зі скриптом.
|
||||
|
||||
APP=$1
|
||||
# The application command or window class to launch or match.
|
||||
# Команда для запуску аплікації або клас вікна для пошуку.
|
||||
|
||||
TARGET_WORKSPACE=$2
|
||||
# The target workspace number where the window should be moved.
|
||||
# Цільовий номер воркспейсу, куди потрібно перемістити вікно.
|
||||
|
||||
# Check if required arguments are provided.
|
||||
# Перевірка наявності необхідних параметрів.
|
||||
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
|
||||
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.
|
||||
# Початок процесу диспатчу, запис у лог.
|
||||
|
||||
# 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
|
||||
|
||||
# Launch the application in the background and disown it.
|
||||
# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу.
|
||||
$APP & disown
|
||||
$APP &
|
||||
disown
|
||||
pid=$!
|
||||
|
||||
echo "Launched '$APP' with PID $pid" >> "$LOGFILE"
|
||||
echo "Launched '$APP' with PID $pid" >>"$LOGFILE"
|
||||
# Log the launched process ID.
|
||||
# Лог процесу запуску з PID.
|
||||
|
||||
# Wait for the application window to appear (matching window class).
|
||||
# Чекаємо появи вікна аплікації (за класом вікна).
|
||||
for i in {1..30}; do
|
||||
win=$(hyprctl clients -j | jq -r --arg APP "$APP" '
|
||||
.[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE")
|
||||
|
||||
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.
|
||||
# Переміщаємо вікно на цільовий воркспейс.
|
||||
hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1
|
||||
hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >>"$LOGFILE" 2>&1
|
||||
exit 0
|
||||
fi
|
||||
sleep 0.3
|
||||
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.
|
||||
# Запис помилки, якщо вікно не знайдено або неправильно диспатчено.
|
||||
exit 1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
# This script will randomly go through the files of a directory, setting it
|
||||
|
|
@ -10,6 +15,11 @@
|
|||
wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh
|
||||
|
||||
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
|
||||
echo "Usage:
|
||||
|
|
@ -17,7 +27,7 @@ if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Edit below to control the images transition
|
||||
# Edit below to control the images transition (swww/awww)
|
||||
export SWWW_TRANSITION_FPS=60
|
||||
export SWWW_TRANSITION_TYPE=simple
|
||||
|
||||
|
|
@ -31,7 +41,7 @@ while true; do
|
|||
done \
|
||||
| sort -n | cut -d':' -f2- \
|
||||
| while read -r img; do
|
||||
swww img -o $focused_monitor "$img"
|
||||
$WWW img -o $focused_monitor "$img"
|
||||
# Regenerate colors from the exact image path to avoid cache races
|
||||
$HOME/.config/hypr/scripts/WallustSwww.sh "$img"
|
||||
# Refresh UI components that depend on wallust output
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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)
|
||||
|
||||
# Variables
|
||||
|
|
@ -9,17 +14,26 @@ wallpaper_output="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified"
|
|||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
||||
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
|
||||
iDIR="$HOME/.config/swaync/images"
|
||||
iDIRi="$HOME/.config/swaync/icons"
|
||||
|
||||
# swww transition config
|
||||
# swww/awww transition config
|
||||
FPS=60
|
||||
TYPE="wipe"
|
||||
DURATION=2
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
if [[ "$WWW" == "swww" || "$WWW" == "awww" ]]; then
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
else
|
||||
SWWW_PARAMS=""
|
||||
fi
|
||||
|
||||
# Define ImageMagick effects
|
||||
declare -A effects=(
|
||||
|
|
@ -45,7 +59,7 @@ declare -A effects=(
|
|||
|
||||
# Function to apply no effects
|
||||
no-effects() {
|
||||
swww img -o "$focused_monitor" "$wallpaper_current" $SWWW_PARAMS &&
|
||||
$WWW img -o "$focused_monitor" "$wallpaper_current" $SWWW_PARAMS &&
|
||||
wait $!
|
||||
wallust run "$wallpaper_current" -s &&
|
||||
wait $!
|
||||
|
|
@ -83,7 +97,7 @@ main() {
|
|||
done
|
||||
|
||||
sleep 1
|
||||
swww img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
||||
$WWW img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
||||
|
||||
sleep 2
|
||||
|
||||
|
|
@ -106,43 +120,3 @@ fi
|
|||
main
|
||||
|
||||
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,28 +1,42 @@
|
|||
#!/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)
|
||||
|
||||
wallDIR="$HOME/Pictures/wallpapers"
|
||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
||||
wallDIR="$PICTURES_DIR/wallpapers"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
# shellcheck source=/dev/null
|
||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
||||
|
||||
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[@]} ]}
|
||||
|
||||
|
||||
# Transition config
|
||||
# Transition config (swww/awww)
|
||||
FPS=30
|
||||
TYPE="random"
|
||||
DURATION=1
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then
|
||||
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
|
||||
|
||||
|
||||
swww query || swww-daemon --format xrgb && swww img -o $focused_monitor ${RANDOMPICS} $SWWW_PARAMS
|
||||
"$WWW_CMD" img -o "$focused_monitor" "$RANDOMPICS" $SWWW_PARAMS
|
||||
|
||||
wait $!
|
||||
"$SCRIPTSDIR/WallustSwww.sh" &&
|
||||
"$SCRIPTSDIR/WallustSwww.sh" "$RANDOMPICS" &&
|
||||
|
||||
wait $!
|
||||
sleep 2
|
||||
|
|
|
|||
|
|
@ -1,23 +1,37 @@
|
|||
#!/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)
|
||||
|
||||
# WALLPAPERS PATH
|
||||
terminal=kitty
|
||||
wallDIR="$HOME/Pictures/wallpapers"
|
||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
||||
wallDIR="$PICTURES_DIR/wallpapers"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
# shellcheck source=/dev/null
|
||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
||||
wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
||||
wallpaper_link="$HOME/.config/rofi/.current_wallpaper"
|
||||
|
||||
# Directory for swaync
|
||||
iDIR="$HOME/.config/swaync/images"
|
||||
iDIRi="$HOME/.config/swaync/icons"
|
||||
|
||||
# swww transition config
|
||||
# swww/awww transition config
|
||||
FPS=60
|
||||
TYPE="any"
|
||||
DURATION=2
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
else
|
||||
SWWW_PARAMS=""
|
||||
fi
|
||||
|
||||
|
||||
# Check if package bc exists
|
||||
if ! command -v bc &>/dev/null; then
|
||||
|
|
@ -29,6 +43,9 @@ fi
|
|||
rofi_theme="$HOME/.config/rofi/config-wallpaper.rasi"
|
||||
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
|
||||
if [[ -z "$focused_monitor" ]]; then
|
||||
notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Could not detect focused monitor"
|
||||
|
|
@ -45,7 +62,7 @@ rofi_override="element-icon{size:${adjusted_icon_size}%;}"
|
|||
|
||||
# Kill existing wallpaper daemons for video
|
||||
kill_wallpaper_for_video() {
|
||||
swww kill 2>/dev/null
|
||||
"$WWW_CMD" kill 2>/dev/null
|
||||
pkill mpvpaper 2>/dev/null
|
||||
pkill swaybg 2>/dev/null
|
||||
pkill hyprpaper 2>/dev/null
|
||||
|
|
@ -65,7 +82,19 @@ mapfile -d '' PICS < <(find -L "${wallDIR}" -type f \( \
|
|||
-iname "*.mp4" -o -iname "*.mkv" -o -iname "*.mov" -o -iname "*.webm" \) -print0)
|
||||
|
||||
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
|
||||
RANDOM_PIC_NAME=". random"
|
||||
RANDOM_PIC_NAME="$(basename "$RANDOM_PIC")"
|
||||
|
||||
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 -i -show -dmenu -config $rofi_theme -theme-str $rofi_override"
|
||||
|
|
@ -74,7 +103,10 @@ rofi_command="rofi -i -show -dmenu -config $rofi_theme -theme-str $rofi_override
|
|||
menu() {
|
||||
IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}"))
|
||||
|
||||
printf "%s\x00icon\x1f%s\n" "$RANDOM_PIC_NAME" "$RANDOM_PIC"
|
||||
printf "%s\x00icon\x1f%s\n" "Random: $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
|
||||
pic_name=$(basename "$pic_path")
|
||||
|
|
@ -98,49 +130,6 @@ menu() {
|
|||
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() {
|
||||
local selected_file="$1"
|
||||
|
|
@ -149,6 +138,7 @@ modify_startup_config() {
|
|||
# Check if it's a live wallpaper (video)
|
||||
if [[ "$selected_file" =~ \.(mp4|mkv|mov|webm)$ ]]; then
|
||||
# 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*#\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^#\s*//;' "$startup_config"
|
||||
|
||||
|
|
@ -159,6 +149,7 @@ modify_startup_config() {
|
|||
echo "Configured for live wallpaper (video)."
|
||||
else
|
||||
# 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*exec-once\s*=\s*mpvpaper\s*.*$/s/^/\#/' "$startup_config"
|
||||
|
|
@ -173,12 +164,25 @@ apply_image_wallpaper() {
|
|||
|
||||
kill_wallpaper_for_image
|
||||
|
||||
if ! pgrep -x "swww-daemon" >/dev/null; then
|
||||
echo "Starting swww-daemon..."
|
||||
swww-daemon --format xrgb &
|
||||
if ! pgrep -x "$WWW_DAEMON" >/dev/null; then
|
||||
echo "Starting $WWW_DAEMON..."
|
||||
"$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}" &
|
||||
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
|
||||
|
||||
swww img -o "$focused_monitor" "$image_path" $SWWW_PARAMS
|
||||
# Persist per-monitor wallpaper selection
|
||||
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)
|
||||
"$SCRIPTSDIR/WallustSwww.sh" "$image_path"
|
||||
|
|
@ -186,7 +190,6 @@ apply_image_wallpaper() {
|
|||
"$SCRIPTSDIR/Refresh.sh"
|
||||
sleep 1
|
||||
|
||||
set_sddm_wallpaper
|
||||
}
|
||||
|
||||
apply_video_wallpaper() {
|
||||
|
|
@ -208,21 +211,32 @@ main() {
|
|||
choice=$(menu | $rofi_command)
|
||||
choice=$(echo "$choice" | xargs)
|
||||
RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs)
|
||||
raw_choice="$choice"
|
||||
choice="${choice#Random: }"
|
||||
choice="${choice#Current: }"
|
||||
|
||||
if [[ -z "$choice" ]]; then
|
||||
echo "No choice selected. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Handle random selection correctly
|
||||
# Resolve selection directly when using Random/Current entries
|
||||
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
|
||||
choice=$(basename "$RANDOM_PIC")
|
||||
fi
|
||||
|
||||
choice_basename=$(basename "$choice" | sed 's/\(.*\)\.[^.]*$/\1/')
|
||||
|
||||
# Search for the selected file in the wallpapers directory, including subdirectories
|
||||
selected_file=$(find "$wallDIR" -iname "$choice_basename.*" -print -quit)
|
||||
fi
|
||||
|
||||
if [[ -z "$selected_file" ]]; then
|
||||
echo "File not found. Selected choice: $choice"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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.
|
||||
# Outputs Waybar-compatible JSON and a simple text cache.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,56 @@
|
|||
#!/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
|
||||
# Remember to add city
|
||||
# Function to get current city from IP address with fallback
|
||||
|
||||
city=""
|
||||
# Get your current location with your IP adress
|
||||
get_current_city() {
|
||||
local city
|
||||
|
||||
# First try: ipinfo.io
|
||||
local location_data=$(curl -fsS "https://ipinfo.io/json" 2>/dev/null)
|
||||
if [ $? -eq 0 ] && [ -n "$location_data" ]; then
|
||||
city=$(echo "$location_data" | grep -o '"city"[[:space:]]*:[[:space:]]*"[^"]*"' | cut -d'"' -f4)
|
||||
if [ -n "$city" ]; then
|
||||
echo "$city"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# if city is blank, use https://ipapi.co/json to get location from IP
|
||||
if [ -z "$city" ]; then
|
||||
city=$(curl -fsS https://ipapi.co/json | grep city | cut -f4 -d'"')
|
||||
# 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
|
||||
encoded_city="$city"
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
|
|
|
|||
|
|
@ -1,11 +1,40 @@
|
|||
#!/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)
|
||||
|
||||
SCRIPT_DIR="$(dirname "$0")"
|
||||
PY_SCRIPT="$SCRIPT_DIR/Weather.py"
|
||||
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() {
|
||||
if [ -f "$BASH_FALLBACK" ]; then
|
||||
# Invoke via bash to avoid requiring +x and ensure consistent shell
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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)
|
||||
|
||||
# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
|
||||
# old animations
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
|
||||
animations {
|
||||
enabled = no
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "End-4"
|
||||
# credit https://github.com/end-4/dots-hyprland
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Vertical"
|
||||
# credit https://github.com/prasanthrangan/hyprdots
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Default"
|
||||
# credit https://github.com/prasanthrangan/hyprdots
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# # name "Minimal-1"
|
||||
# credit https://github.com/prasanthrangan/hyprdots-
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# # name "Minimal-2"
|
||||
# credit https://github.com/prasanthrangan/hyprdots
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Optimized"
|
||||
# credit https://github.com/prasanthrangan/hyprdots
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Classic"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Dynamic"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Fast"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "High"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Moving"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Standard"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Me-1"
|
||||
# credit https://github.com/mahaveergurjar
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
#
|
||||
# name "Me-2"
|
||||
# credit https://github.com/mahaveergurjar
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# as per Hyprland wiki: hyprland-qt-support provides a QML style for hypr* qt6 apps
|
||||
|
||||
roundess = 2
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
# /* ---- 💫 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/
|
||||
|
||||
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
||||
|
||||
# environment-variables
|
||||
# Current Version of JakooLit Dotfiles:
|
||||
env = DOTS_VERSION,2.3.18
|
||||
# Current Version of KoolDots:
|
||||
env = DOTS_VERSION,2.3.23
|
||||
|
||||
### Toolkit Backend Variables ###
|
||||
env = GDK_BACKEND,wayland,x11,*
|
||||
|
|
@ -24,8 +29,8 @@ env = XDG_SESSION_TYPE,wayland
|
|||
### QT Variables ###
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
env = QT_STYLE_OVERRIDE,kvantum
|
||||
|
||||
### hyprland-qt-support ###
|
||||
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
# /* ---- 💫 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
|
||||
# visit https://wiki.hyprland.org/Configuring/Binds/ for more info
|
||||
|
||||
# /* ---- ✴️ Variables ✴️ ---- */ #
|
||||
$mainMod = SUPER
|
||||
$scriptsDir = $HOME/.config/hypr/scripts
|
||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
||||
|
|
@ -11,7 +15,7 @@ $UserScripts = $HOME/.config/hypr/UserScripts
|
|||
# settings for User defaults apps - set your default terminal and file manager on this file
|
||||
source= $UserConfigs/01-UserDefaults.conf
|
||||
|
||||
#### STANDAR ####
|
||||
#### STANDARD ####
|
||||
# Common shortcuts
|
||||
#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
|
||||
|
|
@ -21,8 +25,10 @@ bindd = $mainMod, A, desktop overview, exec, $scriptsDir/OverviewToggle.sh # tog
|
|||
#bindd = $mainMod, A, Quickshell overview, global, quickshell:overviewToggle # desktop overview (if installed)
|
||||
bindd = $mainMod, Return, Open terminal, exec, $term
|
||||
bindd = $mainMod, E, file manager, exec, $files
|
||||
bindd = $mainMod, C, SSH session manager, exec, $scriptsDir/rofi-ssh-menu.sh
|
||||
|
||||
# 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 ALT, R, refresh bar and menus, exec, $scriptsDir/Refresh.sh
|
||||
bindd = $mainMod ALT, E, emoji menu, exec, $scriptsDir/RofiEmoji.sh
|
||||
|
|
@ -30,15 +36,19 @@ bindd = $mainMod, S, web search, exec, $scriptsDir/RofiSearch.sh
|
|||
bindd = $mainMod CTRL, S, window switcher, exec, rofi -show window
|
||||
bindd = $mainMod ALT, O, toggle blur, exec, $scriptsDir/ChangeBlur.sh
|
||||
bindd = $mainMod SHIFT, G, toggle game mode, exec, $scriptsDir/GameMode.sh
|
||||
bindd = $mainMod ALT, L, toggle master/dwindle layout, exec, $scriptsDir/ChangeLayout.sh
|
||||
bindd = $mainMod ALT, L, toggle layouts, exec, $scriptsDir/ChangeLayout.sh toggle
|
||||
bindd = $mainMod ALT, V, clipboard manager, exec, $scriptsDir/ClipManager.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, 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 CTRL, F, maximize window, fullscreen, 1
|
||||
bindd = $mainMod, SPACE, Float current window, togglefloating,
|
||||
bindd = $mainMod ALT, SPACE, Float all windows, exec, hyprctl dispatch workspaceopt allfloat
|
||||
bindd = $mainMod ALT, SPACE, Float all windows, exec, $scriptsDir/Float-all-Windows.sh
|
||||
bindd = $mainMod SHIFT, Return, DropDown terminal, exec, $scriptsDir/Dropterminal.sh $term
|
||||
|
||||
# Desktop zooming or magnifier
|
||||
|
|
@ -58,7 +68,7 @@ bindd = $mainMod SHIFT, M, online music, exec, $UserScripts/RofiBeats.sh
|
|||
bindd = $mainMod, W, select wallpaper, exec, $UserScripts/WallpaperSelect.sh
|
||||
bindd = $mainMod SHIFT, W, wallpaper effects, exec, $UserScripts/WallpaperEffects.sh
|
||||
bindd = CTRL ALT, W, random wallpaper, exec, $UserScripts/WallpaperRandom.sh
|
||||
bindd = $mainMod CTRL, O, toggle active window opacity, exec, hyprctl setprop active opaque toggle
|
||||
bindd = $mainMod CTRL, O, toggle active window opacity, setprop, active opaque toggle
|
||||
bindd = $mainMod SHIFT, K, search keybinds, exec, $scriptsDir/KeyBinds.sh
|
||||
bindd = $mainMod SHIFT, A, animations menu, exec, $scriptsDir/Animations.sh
|
||||
bindd = $mainMod SHIFT, O, change oh-my-zsh theme, exec, $UserScripts/ZshChangeTheme.sh
|
||||
|
|
@ -85,19 +95,38 @@ bindd = $mainMod SHIFT, E, Quick settings menu, exec, $scriptsDir/Kool_Quick_Set
|
|||
# Master Layout
|
||||
bindd = $mainMod CTRL, D, remove master, layoutmsg, removemaster
|
||||
bindd = $mainMod, I, add master, layoutmsg, addmaster
|
||||
# NOTE: J/K bindings are set dynamically by scripts/KeybindsLayoutInit.sh and scripts/ChangeLayout.sh
|
||||
# (we intentionally do not bind them statically here to avoid conflicts across layouts)
|
||||
# bindd = $mainMod, J, cycle next, layoutmsg, cyclenext
|
||||
# bindd = $mainMod, K, cycle previous, layoutmsg, cycleprev
|
||||
# j/k cycle windows globally
|
||||
bindd = $mainMod, j, cycle next, layoutmsg, cyclenext
|
||||
bindd = $mainMod, k, cycle previous, layoutmsg, cycleprev
|
||||
bindd = $mainMod CTRL, Return, swap with master, layoutmsg, swapwithmaster
|
||||
|
||||
# Dwindle Layout
|
||||
bindd = $mainMod SHIFT, I, toggle split (dwindle), togglesplit
|
||||
bindd = $mainMod SHIFT, I, toggle split (dwindle), layoutmsg, togglesplit
|
||||
bindd = $mainMod, P, toggle pseudo (dwindle), pseudo,
|
||||
|
||||
# Works on either layout (Master or Dwindle)
|
||||
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
|
||||
bindd = ALT, tab, cycle next window, cyclenext
|
||||
|
|
@ -106,6 +135,8 @@ bindd = ALT, tab, bring active to top, bringactivetotop
|
|||
# Special Keys / Hot Keys
|
||||
bindeld = , xf86audioraisevolume, volume up, exec, $scriptsDir/Volume.sh --inc
|
||||
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 = , xf86audiomute, toggle mute, exec, $scriptsDir/Volume.sh --toggle
|
||||
bindld = , xf86Sleep, sleep, exec, systemctl suspend
|
||||
|
|
@ -161,7 +192,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
|
||||
|
||||
# Try to dynamically move in grouped window and when ungrouped
|
||||
# Not working for me DW 11/26/25 PR: https://github.com/JaKooLit/Hyprland-Dots/pull/872
|
||||
# Not working for me DW 11/26/25 PR: https://github.com/LinuxBeginnings/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, 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,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
||||
|
||||
|
|
|
|||
|
|
@ -1,60 +1,51 @@
|
|||
# /* ---- 💫 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)
|
||||
|
||||
$scriptsDir = $HOME/.config/hypr/scripts
|
||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
||||
|
||||
$wallDIR=$HOME/Pictures/wallpapers
|
||||
$lock = $scriptsDir/LockScreen.sh
|
||||
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
|
||||
$livewallpaper=""
|
||||
$wallDIR = $HOME/Pictures/wallpapers # change path manually here if needed
|
||||
|
||||
### wallpaper stuff ###
|
||||
exec-once = swww-daemon --format xrgb
|
||||
exec-once = $scriptsDir/WallpaperDaemon.sh
|
||||
#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper
|
||||
|
||||
# wallpaper random
|
||||
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
|
||||
|
||||
### Startup ###
|
||||
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 = $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 = $HOME/.config/hypr/scripts/Dropterminal.sh "kitty --class kitty-dropterm" &
|
||||
exec-once = $scriptsDir/Polkit.sh
|
||||
|
||||
# starup apps
|
||||
exec-once = nm-applet --indicator
|
||||
exec-once = nm-tray # For ubuntu
|
||||
exec-once = swaync
|
||||
#exec-once = ags
|
||||
#exec-once = blueman-applet
|
||||
#exec-once = rog-control-center
|
||||
exec-once = $scriptsDir/PortalHyprlandUbuntu.sh
|
||||
exec-once = waybar
|
||||
exec-once = qs -c overview # Quickshell Overview
|
||||
exec-once = hypridle
|
||||
exec-once = $scriptsDir/Hyprsunset.sh init
|
||||
|
||||
# Clipboard manager
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
|
||||
# Rainbow borders
|
||||
exec-once = $UserScripts/RainbowBorders.sh
|
||||
# Rainbow borders (disabled by default; use quick settings menu)
|
||||
#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
|
||||
# Persistent wallpaper
|
||||
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png
|
||||
# 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")'
|
||||
|
||||
# Gnome polkit for NixOS
|
||||
#exec-once = $scriptsDir/Polkit-NixOS.sh
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
# /* ---- 💫 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
|
||||
# This is where you put your own settings as this will not be touched during update
|
||||
# if the upgrade.sh is used.
|
||||
|
|
@ -9,16 +14,41 @@
|
|||
$scriptsDir = $HOME/.config/hypr/scripts
|
||||
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
#smart_split = true
|
||||
smart_resizing = 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
|
||||
}
|
||||
|
||||
master {
|
||||
new_status = master
|
||||
new_on_top = 1
|
||||
mfact = 0.5
|
||||
new_status = slave
|
||||
new_on_top = false
|
||||
new_on_active = none
|
||||
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 {
|
||||
|
|
@ -34,7 +64,6 @@ input {
|
|||
kb_rules =
|
||||
repeat_rate = 50
|
||||
repeat_delay = 300
|
||||
|
||||
sensitivity = 0 #mouse sensitivity
|
||||
#accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode
|
||||
numlock_by_default = true
|
||||
|
|
@ -63,26 +92,28 @@ input {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
gestures {
|
||||
gesture = 3, horizontal, workspace
|
||||
workspace_swipe_distance = 500
|
||||
workspace_swipe_distance = 300
|
||||
workspace_swipe_touch = false
|
||||
workspace_swipe_invert = true
|
||||
workspace_swipe_min_speed_to_force = 30
|
||||
workspace_swipe_cancel_ratio = 0.5
|
||||
workspace_swipe_create_new = true
|
||||
workspace_swipe_forever = true
|
||||
#workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right
|
||||
workspace_swipe_direction_lock = true
|
||||
workspace_swipe_forever = false
|
||||
workspace_swipe_use_r = false
|
||||
close_max_timeout = 100
|
||||
|
||||
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 = 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, up, dispatcher, exec, $scriptsDir/OverviewToggle.sh
|
||||
gesture = 3, horizontal, workspace
|
||||
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 = 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 = 4, up, dispatcher, exec, $scriptsDir/OverviewToggle.sh
|
||||
gesture = 4, down, float
|
||||
}
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
vfr = true
|
||||
vrr = 2
|
||||
mouse_move_enables_dpms = true
|
||||
enable_swallow = off
|
||||
|
|
@ -93,6 +124,11 @@ misc {
|
|||
enable_anr_dialog = true # Application not Responding (ANR)
|
||||
anr_missed_pings = 15 # ANR Threshold default 1 is too low
|
||||
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 {
|
||||
|
|
@ -121,4 +157,16 @@ cursor {
|
|||
enable_hyprcursor = true
|
||||
warp_on_change_workspace = 2
|
||||
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,204 +1,470 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# For window rules and layerrules
|
||||
# ==================================================
|
||||
# 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.52.1
|
||||
# note: This should NOT be implemented on Debian and Ubuntu
|
||||
# Vendor defaults for window rules and layerrules
|
||||
# NOTES: This is only for Hyprland >= 0.53
|
||||
|
||||
# windowrule - tags - add apps under appropriate tag to use the same settings
|
||||
# Some samples on hwo to start apps on specific workspaces
|
||||
# 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 ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
|
||||
windowrule = match:class ^(chrome-.+-Default)$ # Chrome PWAs, tag +browser
|
||||
windowrule = match:class ^(chrome-.+-Default)$, tag +browser
|
||||
windowrule = match:class ^([Cc]hromium)$, tag +browser
|
||||
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
|
||||
windowrule = match:class ^(Brave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
||||
windowrule = match:class ^([Bb]rave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
||||
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, 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
|
||||
|
||||
# KooL settings tag
|
||||
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
||||
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
||||
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
||||
|
||||
windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
||||
# terminal tags
|
||||
windowrule = match:class ^(ghostty|wezterm|Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
||||
|
||||
windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
|
||||
# email tags
|
||||
windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, 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 ^(VSCode|code|code-url-handler)$, tag +projects
|
||||
windowrule = match:class ^(jetbrains-.+)$ # JetBrains IDEs, tag +projects
|
||||
windowrule = match:class ^(jetbrains-.+)$, tag +projects
|
||||
windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
|
||||
|
||||
# screenshare tags
|
||||
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
||||
|
||||
# IM tags
|
||||
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
|
||||
windowrule = match:class ^([Ff]erdium)$, tag +im
|
||||
windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
|
||||
windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
|
||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, 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 ^(im.riot.Riot|Element)$ # Element Matrix client, tag +im
|
||||
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
|
||||
|
||||
# game tags
|
||||
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:title ^([Ll]utris)$, 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 ^(app.drey.Warp)$, tag +file-manager
|
||||
|
||||
# wallpaper tags
|
||||
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
||||
|
||||
# multimedia tags
|
||||
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
||||
|
||||
# multimedia-video tags
|
||||
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
||||
|
||||
# settings tags
|
||||
windowrule = match:title ^(ROG Control)$, tag +settings
|
||||
windowrule = match:class ^(wihotspot(-gui)?)$ # wifi hotspot, tag +settings
|
||||
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer, tag +settings
|
||||
windowrule = match:class ^(wihotspot(-gui)?)$, tag +settings
|
||||
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$, tag +settings
|
||||
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
||||
windowrule = match:title (Kvantum Manager), tag +settings
|
||||
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$ # archive manager, tag +settings
|
||||
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, 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 ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
|
||||
windowrule = match:class ^(qt5ct|qt6ct)$, 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 ^([Rr]ofi)$, tag +settings
|
||||
windowrule = match:class ^(btrfs-assistant)$, tag +settings
|
||||
windowrule = match:class ^(timeshift-gtk)$, tag +settings
|
||||
|
||||
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor, tag +viewer
|
||||
windowrule = match:class ^(evince)$ # document viewer, tag +viewer
|
||||
windowrule = match:class ^(eog|org.gnome.Loupe)$ # image viewer, tag +viewer
|
||||
# viewer tags
|
||||
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
|
||||
windowrule = match:class ^(evince)$, tag +viewer
|
||||
windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
|
||||
|
||||
windowrule = match:tag multimedia_video*, noblur
|
||||
windowrule = match:tag multimedia_video*, opacity 1.0
|
||||
|
||||
# POSITION
|
||||
windowrule = match:tag KooL_Cheat*, center
|
||||
windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), center
|
||||
windowrule = match:title ^(ROG Control)$, center
|
||||
windowrule = match:tag KooL-Settings*, center
|
||||
windowrule = match:title ^(Keybindings)$, center
|
||||
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 = idleinhibit fullscreen, class:^(*)$
|
||||
#windowrule = idleinhibit fullscreen, title:^(*)$
|
||||
windowrule = match:fullscreen 1, idleinhibit fullscreen
|
||||
|
||||
# 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*
|
||||
# Some special override rules
|
||||
windowrule = match:tag multimedia, no_blur on
|
||||
windowrule = match:tag multimedia, opacity 1.0
|
||||
|
||||
# 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 = 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
|
||||
|
||||
# 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
|
||||
windowrule = match:tag browser*, opacity 0.99 0.8
|
||||
windowrule = match:tag projects*, opacity 0.9 0.8
|
||||
windowrule = match:tag im*, 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 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 ^(deluge)$, 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
|
||||
# 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
|
||||
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)$
|
||||
# POSITION
|
||||
windowrule = match:title ^(ROG Control)$, center on
|
||||
windowrule = match:title ^(Keybindings)$, center on
|
||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
|
||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
|
||||
windowrule = match:class ^(nm-connection-editor)$, center on
|
||||
windowrule = match:class ^(nm-applet)$, match:title ^(Wi-Fi Network Authentication Required)$, center on
|
||||
|
||||
# PINNING
|
||||
windowrule = match:title ^(Picture-in-Picture)$, pin
|
||||
#windowrule = pin,title:^(Firefox)$
|
||||
# windowrule to avoid idle for fullscreen apps
|
||||
windowrule = match:fullscreen true, idle_inhibit fullscreen
|
||||
windowrule = idle_inhibit fullscreen, match:fullscreen 1
|
||||
windowrule = idle_inhibit fullscreen, match:class .*
|
||||
windowrule = idle_inhibit fullscreen, match:title .*
|
||||
|
||||
# windowrule - extras
|
||||
windowrule = match:title ^(Picture-in-Picture)$, keepaspectratio
|
||||
# OPACITY
|
||||
windowrule = match:tag browser, opacity 0.99 0.8
|
||||
windowrule = match:tag projects, opacity 0.9 0.8
|
||||
windowrule = match:tag im, 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 terminal, opacity 0.9 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 ^(seahorse)$, opacity 0.9 0.8
|
||||
|
||||
# BLUR & FULLSCREEN
|
||||
windowrule = match:tag games*, noblur
|
||||
windowrule = match:tag games*, fullscreen
|
||||
|
||||
#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-*), noinitialfocus
|
||||
windowrule = match:title ^(wind.*)$, noinitialfocus
|
||||
|
||||
#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
|
||||
#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
|
||||
#windowrule = opacity 0.8 0.8, pinned:1
|
||||
# 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 = match:title ^(wind.*)$, no_initial_focus on
|
||||
|
||||
# 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 = match:namespace rofi, blur on
|
||||
layerrule = match:namespace notifications, blur on
|
||||
layerrule = match:namespace quickshell:overview, blur on
|
||||
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
|
||||
|
||||
#
|
||||
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 = 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
|
||||
|
|
|
|||
234
.config/hypr/configs/WindowRules-pre-53.conf
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
# ==================================================
|
||||
# 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,231 +1,471 @@
|
|||
# /* ---- 💫 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
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# NOTES: This is only for Hyprland > 0.48
|
||||
# NOTES: This is only for Hyprland >= 0.53
|
||||
|
||||
# note for ja: This should NOT be implemented on Debian and Ubuntu
|
||||
# Some samples on hwo to start apps on specific workspaces
|
||||
# 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
|
||||
|
||||
# windowrule - tags - add apps under appropriate tag to use the same settings
|
||||
# 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)$
|
||||
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 ^(chrome-.+-Default)$, tag +browser
|
||||
windowrule = match:class ^([Cc]hromium)$, 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 ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
|
||||
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
|
||||
|
||||
# notif tags
|
||||
windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
|
||||
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
|
||||
|
||||
# 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)$
|
||||
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
||||
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
||||
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
||||
|
||||
# terminal tags
|
||||
windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
|
||||
windowrule = match:class ^(ghostty|wezterm|Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
||||
|
||||
# email tags
|
||||
windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
|
||||
windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
|
||||
windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, tag +email
|
||||
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
|
||||
windowrule = match:class ^(org.gnome.Evolution)$, tag +email
|
||||
|
||||
# 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
|
||||
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
|
||||
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
|
||||
windowrule = match:class ^(jetbrains-.+)$, tag +projects
|
||||
windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
|
||||
|
||||
# screenshare tags
|
||||
windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
|
||||
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
||||
|
||||
# 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
|
||||
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, 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 ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
|
||||
windowrule = match:class ^(teams-for-linux)$, tag +im
|
||||
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
|
||||
|
||||
# game tags
|
||||
windowrule = tag +games, class:^(gamescope)$
|
||||
windowrule = tag +games, class:^(steam_app_\d+)$
|
||||
windowrule = match:class ^(gamescope)$, tag +games
|
||||
windowrule = match:class ^(steam_app_\\d+)$, tag +games
|
||||
windowrule = match:xdg_tag ^(proton-game)$, tag +games
|
||||
|
||||
# gamestore tags
|
||||
windowrule = tag +gamestore, class:^([Ss]team)$
|
||||
windowrule = tag +gamestore, title:^([Ll]utris)$
|
||||
windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
|
||||
windowrule = match:class ^([Ss]team)$, tag +gamestore
|
||||
windowrule = match:title ^([Ll]utris)$, tag +gamestore
|
||||
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
|
||||
|
||||
# file-manager tags
|
||||
windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
|
||||
windowrule = tag +file-manager, class:^(app.drey.Warp)$
|
||||
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
|
||||
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
|
||||
|
||||
# wallpaper tags
|
||||
windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
|
||||
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
||||
|
||||
# multimedia tags
|
||||
windowrule = tag +multimedia, class:^([Aa]udacious)$
|
||||
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
||||
|
||||
# multimedia-video tags
|
||||
windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
|
||||
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
||||
|
||||
# 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)$
|
||||
windowrule = match:title ^(ROG Control)$, tag +settings
|
||||
windowrule = match:class ^(wihotspot(-gui)?)$, tag +settings
|
||||
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$, tag +settings
|
||||
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
||||
windowrule = match:title (Kvantum Manager), tag +settings
|
||||
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, 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 ^(qt5ct|qt6ct)$, 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 ^([Rr]ofi)$, tag +settings
|
||||
windowrule = match:class ^(btrfs-assistant)$, tag +settings
|
||||
windowrule = match:class ^(timeshift-gtk)$, tag +settings
|
||||
|
||||
# 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
|
||||
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
|
||||
windowrule = match:class ^(evince)$, tag +viewer
|
||||
windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
|
||||
|
||||
# Some special override rules
|
||||
windowrule = noblur, tag:multimedia_video*
|
||||
windowrule = opacity 1.0, tag:multimedia_video*
|
||||
windowrule = match:tag multimedia, no_blur on
|
||||
windowrule = match:tag multimedia, opacity 1.0
|
||||
|
||||
# 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 = 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
|
||||
|
||||
# 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)$
|
||||
# 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
|
||||
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)$
|
||||
# POSITION
|
||||
windowrule = match:title ^(ROG Control)$, center on
|
||||
windowrule = match:title ^(Keybindings)$, center on
|
||||
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
|
||||
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
|
||||
windowrule = match:class ^(nm-connection-editor)$, center on
|
||||
windowrule = match:class ^(nm-applet)$, match:title ^(Wi-Fi Network Authentication Required)$, center on
|
||||
|
||||
# PINNING
|
||||
windowrule = pin, title:^(Picture-in-Picture)$
|
||||
#windowrule = pin,title:^(Firefox)$
|
||||
# windowrule to avoid idle for fullscreen apps
|
||||
windowrule = match:fullscreen true, idle_inhibit fullscreen
|
||||
windowrule = idle_inhibit fullscreen, match:fullscreen 1
|
||||
windowrule = idle_inhibit fullscreen, match:class .*
|
||||
windowrule = idle_inhibit fullscreen, match:title .*
|
||||
|
||||
# windowrule - extras
|
||||
windowrule = keepaspectratio, title:^(Picture-in-Picture)$
|
||||
# OPACITY
|
||||
windowrule = match:tag browser, opacity 0.99 0.8
|
||||
windowrule = match:tag projects, opacity 0.9 0.8
|
||||
windowrule = match:tag im, 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 terminal, opacity 0.9 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 ^(seahorse)$, opacity 0.9 0.8
|
||||
|
||||
# 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
|
||||
# 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 = match:title ^(wind.*)$, no_initial_focus on
|
||||
|
||||
# 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 = match:namespace rofi, blur on
|
||||
layerrule = match:namespace notifications, blur on
|
||||
layerrule = match:namespace quickshell:overview, blur on
|
||||
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
|
||||
|
||||
#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/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# Hypridle
|
||||
# Original config submitted by https://github.com/SherLock707
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# Always refer to Hyprland wiki
|
||||
# https://wiki.hyprland.org/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# Hyprlock config for < 1080p monitor resolutions
|
||||
# Original config submitted by https://github.com/SherLock707
|
||||
|
||||
|
|
@ -7,7 +7,6 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
|||
$Scripts = $HOME/.config/hypr/scripts
|
||||
|
||||
general {
|
||||
grace = 1
|
||||
fractional_scaling = 2
|
||||
immediate_render = true
|
||||
}
|
||||
|
|
@ -72,7 +71,7 @@ label {
|
|||
# }
|
||||
|
||||
# Seconds-Time
|
||||
#label {
|
||||
# label {
|
||||
# monitor =
|
||||
## text = cmd[update:1000] echo "$(date +"%S")"
|
||||
# text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM
|
||||
|
|
@ -82,10 +81,10 @@ label {
|
|||
# position = 0, -350
|
||||
# halign = center
|
||||
# valign = top
|
||||
#}
|
||||
# }
|
||||
|
||||
# Put a picture of choice here. Default is the current wallpaper
|
||||
#image {
|
||||
# image {
|
||||
# monitor =
|
||||
# path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current
|
||||
# size = 160
|
||||
|
|
@ -97,7 +96,7 @@ label {
|
|||
# position = 0, 280
|
||||
# halign = center
|
||||
# valign = bottom
|
||||
}
|
||||
# }
|
||||
|
||||
# USER
|
||||
label {
|
||||
|
|
@ -170,7 +169,7 @@ label {
|
|||
|
||||
# weather edit the scripts for locations
|
||||
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
||||
# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
||||
# 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"
|
||||
|
|
|
|||
182
.config/hypr/hyprlock-2k.conf
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
# /* ---- 💫 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/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# Hyprlock config for => 2k monitor resolutions
|
||||
# Original config submitted by https://github.com/SherLock707
|
||||
|
||||
|
|
@ -7,7 +7,6 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
|||
$Scripts = $HOME/.config/hypr/scripts
|
||||
|
||||
general {
|
||||
grace = 1
|
||||
fractional_scaling = 2
|
||||
immediate_render = true
|
||||
}
|
||||
|
|
@ -85,7 +84,7 @@ label {
|
|||
# }
|
||||
|
||||
# Put a picture of choice here. Default is the current wallpaper
|
||||
#image {
|
||||
# image {
|
||||
# monitor =
|
||||
# #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current
|
||||
# size = 160
|
||||
|
|
@ -97,7 +96,7 @@ label {
|
|||
# position = 0, 400
|
||||
# halign = center
|
||||
# valign = bottom
|
||||
#}
|
||||
# }
|
||||
|
||||
# USER
|
||||
label {
|
||||
|
|
@ -170,7 +169,7 @@ label {
|
|||
|
||||
# weather edit the scripts for locations
|
||||
# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py
|
||||
# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock
|
||||
# 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"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# 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
|
||||
|
|
@ -17,7 +17,14 @@ gtk_theme="Flat-Remix-GTK-Blue-Dark"
|
|||
icon_theme="Flat-Remix-Blue-Dark"
|
||||
cursor_theme="Bibata-Modern-Ice"
|
||||
|
||||
swww="swww img"
|
||||
if command -v awww >/dev/null 2>&1; then
|
||||
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"
|
||||
|
||||
# Check if a marker file exists.
|
||||
|
|
@ -26,7 +33,7 @@ if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then
|
|||
# Initialize wallust and wallpaper
|
||||
if [ -f "$wallpaper" ]; then
|
||||
wallust run -s $wallpaper > /dev/null
|
||||
swww query || swww-daemon && $swww $wallpaper $effect
|
||||
$WWW query || $DAEMON && $swww $wallpaper $effect
|
||||
"$scriptsDir/WallustSwww.sh" > /dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
|
|
@ -49,9 +56,6 @@ if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then
|
|||
# initiate kvantum theme
|
||||
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
|
||||
#if [ -L "$HOME/.config/waybar/config" ]; then
|
||||
## ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ #
|
||||
# default Monitor config
|
||||
|
||||
# *********************************************************** #
|
||||
|
|
@ -36,7 +36,7 @@ monitor=,highres,auto,1
|
|||
#monitor = HDMI-A-1, preferred,auto,1
|
||||
|
||||
# QEMU-KVM, virtual box or vmware
|
||||
#monitor = Virtual-1, 1920x1080@60,auto,1
|
||||
monitor = Virtual-1, 1920x1080@60,auto,1
|
||||
|
||||
# to disable a monitor
|
||||
#monitor=name,disable
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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.
|
||||
|
||||
notif="$HOME/.config/swaync/images/ja.png"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
# Check if rofi is already running
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
if [ -f /sys/class/power_supply/BAT$i/capacity ]; then
|
||||
battery_level=$(cat /sys/class/power_supply/BAT$i/status)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
notif="$HOME/.config/swaync/images"
|
||||
|
|
|
|||
|
|
@ -1,24 +1,110 @@
|
|||
#!/usr/bin/env bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# for changing Hyprland Layouts (Master or Dwindle) on the fly
|
||||
# ==================================================
|
||||
# KoolDots (2026)
|
||||
# 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"
|
||||
|
||||
LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
|
||||
layouts=(master dwindle scrolling monocle)
|
||||
|
||||
case $LAYOUT in
|
||||
"master")
|
||||
hyprctl keyword general:layout dwindle
|
||||
# SUPER+J/K are global and managed by KeybindsLayoutInit.sh; only manage SUPER+O here
|
||||
hyprctl keyword bind SUPER,O,togglesplit
|
||||
get_layout() {
|
||||
hyprctl -j getoption general:layout | jq -r '.str'
|
||||
}
|
||||
|
||||
next_layout() {
|
||||
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"
|
||||
;;
|
||||
"dwindle")
|
||||
hyprctl keyword general:layout master
|
||||
# Drop togglesplit binding on SUPER+O when switching back to master
|
||||
hyprctl keyword unbind SUPER,O
|
||||
"scrolling")
|
||||
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
|
||||
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"
|
||||
;;
|
||||
*) ;;
|
||||
*)
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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.
|
||||
|
||||
# Variables
|
||||
|
|
|
|||
|
|
@ -1,16 +1,24 @@
|
|||
#!/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
|
||||
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories
|
||||
|
||||
# Paths
|
||||
wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
|
||||
PICTURES_DIR="$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")"
|
||||
wallpaper_base_path="$PICTURES_DIR/wallpapers/Dynamic-Wallpapers"
|
||||
dark_wallpapers="$wallpaper_base_path/Dark"
|
||||
light_wallpapers="$wallpaper_base_path/Light"
|
||||
hypr_config_path="$HOME/.config/hypr"
|
||||
swaync_style="$HOME/.config/swaync/style.css"
|
||||
ags_style="$HOME/.config/ags/user/style.css"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
# shellcheck source=/dev/null
|
||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi"
|
||||
|
||||
|
|
@ -19,6 +27,10 @@ kitty_conf="$HOME/.config/kitty/kitty.conf"
|
|||
wallust_config="$HOME/.config/wallust/wallust.toml"
|
||||
pallete_dark="dark16"
|
||||
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
|
||||
for pid in waybar rofi swaync ags swaybg; do
|
||||
|
|
@ -26,11 +38,11 @@ for pid in waybar rofi swaync ags swaybg; do
|
|||
done
|
||||
|
||||
|
||||
# Initialize swww if needed
|
||||
swww query || swww-daemon --format xrgb
|
||||
# Initialize wallpaper daemon if needed
|
||||
"$WWW_CMD" query || "$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}"
|
||||
|
||||
# Set swww options
|
||||
swww="swww img"
|
||||
swww="$WWW_CMD img"
|
||||
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
|
||||
|
|
@ -43,6 +55,14 @@ else
|
|||
# Logic for Light mode
|
||||
wallpaper_path="$light_wallpapers"
|
||||
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
|
||||
update_theme_mode() {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
|
||||
# Local Paths
|
||||
|
|
@ -15,23 +20,23 @@ fi
|
|||
if command -v paru &> /dev/null || command -v yay &> /dev/null; then
|
||||
# Arch-based
|
||||
if command -v paru &> /dev/null; then
|
||||
kitty -T update paru -Syu
|
||||
kitty -T update -e paru -Syu
|
||||
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
||||
else
|
||||
kitty -T update yay -Syu
|
||||
kitty -T update -e yay -Syu
|
||||
notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.'
|
||||
fi
|
||||
elif command -v dnf &> /dev/null; then
|
||||
# Fedora-based
|
||||
kitty -T update sudo dnf update --refresh -y
|
||||
kitty -T update -e sudo dnf update --refresh -y
|
||||
notify-send -i "$iDIR/ja.png" -u low 'Fedora system' 'has been updated.'
|
||||
elif command -v apt &> /dev/null; then
|
||||
# Debian-based (Debian, Ubuntu, etc.)
|
||||
kitty -T update sudo apt update && sudo apt upgrade -y
|
||||
kitty -T update -e bash -c "sudo apt update && sudo apt upgrade -y"
|
||||
notify-send -i "$iDIR/ja.png" -u low 'Debian/Ubuntu system' 'has been updated.'
|
||||
elif command -v zypper &> /dev/null; then
|
||||
# openSUSE-based
|
||||
kitty -T update sudo zypper dup -y
|
||||
kitty -T update -e sudo zypper dup -y
|
||||
notify-send -i "$iDIR/ja.png" -u low 'openSUSE system' 'has been updated.'
|
||||
else
|
||||
# Unsupported distro
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
#!/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
|
||||
# /* -- ✨ https://github.com/SherLock707 ✨ -- */ ##
|
||||
|
|
@ -12,7 +17,13 @@
|
|||
|
||||
DEBUG=false
|
||||
SPECIAL_WS="special:scratchpad"
|
||||
SPECIAL_NAME="${SPECIAL_WS#special:}"
|
||||
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)
|
||||
WIDTH_PERCENT=65 # Width as percentage of screen width
|
||||
|
|
@ -31,14 +42,65 @@ if [ "$1" = "-d" ]; then
|
|||
fi
|
||||
|
||||
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() {
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "$@"
|
||||
echo "$@" >&2
|
||||
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
|
||||
if [ -z "$TERMINAL_CMD" ]; then
|
||||
echo "Missing terminal command. Usage: $0 [-d] <terminal_command>"
|
||||
|
|
@ -62,6 +124,28 @@ get_window_geometry() {
|
|||
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)
|
||||
animate_slide_down() {
|
||||
local addr="$1"
|
||||
|
|
@ -121,7 +205,30 @@ animate_slide_up() {
|
|||
|
||||
# Function to get monitor info including scale and name of focused monitor
|
||||
get_monitor_info() {
|
||||
local monitor_data=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.x) \(.y) \(.width) \(.height) \(.scale) \(.name)"')
|
||||
local monitor_data
|
||||
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
|
||||
debug_echo "Error: Could not get focused monitor information"
|
||||
return 1
|
||||
|
|
@ -129,6 +236,7 @@ get_monitor_info() {
|
|||
echo "$monitor_data"
|
||||
}
|
||||
|
||||
|
||||
# Function to calculate dropdown position with proper scaling and centering
|
||||
calculate_dropdown_position() {
|
||||
local monitor_info=$(get_monitor_info)
|
||||
|
|
@ -148,6 +256,13 @@ calculate_dropdown_position() {
|
|||
|
||||
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
|
||||
if [ -z "$mon_scale" ] || [ "$mon_scale" = "null" ] || [ "$mon_scale" = "0" ]; then
|
||||
debug_echo "Invalid scale value, using 1.0 as fallback"
|
||||
|
|
@ -207,6 +322,12 @@ get_terminal_address() {
|
|||
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
|
||||
get_terminal_monitor() {
|
||||
if [ -f "$ADDR_FILE" ] && [ -s "$ADDR_FILE" ]; then
|
||||
|
|
@ -218,22 +339,48 @@ get_terminal_monitor() {
|
|||
terminal_exists() {
|
||||
local addr=$(get_terminal_address)
|
||||
if [ -n "$addr" ]; then
|
||||
hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
||||
hyprctl clients -j 2>/dev/null | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to check if terminal is in special workspace
|
||||
terminal_in_special() {
|
||||
local addr=$(get_terminal_address)
|
||||
# Function to check if a window address exists
|
||||
window_exists() {
|
||||
local addr="$1"
|
||||
if [ -n "$addr" ]; then
|
||||
hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR and .workspace.name == "special:scratchpad")' >/dev/null 2>&1
|
||||
hyprctl clients -j 2>/dev/null | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1
|
||||
else
|
||||
return 1
|
||||
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
|
||||
spawn_terminal() {
|
||||
debug_echo "Creating new dropdown terminal with command: $TERMINAL_CMD"
|
||||
|
|
@ -288,12 +435,13 @@ spawn_terminal() {
|
|||
|
||||
# Small delay to ensure it's properly in special workspace
|
||||
sleep 0.2
|
||||
|
||||
# Now bring it back with the same animation as subsequent shows
|
||||
# Use movetoworkspacesilent to avoid affecting workspace history
|
||||
# Move to current workspace but start hidden off-screen
|
||||
hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$new_addr"
|
||||
hyprctl dispatch pin "address:$new_addr"
|
||||
animate_slide_down "$new_addr" "$target_x" "$target_y" "$width" "$height"
|
||||
ensure_pinned "$new_addr"
|
||||
hyprctl dispatch resizewindowpixel "exact $width $height,address:$new_addr" >/dev/null 2>&1
|
||||
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
|
||||
fi
|
||||
|
|
@ -303,8 +451,9 @@ spawn_terminal() {
|
|||
}
|
||||
|
||||
# Main logic
|
||||
if terminal_exists; then
|
||||
TERMINAL_ADDR=$(get_terminal_address)
|
||||
TERMINAL_ADDR=$(resolve_terminal_address)
|
||||
|
||||
if [ -n "$TERMINAL_ADDR" ]; then
|
||||
debug_echo "Found existing terminal: $TERMINAL_ADDR"
|
||||
focused_monitor=$(get_monitor_info | awk '{print $6}')
|
||||
dropdown_monitor=$(get_terminal_monitor)
|
||||
|
|
@ -324,8 +473,9 @@ if terminal_exists; then
|
|||
echo "$TERMINAL_ADDR $monitor_name" >"$ADDR_FILE"
|
||||
fi
|
||||
|
||||
if terminal_in_special; then
|
||||
debug_echo "Bringing terminal from scratchpad with slide down animation"
|
||||
hidden_state=$(get_hidden_state)
|
||||
if [ "$hidden_state" = "hidden" ] || [ -z "$hidden_state" ] || window_is_hidden "$TERMINAL_ADDR"; then
|
||||
debug_echo "Bringing terminal from hidden position with slide down animation"
|
||||
|
||||
# Calculate target position
|
||||
pos_info=$(calculate_dropdown_position)
|
||||
|
|
@ -334,17 +484,16 @@ if terminal_exists; then
|
|||
width=$(echo $pos_info | cut -d' ' -f3)
|
||||
height=$(echo $pos_info | cut -d' ' -f4)
|
||||
|
||||
# Use movetoworkspacesilent to avoid affecting workspace history
|
||||
hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$TERMINAL_ADDR"
|
||||
hyprctl dispatch pin "address:$TERMINAL_ADDR"
|
||||
ensure_pinned "$TERMINAL_ADDR"
|
||||
|
||||
# Set size and animate slide down
|
||||
hyprctl dispatch resizewindowpixel "exact $width $height,address:$TERMINAL_ADDR"
|
||||
animate_slide_down "$TERMINAL_ADDR" "$target_x" "$target_y" "$width" "$height"
|
||||
|
||||
hyprctl dispatch focuswindow "address:$TERMINAL_ADDR"
|
||||
set_hidden_state "shown"
|
||||
else
|
||||
debug_echo "Hiding terminal to scratchpad with slide up animation"
|
||||
debug_echo "Hiding terminal off-screen with slide up animation"
|
||||
|
||||
# Get current geometry for animation
|
||||
geometry=$(get_window_geometry "$TERMINAL_ADDR")
|
||||
|
|
@ -359,14 +508,16 @@ if terminal_exists; then
|
|||
# Animate slide up first
|
||||
animate_slide_up "$TERMINAL_ADDR" "$curr_x" "$curr_y" "$curr_width" "$curr_height"
|
||||
|
||||
# Small delay then move to special workspace and unpin
|
||||
sleep 0.1
|
||||
hyprctl dispatch pin "address:$TERMINAL_ADDR" # Unpin (toggle)
|
||||
hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR"
|
||||
# Move off-screen after animation
|
||||
off_y=$((curr_y - curr_height - 200))
|
||||
hyprctl dispatch movewindowpixel "exact $curr_x $off_y,address:$TERMINAL_ADDR" >/dev/null 2>&1
|
||||
ensure_unpinned "$TERMINAL_ADDR"
|
||||
set_hidden_state "hidden"
|
||||
else
|
||||
debug_echo "Could not get window geometry, moving to scratchpad without animation"
|
||||
hyprctl dispatch pin "address:$TERMINAL_ADDR"
|
||||
hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR"
|
||||
debug_echo "Could not get window geometry, moving off-screen without animation"
|
||||
hyprctl dispatch movewindowpixel "exact 0 -1000,address:$TERMINAL_ADDR" >/dev/null 2>&1
|
||||
ensure_unpinned "$TERMINAL_ADDR"
|
||||
set_hidden_state "hidden"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
|
|
|||
103
.config/hypr/scripts/ExternalBrightness.sh
Executable file
|
|
@ -0,0 +1,103 @@
|
|||
#!/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
|
||||
10
.config/hypr/scripts/Float-all-Windows.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/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,9 +1,16 @@
|
|||
#!/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
|
||||
|
||||
notif="$HOME/.config/swaync/images/ja.png"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
# shellcheck source=/dev/null
|
||||
. "$SCRIPTSDIR/WallpaperCmd.sh"
|
||||
|
||||
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
|
|
@ -17,13 +24,13 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
|
|||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
|
||||
hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
||||
swww kill
|
||||
\thyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
||||
"$WWW_CMD" kill
|
||||
notify-send -e -u low -i "$notif" " Gamemode:" " enabled"
|
||||
sleep 0.1
|
||||
exit
|
||||
else
|
||||
swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" &
|
||||
\t"$WWW_DAEMON" "${WWW_DAEMON_ARGS[@]}" && "$WWW_CMD" img "$HOME/.config/rofi/.current_wallpaper" &
|
||||
sleep 0.1
|
||||
${SCRIPTSDIR}/WallustSwww.sh
|
||||
sleep 0.5
|
||||
|
|
|
|||
129
.config/hypr/scripts/Ghostty_themes.sh
Executable file
|
|
@ -0,0 +1,129 @@
|
|||
#!/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
|
||||