This is Kriti-shell. It has many features I have not seen in other configs of any widget system, like built in LYRICS!
Video here since it is too long to upload directly in github.
The media player automatically loads lyrics from lrclib. Also works with local files with correct metadata.
You can also search for lyrics, if Kriti-shell does not automatically find them.
Note
Seems entirely fixed now when using Firefox.
This issue is currently addressed with a setting in settings.json called "resetPositionOnTrackChange", but that has the issue that you may lose saved progress on media when switching to another tab with media.
Note
Seems mostly fixed now when using Firefox.
This issue is also currently addressed with a setting in settings.json called "saveLoadPositionOnPlayPause", but that has the issue that play/pause feels a little janky because it snaps back to the start of the current second.
Note
It is recommended to update Kriti-shell when you update Quickshell. If there are any breaking bugs from Quickshell updates, please make an issue!
The new settings get automatically merged into your settings.json non-destructively.
Run this in the installation folder (usually .config/quickshell/Kriti-shell):
git pull-
Install quickshell. For Arch:
pacman -S quickshell
-
Optionally, install
pw-volumeand JetBrains Mono Nerd Font (though, you can change the font insettings.json). -
Clone this repo into
.config/quickshell/Kriti-shellgit clone https://github.com/SolarPunchGames/Kriti-shell/ ~/.config/quickshell/Kriti-shell -
Add
exec-once = qs -c Kriti-shellto your hyprland.conf (You can also run once from the terminal withqs -c Kriti-shell) -
Add
bind = SUPER, SPACE , exec, qs -c Kriti-shell ipc call appMenu toggleto your hyprland.conf (edit keybind, if needed) -
Add
windowrule = float 1, match:class org.quickshellto your hyprland.conf -
Optionally, make the lyrics window show on all workspaces:
windowrule = pin 1, match:class org.quickshell
Note
Hyprland syntax was different in previous Hyprland versions:
windowrulev2 = float, class:org.quickshell
windowrulev2 = float, class:org.quickshell
- Profit.
The settings can be found in the installation folder as settings.json after first launch. A graphical interface is planned.
If you want to reset to default settings, remove settings.json. Kriti-shell will ask you to copy defaults back.
*Multi choice settings have the value as a number. Remember that the values start from 0, so the first choice is 0 and the second is 1 and so on.
Kriti-shell currently comes with 5 themes:
legacy(The one in the pictures)catppuccinMocha(Default)catppuccinMacchiatocatppuccinFrappecatppuccinLatte(Needs tweaking)
These themes can be set in settings.json.
You can also change your font in settings.json.
Note
This is subject to change
Edit Services/Colors.qml property themes. Check the other themes for refrence. Use "transparent" for colors that should be entirely transparent.
Then you can set the theme in settings.json. Theme falls back to default, if it is not found.
You can use these for example to make keybinds for Kriti-shell.
Usage:
qs -c Kriti-shell ipc call <<target>> <<function>>Targets and functions:
- appMenu
- toggle
- bar
- openCurrent
- closeCurrent
- toggleCurrent
- openAll
- openAll
- closeAll
