- Notifications
You must be signed in to change notification settings - Fork2
A dynamic and extensible GTK4 layer-shell, written in Rust.
License
cr3eperall/dynisland
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A dynamic and extensible GTK4 bar for compositors implementing wlr-layer-shell, written in Rust.
Dynisland is designed to look and feel like Apple's Dynamic Island.
Demo.mp4
This project is still in early development; There will likely be bugs and breaking changes, including changes to the config format.
- Easy to configure with a dynamically generated default config
- Animated transitions
- Themable with hot loaded css
- Extensible with third party Rust modules and layout managers
- multi-monitor support
Planned features:
- loading modules after startup
- ? unload modules at runtime
- ? custom widgets in lua
dynisland daemon# ordynisland restart
dynisland inspector
- this can be useful for css theming
- gtk4
- gtk4-layer-shell
cargo install dynisland
yay -S dynisland-git
mkdir -p~/.config/dynisland/{modules,layouts}
Note
If dynisland was compiled with theembed_modules
feature (dynisland v0.1.2 has this as the default), theofficial modules are already included in the binary.You would only have to do this if you want to use third party modules.
Download the precompiled modules from theRelease page
mv Download/libmusic_module.so Download/libscript_module.so Download/libclock_module.so~/.config/dynisland/modulesmv Download/libdynamic_layoutmanager.so~/.config/dynisland/layouts
Or build the modules from source
git clone --recursive https://github.com/cr3eperall/dynislandcd dynislandcargo build --release --no-default-features --package dynisland_clock_module --package dynisland_dynamic_layoutmanager --package dynisland_music_module --package dynisland_script_modulemv target/release/libmusic_module.so target/release/libscript_module.so target/release/libclock_module.so~/.config/dynisland/modulesmv target/release/libdynamic_layoutmanager.so~/.config/dynisland/layouts
dynisland default-config>>~/.config/dynisland/dynisland.rontouch~/.config/dynisland/dynisland.scss
See theWiki for the main config options
Seedynisland-modules for the module specific configs
Then edit the configs and scss to your liking.
git clone https://github.com/cr3eperall/dynislandcd dynislandcargo build --release --no-default-features --features completionscd target/releaseinstall dynisland~/.local/bin/dynisland
git clone --recursive https://github.com/cr3eperall/dynislandcd dynislandcargo build --release --features completionscd target/releaseinstall -Dm755 dynisland~/.local/bin/dynisland
install -Dm644"target/_dynisland""/usr/share/zsh/site-functions/_dynisland"install -Dm644"target/dynisland.bash""/usr/share/bash-completion/completions/dynisland.bash"install -Dm644"target/dynisland.fish""/usr/share/fish/vendor_completions.d/dynisland.fish"
About
A dynamic and extensible GTK4 layer-shell, written in Rust.