1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
|
# Changelog — KoolDots
## v2.3.25
## Fixed:
- Disabled LayerRule for swaync
- Caused execessive blurring of background
- WindowRule for `qcalculate-gtk`
- Had same rule as `gnome-calculator` needed own sizing
## v2.3.24
## Fixed:
- `awww` default didn't work for wide screen monitors
- Default is to `resize --crop`
- Made wallpaper scripts monitor determinsitic
- Just overriding default won't work for non ultrawide screens
- Also add UserConfig override variabe to force default if needed
- Thanks to **CateDesu** for finding issue & correct parameters
- Found some corner cases and fixed them
- After LUA migration
- Logout issues:
- logout stopped working
- Long delay 20s+ for logout when using SDDM
- Duplicate keybinds
- layout persistance code failed
- `cava` colors reloaded dynamically with wallpaper change
- Updated `initial-boot.sh` to set `prefer-dark `
- This will set flatpak apps to dark
- PortalHyprland now also has the ubuntu portal code
- Added script `scripts/DisableWaybarService.sh`
- Some OS's / distros add a `waybar.service` to manage waybar
- This breaks theming and waybar restarts
- `scripts/lib_copy.sh` wasn't preserving `UserConfigs` dir
- Bad import path in `.config/waybar/style/ML4W/glass.css` file
- Migration script didn't properly create the `system_settings.lua` file
- Logout is NixOS.
- Added fallback if hyprshutdown not installed or fails
- Fixed pathing issues where not all logout options used`Logout.sh`
- Removed sleep statments from startup to trim login time
- Network icon on waybar invisible
- Changed the CSS files it's better but should revisit it
- NixOS waybar issues:
- User waybar service enabled
- `install.sh` checks for and disables on install
- `Refresh.sh` now supports systemctl service as well
- On NixOS waybar startup is wrapped `Refresh.sh` handles that also
- Parser for `UserConfigs` mistook border size 1 as as true/false value
- `UserConfigs/user_decorations.lua` was not being imported correctly
- My custom keybinds were included in defaults by mistake
- Removed from both .lua and .conf files
- Theme by wallpaper and global theme
- Neither were updating waybar nor border colors
- Adjusted colors on style sheet `Wallust-Chrome-Fustion.css`
- Current workspace showed as single color blob
- Migrate-hypr-to-lua to lua script
- Wasn't properly handling variables list `$scriptDir`
- Sourcing of `UserConfig/user_keybinds.lua`
- Duplicate import of keybinds
- was reading `lua/keybinds.lua` and `UserConfigs/configs`
- Udpated `Kool_Quick_Settings.sh`
- Only reads `configs` and `UserConfigs` dirs
- MonitorProfile for `eDP-1-disable.lua` incorrect
- Changed to `disable = true`
- `copy.sh`
- Didn't handle `hyprland.lua` properly
- Re-copied `*.conf` files when LUA enabled
- `monitors.lua` not copied to `UserConfigs` dir
- `MonitorProfiles.sh` wasn't set up for LUA configuration
- `scrpts/migrate-hypr-to-lua.sh`
- It didn't convert `monitors.conf` nor `workspaces.conf`
- Impropved summary to show converted and what's left native
- I.e. `hyprlock.conf` and `hypridle.conf` still use `.conf`
- `DropDownterminal`
- Created `silent-mode` for startup
- It now goes directly to specialworkspace
- Adding lua support broke legacy hyprlang
- Part Dos: Fixed the fix to work in lua workflow
- Part Tres: `DropDownterminal.sh` exited on hide not persisted
- logout keybinding and logout from menu not working in LUA config
- logic issue in migration script
- Updated description for logout/exit keybinding
- It only said `exit` if you search for `logout` nothing is returned
- Improved migration process to properly backup and move the .lua files
- `/.config/hypr/lua` are the pristine source files
- Migration script will convert the .conf files to .lua
- Them move the system configs to `.config/hypr/configs`
- Then move thhe user configs to `.config/hypr/UserConfigs`
- Preserving user changes on subsquent updates
- `JavaManger.sh` field width cut off JDK version
- `Tak0-Autodispatch.sh`
- Reworked code to support LUA config
- `Tak0-Per-Window-Switch.sh`
- Had syntax error
- Added support for both Hyprlang and LUA configs
- Incorrect XDGDATA dirs for flatpak
- `Gamemode.sh`
- It supports both HYPRLANG and LUA configs
- `Float-all-windows.sh`
- It works with HYPRLANG and LUA
- `MonitorProfiles.sh` script to work with LUA or HYPRLANG
- Added additional profiles also
- Virtual-1 1920x1080
- Virtual-1 2560x1080
- HDMI-A-1 High Refresh Rate
- eDP-1 disable
- Legacy import of `UserKeybinds.conf`
- `Toggle-Active-Windown-Audio` script to work with LUA workflow
- `layerrules` made menus look terrible
- `OverviewToggle.sh` handling of quickshell vs. ags
## Updated:
- OpenSuse is not longer supported
- Updated lua defaults to disable hyprland wallpaper at start
- `ENVariables.conf` and `env.lua`
- migration script to make/keep proper Window Rule names
- LUA function to handle lid switch to enable/disable laptop display
- Thank you `@star` on `TheBlackDons` Discord Server
- keybind description for `hyprsunset` to include `hyprsunset`
- Makes it easier to find in keybind search tool
- `ExternalBrightness.sh`
- Taken from code modified by `@RAH-iĐ905`
- Discovers montiors, and LUA compatible
## Added:
- `yazi` config to `copy.sh`
- Waybar widget for layouts
- Shows current layout
- `D` for `dwindle`
- `S` for `scrolling`
- `M` for `Monocole` (Capital M)
- `m` for `master` (lowercase m in a circle)
- Click on icon brings up menu to select layout
- Created helper lua modules for `UserConfigs` lua files
- `user_keybinds_helper.lua`
- `user_startup_helper.lua`
- `user_window_rules.lua`
- `user_layer_rules.lua`
- `user_decorations.lua`
- The removes the basic setup user lua files
- The generated `user_keybinds.lua` now only has the bindings config
- Removing all the setup code, functions, makes editing easier
- Also any updates to the user keybind code is done outside of `UserConfigs`
- `UserConfigs` dir is preserved on updates
- `SUPERCTRL + G` for ghostty theme selector
- Kitty theme selector to `Kool_Quick_Settings` to match entry for ghostty
- `.luarc.jsonc` and `hl.meta.lua` (Thank you @Tony,btw) for the latter
- This will get rid of `function not defined` errors in Editor LSP's that support LUA
- And provide fuction info as well with properly configured editors
- support for `$VISUAL` editor
- Setting the env variable to your GUI editor will override `$EDITOR`
- You can use `neovide`, `code/codium`. `geany`, `emacs` etc
- Providing a richer environment, and faster.
- Created a `keybind_helpers.lua` file
- Moved all the helper functions which should need to be edited
- This cleans up the `keybinds.lua` file to be more user friendly, easier editing
- Edited `keybinds.lua` to make it easier to understand and edit
- Added a clear “User-editable bindings” header block.
- Grouped bindings with section labels:
- Application launchers and utility scripts
- Window/session controls
- Layout and tiling controls
- Audio/media/hardware keys
- Screenshot bindings
- Window resize/move/swap/grouping
- Workspace navigation/assignment
- Mouse drag/resize bindings
- `Javamanger.sh`
- Manage Java runtime instances
- 1st pass, only tested for Arch
- Added code for other distros, needs testing
- helper script `logout.sh` to call `hyprshutdown`
- Added pkill `waybar`, `awww-daemon`, and `swww-daemon` before `hyprshutdown`
- menu option for `LayerRules` in Quick settings menu
## Removed:
- "-config-v3.conf" files for
- `WindowRules.conf/lua`
- `LayerRules.conf/lua`
- They are no longer needed
- Hard-coded rofi terminal overrides in theme configs
- `themes/KooL_dwm.rasi`
- `dwm-config-horiz.rasi`
- `dwm-config-vert.rasi`
- Thanks to [@TeaJhay](https://github.com/TeaJhay) for finding this
## Misc:
- Started planning changes to Wallust code to support v4.0
- `wallust v4.0.0` isn't backward compatible
- There seem to be more options but the color palletes are worse IMO
- Suggest current users ping wallust to v3.5.2
## Lua migration related:
- Improved move/resize and window swapping using native calls
- Thanks to `TheAhumMaitra`
- His LUA code is better than mine
- I will probably be "borrowing" more ;)
- https://github.com/TheAhumMaitra/Aurora
- https://github.com/TheAhumMaitra
- Moved layer rules to own file `LayerRules.conf`
- Added additional rules from `TheAhumMaitra`
- Updated LUA config accordingly
- Began Migration process to LUA
- Created `scripts/migrate-hypr-to-lua.sh`
- Script converts `configs` and `UserConfigs` to LUA
- Backs them up in local directories
- Allows a revert option to restore hyprlang config files
- Making `Kool_Quick_Settings.sh` script LUA/HYPRLANG aware
- Broke out the `hypr/configs` and `hypr/UserConfig` LUA files
- Added project header to all .LUA files
- Migration script will add that to the converted .conf files as well
- Updated keybinds parser to support LUA
- Fixed resize by keybind, SUPERSHIFT= + Arrow keys
- Then modified that script to support mouse resize
- SUPER + Left Mouse to move
- SUPER + Right Mouse to resize
## v2.3.23
- Changed `whiptail` GUI to dark colors
- Some terminals rendered incorrectly made menu unreadable
- Added more icons to `ModulesWorkpaces`
- Removed the following from hyprland settings:
- `vfr` -- Been enabled by default
- `psuedotile` -- In `dwindle` layout
- As of Hyprland v0.55 they will generate confiuration errors
- `OverviewToggle.sh` wasn't checking properly for quickshell service
- Found by `@TeaJhay`
- Changed script to look for `qs` not `quickshell`
- Minimum Hyprland version is now v0.54.x
- The addtion of scrolling and monocle require 0.54 or greater
- Updated warning banner when you run `copy.sh`
- Added check for `kde-polkit`
- With KDE installed users reported escalation fails
- `kde-polkit` is crashing preventng privledge escalation
- Added `.config/hyprland/scripts/Polkit-Diag.sh`
- This runs a series of Read Only commands to triage polkit issues
- Fixed syntax errors in a few waybar CSS files
- What should have been `<TAB> color`
- Was `\tcode` Caused by bad search and replace
- It caused waybar to crash
- Updated `Keyhints.sh`
- Was missing `scrolling` and `monocle` layouts
- Fixed display order for layout change binding
- It showed `master` after `dwindle`
- Correct order is `dwindle`, `scrolling`. `monocle`, `master`
- Added doc on how get `ventoy` GUI to run properly
- Seems to be a known bug
- `https://github.com/ventoy/Ventoy/issues/3570`
- Fixed issue with long pause starting lockscreen
- In `~/.config/hypr/UserScripts/WeatherWrap.sh`
- I put the weather cache check in the background
- Shortened network timeouts for ping and curl
- Changed `ERROR` to `NOTE` when first installing dotfiles
- The backup directory isn't there but reports as error
- Thank you `@moukhtar22` for finding and reporting this
- Removed `grace` timeout from `hyprlock*.conf` files
- It's now only supported on the command line
- Also updated out the `#image` and `#label`
- They require a space after the `#`
- Fixed: Setting wallpaper per monitor on restore both has same wallpaper
- `WallpaperDaemon` only tracked one wallpaper
- Added per monitor current wallpaper
- Added: Support for transistion effects with `awww`
- Added: `rofi-ssh-menu` `SUPER + S`
- Reads hosts from `$HOME/.ssh/config`
- You can also add in SSH keys to that file
- Including for just local hosts and another for your repositories for example
- Removed: Some leftover `Jakoolit` references
- Added: WindowRule and icon for `shelly` unified app installer for arch
- Added: WindowRule for `hyprwcenter` Audio control app
- Updated: Waybar CSS files to use `font-size 14px`
- Waybar, v15.x doesn't support `font-size 99%`
- Added: Script to disable Intel CPU Turbo feature
- `$HOME/.config/hypr/scripts/disable.cpu.turbo.sh`
- CPU turbo will often spin up the fan to max, then slowly drop back down
- Very noisy, happens randomly. 11th/12th gen notorious for this issue
- Should be added to User Startup as needed
- Fixed: Duplicate keybinds
- Fixed: `rofi beats` keybind not working
v2.3.22
- Fixed: Kitty font issue
- Thank you `@JasonNero` for the fix
- Enabled `touch on tablet` in `hypr/configs/SystemSettings.conf`
- Updated `copy.sh` to support `ghostty`
- The ghostty config directory is now backed up
- Restore ghostty config added to restore options
- [S3cBar0n](https://github.com/S3cBar0n) updated `WallpaperSelect.sh`
- It shows filename for the random image, and current wallpaper
- Thanks for support Kooldots!
- `SWWW` project is archived moving to `AWWW`
- It's feature, syntax compatible
- Already has some fixes added
- Created a startup script to check for `awww-daemon` or fallback to `swww-daemon`
- Suggest everyone remove `swww` and replace with `awww`
- This has been done in `NixOS-Hyprland` but you have to update to current build in main branch
- Fixed: Long delay updating colors after wallpaper change
- Added more app icons for `WaybarWorkspaces`
- Emacs
- Nautilus
- Set new default icon to terminal with red X if no icon is available
- Fixed delay is `ScreenShot.sh` script
- Removed existing `sleep` commands
- Moved audio `Sound.sh` to background
- This relates to `pipewire` [issue](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/5155)
- Fixed delay in `Sounds.sh`
- Now uses `paplay` for sounds
- Rewrote core logic of `DropDownterminal.sh`
- Doesn't use `specialworkspace` anymore
- Updates to Hyprland seem to break old logic
- The Dropdown would flash on hide
- Fixed `all float` toggle
- Old command depreciated
- Replaced with a script `Float-All-Windows.sh` in `Keybinds.conf` file
- Fixed Package name for `waybar-weather`
- Added `scrolling` layout
- Added `monocle` layout
- Experimenting with some additional layerrules
- Improving wallpaper based theming
- More consistent results
- Reducing the time to make change effective
- Fixed several waybar style files with inconsitent colors
- Updated `ChangeLayout` script for scrolling
- Requires Hyprland v0.54+
- Added two keybinds for scrolling layout as a start
- `SUPERSHIFT + comma` -- Swap columns
- `SUPERSHIFT + period` -- Move to next column
- `SUPERALT + H` -- Horizonal Scrolling
- `SUPERALT + V` -- Vertical Scrolling
- Updated `togglesplit` to `layoutmsg,togglesplit`
- The old format Has been depreciated, w/0.54 it's not supported
- No errors just doesn't work
- Fixed many of the WALLUST based waybars color issues
- Foreground/background colors were same light color
- Kitty now has a "No color/no theme" option
- Updated the Headers in the scripts to:
- KoolDots
- Added Project name and URL
- Added License info GPLv3 to each file also
- Added new Rofi themes:
- dwm Horizontal (old classic dmenu style)
- dwm Vertical (dmenu with small dropdown list)
- TokyoNight
- Changed `fastfetch` dotfiles name to `KoolDots`
- ENVvariables file had both QT5CT and QT6CT variables
````#Added style ENV for kvantum
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_STYLE_OVERRIDE,kvantum```
````
## v2.3.21
- Added script from `@ivy` and `@sl1ng` to Toggle audio on active Wundow
- `$HOME/.config/hypr/scripts/Toggle-Active-Window-Audio.sh`
- Keybind is `SUPER + SHIFT + H` (hush)
- Added check for `pactl` otherwise keybind fails silently
- Added check for ubunutu v26.04 in startup
- For as of yet unknown reason waybar won't startup without this
```
exec-once = /usr/libexec/xdg-desktop-portal-hyprland &
exec-once = /usr/libexec/xdg-desktop-portal &
exec-once = waybar
```
- Updated `waybar-weather`
- Created default files in `.config/waybar-weather`
- You can manually override settings or providers
- The defaults should work for most users
- Added question during install to set `metric` or `imperial` Temp units
- Added Menu item is Quick Settings to toggle units
- Note: After changing units click on the weather widget to update units
- Updated look of `fastfetch` compact config file
- Fixed no tooltips when `waybar cava` running
- Thank you Max Gangel for the fix!
- Added check for `rsync` in `copy.sh`
- Fixed two more style sheets with hardcoded colors that broke with global theme
- Fixed Window Rules for `zapzap`
- Added French Translations
- Moved docs to proper i18n locations
- Thank you @Loris383v
- Fixed `waybar-cava` starting many new processes
- When you switched waybarconfigs, old processes remained
- This is especially bad with mulitple monitors
- New code kills the `waybar-cava` processes on refresh
- Fixed setting SDDM/Wallpaper/Waybar defaults on update/installs
- Added WindowRule for proton-laucher games
- Added WindowRule for CachyOS Kernel Manager
- Added WindowRule for CachyOS Hello app
- Added WindowRule for CachyOS Package Installer app
- Added `Hyprshot` screenshot tool set to region capture
- `ALT + S` Saves to clipboard and `~/Pictures/Screenshots/`
- Not all keyboards have `PrtScr` button
- `hyprshot.sh` is fast, simple, no system bell sound
- Fixed start CLI apps from rofi like `htop`, `btop` being started with `xterm`
- This made the apps run in light mode with tiny fonts
- Now they are started with `kitty`
- Added alternative `RainbowBorders-low-cpu.sh`
- Based on code from `DemiGoD`
- I added variables for finer control
- Some tweaks to lower CPU further
- Added `-h/--help`
- Added `--run-once` to set RainbowBorders but no animation
- Added 'TOP-ddubs-simple-bar'
- Fixed CSS formatting in `ML4W-Glass.css`
- Added keybind for "Static Rainbow border"
- Run `RainbowBorders-low-cpu --exec-once` to set the rainbow border w/o animation
- Updated `Picture-in-Picture` rule
- Works properly with `Brave` and other chromium browsers
- Thanks to `Goodborn` for the fix
## v2.3.20
- Bugfix release
- Fixed issue with express-update
- It bypassed the code to remove duplicates in system vs. user
- Now checks for dups in version <= 2.3.19
- Improved the checking code for better matching system vs. User
- Merged `tak0dan` update to `Tak0-Autodispatch.sh` script
- Removed stale `nvim` config. It was never copied but not needed
## v2.3.19
- 2026-01-20
- Fixed CSS to format the `custom/nightlight` module
- Fixed padding on some CSS files
- 2026-01-19
- Removed "Set wallpaper SDDM prompt"
- When changing wallpaper there is no longer a prompt to set it on SDDM
- It's now a menu option under Quick Settings menu `SUPER SHIFT + E`
- Fixed `Glass` style sheets
- 2026-01-16
- Added `Rainbow Borders sub memu`
- Code provided by [brunoorsolon](https://github.com/brunoorsolon)
- There are now mulitple modes for the Rainbow Borders feature
- `Disabled`, `Wallust Color`, `Rainbow`, `Gradient flow`
- Thank you for the submission
- Disabled `RainbowBorders.sh` by default
- Use the quick setings menu `SUPERSHIFT + E` to enable, select mode
- 2026-01-15
- Created waybar configs for ML4W Glass style
- `TOP & Bottom Summit - glass`
- `Default Laptop - Glass`
- `Everforest - Glass`
- Fixed menu for express-update
- Fixed `Toggle Rainbow` checked for wrong file
- 2026-01-13
- Added `Toggle Rainbow borders` option to settings menu
- `SUPERSHIFT+E` search for `Rainbow`
- It will toggle the current state and run `Refresh.sh` to start or stop
- Thanks to @Arkboi for suggesting it.
- Later if there are more settings like this I will create a new menu
- 2026-01-11
- Improved `ML4W Glass` theme
- Now has proper 3d gradient look
- Theme based nightlight color
- `copy.sh` is now more modular
- Helper scripts in `scripts` dir per function
- Making `copy.sh` smaller (1200 lines to 800 so far)
- Easier to maintain going forward
- 2026-01-09
- Fixed: Keybind parser latency
- Changed the parsing login to python instead of bash
- Also fixed duplicates when you unmap, then remap keybinds
- Ex. Change keybind for `file manger`
- Both the old and new keybind were show in keybind menu
- Added: `--express-update` to `copy.sh`
- `./copy.sh --express-update`
- This will bypass some of the questions
- Updating SDDM wallpaper
- Downloading wallpaper from repo
- Mostly like that was done at install time or previous upgrade
- Restoring User configs :
- `Weather.sh` and `Weather.sh`
- `Rofibeats.sh`
- etc.
- Automatically trims the backed up directories leaving just latest backup
- This dramatically reduces the time/effort to update dotfiles
- Most users don't restore these custom files on upgrades
- 2026-01-08
- Fixed: MPRIS artwork in Sway notification center only 10 pixels
- Adjusted to 96 pixels
- Thank you @godlyfas for fixing this
- Fixing scripts
- `TouchPad.sh` never expands `$TOUCHPAD_ENABLED` (and doesn’t source the file that defines it)
- `Volume.sh` has multiple microphone-control bugs (bad `pamixer` arguments, typoed function name, invalid notification payloads) that break mic toggling and volume feedback.
- `DarkLight.sh` wipes the Qt theme paths each run because the `qt5ct/qt6ct` palette variables are commented out.
- `KooLsDotsUpdate.sh` contains a malformed `notify-send` string that crashes the script when no local version is detected.
- `Distro_update.sh` runs `sudo apt upgrade` outside the kitty window, so the Debian/Ubuntu flow never finishes inside the terminal.
- `Hypridle.sh` now launches `hypridle` in the background (`& disown`) when enabling the daemon, preventing the toggle command from hanging Waybar.
- `RofiSearch.sh` verifies that `jq` is available, captures the user’s query explicitly, URL-encodes it via `jq` `@uri`,
- opens the configured search engine with the encoded query instead of dropping the term.
- `Sounds.sh` now tries `pw-play`, then `paplay`, then `aplay`, emitting a clear error if none are installed, so the script no longer calls the non-existent pa-play.
- `Tak0-Per-Window-Switch.sh` now records the listener PID in `~/.cache/kb_layout_per_window.listener.pid` and reuses it if still running, preventing multiple background listeners, and reports missing Hyprland sockets without exiting the main script.
- `WaybarScripts.sh` adds a `launch_files()` helper that checks `$files` before execution; if unset, it shows a notification instead of running an empty command.
- `sddm_wallpaper.sh` validates `~/.config/rofi/wallust/colors-rofi.rasi` before use, extracts colors via a helper, and aborts with a notification if any required colors are missing.
- `WallustSwww.sh` now reads the focused monitor’s cache file (or parses swww query per-monitor) to pick the correct wallpaper path
- Eliminating the previous “last line wins” bug on multi-monitor setups.
- Wallpaper and global theme changes are now dramatically faster
- `PortalHyprland.sh` suppresses harmless killall errors and launches only the first available portal binary in each category (hyprland + general)
- Avoiding duplicate processes when both `/usr/lib` and `/usr/libexec` variants exist.
- `KillActiveProcess.sh` checks that Hyprland returned a numeric PID before calling kill
- Notifies the user when no active window is available instead of throwing kill usage errors.
- 2026-01-06
- Added Global Theme Changer.
- There are many themes to choose from
- `SUPER + T`
- Added "Glass Style" taken from `ML4W` dotfiles
- Thank you [TheAhumMaitra](https://github.com/TheAhumMaitra)
- Fixed more WindowRules
- Fixed rofi themes to work with Theme changer
- Added `ghostty` terminal config file integrated with Themes
- `ghostty` is not installed by default
- The `COPR` is already there for Fedora
- `sudo dnf install ghostty`
- The `COPR` repo for `wezterm` is also available
- `sudo dnf install wezterm`
- A config file is already available when you install it
- Most other distros have these terminals in their repo
- 2026-01-04
- Fullscreen or maximized would exit using `ALT-TAB` (cycle next/bring-to-front)
- User `GoodBorn` found this fix
```
misc {
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
}
```
> Note: The above change only works on Hyprland v0.53+.
> Users with lower will have to comment that line out.
> `~/.config/hypr/UserSettings/SystemSettings.conf`
- Added: modal rule so popup diaglog, like `Save as` or `Open File` center and float by default
- `windowrule = float on, center on, match:modal:1`
- 2026-01-01
- Added more blur and enabled xray
- Thank you [TheAhumMaitra](https://github.com/TheAhumMaitra)
- 2025-12-31
- Fixed rule for `Gnome Calculator`
- Thanks Warlord for finding/fixing that
- Fixed rule for `yad`
- Size was being overridden by `settings` tag
- `~/Pictures` now follows `XDG dir` vs. hard coded
- Thanks for Jaël Champagne Gareau for the code
- Fixed `opache toggle`
- `Weather.py` and `Weather.sh` updated and improved
- Thank you Lumethra
- Added network check to `WeatherWrap` script
- Thank you Maximilian Zhu
- Added sample workspace rules to start apps on specific workspaces
- They are commented out but serve as references
- 2025-12-29
- Fixed pathing in Wallust script
- Thank you [Lumethra](https://github.com/Lumethra)
— 2025-12-22
- Added:
- Optional keybinding to increment/decrement audio in 1% steps vs. 5%
- Thanks [rgarofono](https://github.com/rgarofano) for the code
- Fixed:
- Switch Layout was looking in wrong location
- SUPER - J/K not working in both `master` and `dwindle` layouts
- You also get notification message on layout change
- Thanks [@suresh466](https://github.com/suresh466) for fixing it
## v2.3.18 — 2025-12-10
## FIXES:
- Updated: Made the WindowRules file for 0.53+ the default
- There are more distros now running 0.53.1 vs. earlier versions
- The older file is still there for those users not yet up to date
- Fixed: Opacity for `vscode` configured multiple times
- Fixed: Quickshell `overview` not working, error "Quickshell or AGS not installed"
- If `shell.qml` exists in `~/.config/quickshell` that blocks overview
- That file isn't configured for overview
- Without that file, it will look in the `overview` directory and load the QML code
- Fixed: Waybar Modules, locale not included in clock format
- Always showed US-EN
- Thanks to albersonmiranda for finding and fixing it
- Fixed: Not all waybars had `custom/nightlight`
- Fixed: `Weather.py` cache wasn't updating when UNITS changed from C to F
- Fixed: Wallpapers with periods in names truncated
- https://github.com/LinuxBeginnings/Hyprland-Dots/pull/873
- Thanks to @godlyfast for the fix.
- Fixed: Overview Toggle keyind SUPER + A now properly detects QuickShell
- If QS `overview` fails, or is not installed, AGS `overview` will be started instead
- Fixed: `Super J/K` cycle next/prev weren't working in both master / dwindle
- Fixed: `Weather.py` one-off run
- Removed: `Hyprsunset` from status group.
- Credit: Alberson Miranda
- Added: more application icons for waybars
- `Weather.py` basically rewritten to improve look and functionality
- Credit: Prabin Panta
- The Jak team also heavily contributed to the rewrite
- Fixed: Waybar
- Changing the waybar config `SUPERALT + B` would sometimes need to be done twice
- Cause: options were incorrect annotated with "👉 ${name}"
- Fixed: `GameMode.sh` to function consistently
- Updated: `WalllustSwww.sh` wallpaper path
- Corrected: Typo in Show Open Apps
- GameMode.sh / Refresh.sh
- Enabling / Disabling repeatedly would result in multiple waybars
- Added additional `sleep` commands in `GameMode.sh` and `Refresh.sh`
- Resolves [Issue 870](https://github.com/LinuxBeginnings/Hyprland-Dots/issues/870)
## CHANGES:
- ChangeLayout.sh continues to rebind dynamically when layouts are toggled.
- Credits: [Suresh Thagunna](https://github.com/suresh466)
- For identifying the mismatch and proposing an auto-alignment approach.
- Startup config order:
- load System Defaults Startup_Apps and WindowRules first
- Then user overlays, restoring baseline autostarts while keeping user additions.
- Lock screen:
- Clock now horizontal and smaller
- Adjust spacing margines of the various fields
- Small changes to color variables Trying to balance colors
- Fixed both 1080 and 2K+ configurations
- `UserConfigs/Startup_App.conf` is now sourced in `hyprland.conf`
- It was being sourced twice
- Some scripts weren't executable
- `scripts/Battery.sh`
- `scripts/ComposeHyprConfigs.sh`
- `scripts/OverviewToggle.sh`
- `scripts/sddm_wallpaper.sh`
- Updated: SWWW to v0.11.2
- Fixes numerous issues
- Portrait monitors especially
- SWWW isn't being maintained In future will switch to AWWWW
- Added: A message before installing wallpapers that some are AI generated or enhanced
- Changed: `/usr/bin/bash` to `/usr/bin/evn bash` for better portability
- Adjusted: Small change to `DropDownterminal.sh`
- Increased top margin % to center it more
- Widened it.
- These options are settable in the script.
## FEATURES:
- Hyprsunset retains last state on/off
- Credit: Alberson Miranda
- Fastfetch now displays the version of the Jak Dotfiles
- `ChangeLayout.sh`
- Dynamically binds SUPER J/K based on current layout
- Previously only worked in Master Layout
- Credit: Suresh Thagunna
- Along with that `KeybindsLayoutInit` script reads current default layout
- Then it adjusts the SUPER J/K keybindings appropriately
- RofiBeats dynamic music system added
- Binds now include descriptions.
- Switched from `bind` to `bindd`
- Improves usability of keybind search
- Add new laptop gesture for zoom system.
Thanks to everyone that contributed, or reported issues.
Contributors:
Alberson Miranda
TheAhumMaitra
Prabin Panta
Suresh Thagunna
@goldlyfast
## October 2025
### ⌨️ Keybinds
- Convert Hyprland keybinds to description form (`bindd`, `bindld`, `binded`,
`bindmd`, `bindlnd`) in `config/hypr/...`.
- Add concise descriptions for each keybind; keep the name "powermenu".
- Update `config/hypr/scripts/KeyBinds.sh` to parse and display descriptions as:
MODS+KEY — DESCRIPTION — DISPATCHER [PARAMS].
### 🐛 Fixes
- Updated `/bin/bash` to `/usr/bin/env bash`
- Correct `windowrule` syntax error.
- Ensure wallpaper selector applies wallpaper to SDDM.
- Update theme colors when a new wallpaper is selected.
### 🖥️ Jak dotfiles version now in `fastfetch` output.
### 🌦️ Weather.py
Key Changes:
- 2nd Weather.py Update by prabinpanta0
- ♻️ Substantial rewrite.
- ✨ New unified weather entrypoint (weatherWrap.sh)
- With Python-first execution
- 🔒 Automatic weather updates before screen lock
- 🚀 Weather cache initialization at session startup
- 🛡️ Enhanced error handling and fallback mechanisms
- 📍 Automatic location detection via IP geolocation
- 🎨 Improved weather condition mapping and JSON output
### 🖥️ Support for debian and ubuntu installs
- Providing they are using Hyprland 0.51.1 or greater
### 🖥️ Drop-down terminal
- 🔧 Start on login via `TerminalDropDown.sh` so first invocation works.
- 🐱 Use Kitty explicitly instead of `$TERM` for consistent behavior.
### 🌇 HyprSunset
- 🔧 Availble from waybar or`SUPER + N`
### 🖱️ Gestures
- 🔧 Updated to accommodate Hyprland 0.5x changes.
### 👥 Contributors
- [prabinpanta0](https://github.com/prabinpanta0)
- [CharlyMH](https://github.com/CharlyMH)
- [ndeekshith](https://github.com/ndeekshith)
- [SherLock707](https://github.com/SherLock707)
- [SVIGHNESH](https://github.com/SVIGHNESH)
If you have any questions, feel free to contact via
[GitHub Discussions](https://github.com/LinuxBeginnings/Hyprland-Dots/discussions) or
[Through Discord Server](https://discord.gg/kool-tech-world)
|