Desktop Shell created with GTK4, Libadwaita, and Astal.
- 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
Build and install using my PKGBUILD
file:
mkdir /tmp/morghulis && cd /tmp/morghulis
wget https://raw.githubusercontent.com/ARKye03/PKGBUILDS/refs/heads/main/morghulis-git/PKGBUILD
makepkg -si
Alternatively, use a binary from releases.
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 at the moment offers simple commands to start the application, toggle window, and show 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, 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
- Systray
- Battery
- Quick Menu
- Mpris Media Player
- Power Buttons
- Power Profiles
- Bluetooth
- (WIP) Network
- Audio
- Runner
- Run apps
- Solve math expressions
- Handle Hyprland Clients
- Handle River views?
- Notifications
- Center
- Popup
- Don't Disturb logic
- Power Popup Menu (WIP)
- OnScreenDisplay
- Audio
- Brightness
- Backlight (WIP)
- Dynamic CSS
Note
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
Note
The preview uses the Adwaita-black theme, loaded directly from $XDG_CONFIG_HOME/morghulis/main.css
. This allows custom shell colors without affecting the system-wide GTK theme.
- kotontrion and its kompass project for inspiration, code snippets, and guidance.
- Aylur for the awesome project Astal is.
Licensed under the General Public License v3.0. See the LICENSE file for details.