A Wayland desktop shell created with GTK4, Libadwaita, and Astal.
Note
The preview uses custom Adwaita colours, loaded directly from $XDG_CONFIG_HOME/morghulis/main.css
. This allows custom shell colors without affecting the system-wide GTK theme.
- River, or Hyprland
- Vala, Meson, Just
- Libadwaita & Adwaita Theme.
- Blueprint-Compiler
- GTK
- GSound
- Astal
- 4
- Tray
- IO
- Wireplumber
- Mpris
- NotifD
- Network
- Bluetooth
- Apps
- River (Optional)
- Hyprland (Optional)
-
Battery
While it might not be used, its mandatory to install it (For now). -
Power Profiles
While it might not be used, its mandatory to install it (For now).
- libgtop
Note
Optional dependencies are not required only if built from source; the binary release requires all.
git clone https://github.com/ARKye03/morghulis
cd morghulis
just init
just install
It's on AUR so, using yay or any other helper:
yay -S morghulis-git
Alternatively, use this PKGBUILD, that will install latest release.
Morghulis is a desktop shell that uses Astal under the hood, so the Astal CLI is available to use via astal -i morghulis <command>
; nevertheless, the morghulis-cli
called morghulctl
is dedicated to this project itself.
morghulctl --help
Note
The CLI currently offers simple commands to start the application, toggle windows, and show the inspector.
You can change the style of Morghulis by creating the file $XDG_CONFIG_HOME/morghulis/main.css
. Hot Reload is supported. As previously mentioned, an Adwaita theme is encouraged.
just init
just
Use flake.nix
for development:
nix develop
Or run it with:
nix run github:ARKye03/morghulis -- --help
# For non-NixOS distro
nix run github:ARKye03/morghulis#fhs -- --help
- Status Bar
- Tags/Workspaces Module
- Focused View/Client
- Active Mode/Submap
- Systray
- Quick Menu
- Mpris Media Player
- Power Buttons
- Power Profiles
- Bluetooth
- Network
- Wifi
- Ethernet
- Audio
- Battery Support
- Runner
- Run apps
- Solve math expressions
- Handle Hyprland Clients
- Handle River views?
- Notifications
- Center
- Popup
- Don't Disturb logic
- Power Popup Menu
- OnScreenDisplay
- Audio
- Brightness
- Backligh
- Hot Reload CSS
Warning
Users must be part of the video
group to use backlight services.
For OSD to work, you need to append "morghulctl -r change_volume" and/or" morghulctl -r change_brightness"
to whatever keybinding you want to use to raise/lower the volume/brightness.
Example:
binde=, XF86MonBrightnessUp, exec, brightnessctl set +10% & morghulctl -r change_brightness
- kotontrion and its kompass project for inspiration, code snippets, and guidance.
- Aylur for the awesome project Astal is.
Licensed under the MIT. See the LICENSE file for details.