Skip to content

Latest commit

 

History

History
120 lines (86 loc) · 4 KB

File metadata and controls

120 lines (86 loc) · 4 KB

English | Русский

My Shell

Magic happens here!

These are the files of my shell, written in Ignis.

Huge thanks to linkfrg for the framework and the reference for the shell.

Important

The shell does not depend on other configurations in this repository. Except: ../hypr/hyprland/ignis.conf (for Hyprland) and ../niri/ignis.kdl (for niri; optional).
Those files is responsible for configuring compositor for Ignis (mainly hotkeys).

Usage

Requirements:

  • Hyprland / niri

    It's possible to run on any Wayland compositor (with Layer Shell protocol support), but the workspace widget depends on Hyprland / niri. In this case, widget will be hidden.

  • Ignis
    Currently Ignis is not releasing updates, which means for new features you need to use the git version.

    For more precise information, see the official documentation from Ignis.

    Arch Linux

    Regular installation via AUR.

    yay -S python-ignis-git
    

    Or if you use paru.

    paru -S python-ignis-git
    
    Pip
    pip install git+https://github.com/ignis-sh/ignis.git
    
  • SASS Compiler
    Install dart-sass or grass-sass. Without it, Ignis will throw a SassNotFoundError.

  • ignis-gvc
    ignis-gvc is used for audio handling in Ignis.

  • gnome-bluetooth-3.0 (optional)
    Ignis uses this library for Bluetooth support. The shell will be able to start, but Bluetooth won't work.

Installation

To install, simply place these files in ~/.config/ignis/ and install all dependencies.

To run the shell, type in the console (or in your Hyprland configuration) ignis init.

Styling

All styles are located in the style.scss file. You can style it however you like.

To find out what CSS classes a widget has, open the GTK inspector with the command ignis inspector.

FAQ / Troubleshooting

Q: "Why Ignis specifically?"

The main reason for using Ignis is GTK 4 (for libadwaita). For a more detailed comparison, see this issue from the Ignis repository.

Q: "Why is AI being used?"

GitHub Copilot is used for the shell to: simplify tasks, assist in development/explanations, code review, documentation translation (across the repository), etc.

No vibe-coding whatsoever!

Q: "How to shutdown/reboot/suspend computer?"

Open control center in the shell, you will see three buttons. To take action, press two times on a button, with the small delay. This is done to protect against accidental clicks.

Suspend button, depend on systemctl. If you are not using systemd, then edit the command in shell settings.

I: "Ignis or the control center is not displayed"

Run Ignis from the console to view the log: ignis init, after closing Ignis with the command ignis quit (even if it's not displayed).

Then check the output. An error should be displayed. Report the error by opening an issue. Make sure the error is not related to your changes or environment.

I: "Ignis closed"

Ignis does not exit on its own. If a Python error occurs, Ignis continues to run and automatically restarts when code changes.

Check the Ignis log as described above.

Based on my experience, it's most likely a Segmentation fault. It occurs on the C side of libraries used by Ignis (Gtk, NM).

In this case, open an issue as shown above.

I: "Bluetooth error: 'Library missing'"

Simply install the gnome-bluetooth-3 library from the dependencies above.

I: SassNotFoundError

Install one of the SASS compilers: dart-sass or grass-sass.