Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/System64fumo/sysmenu

Simple program launcher written in gtkmm 4
https://github.com/System64fumo/sysmenu

application-launcher gtk4 wayland

Last synced: 7 days ago
JSON representation

Simple program launcher written in gtkmm 4

Lists

README

        

# Sysmenu
Sysmenu is a simple and efficient application launcher written in gtkmm4

![default](https://github.com/System64fumo/sysmenu/blob/main/preview_default.gif "default")
![fullscreen](https://github.com/System64fumo/sysmenu/blob/main/preview_fullscreen.gif "fullscreen")

# Install
You need the following dependencies:
* gtkmm-4.0
* gtk4-layer-shell

Customize ``config.hpp`` if you wish to do so.

Then to build all you need to do is run ``make``

# Why does this exist?
Mainly because i got bored lol.

But also because i disliked how the current programs i used behaved.

So instead of fixing them i created my own!

# Configuration
sysmenu can be configured in 2 ways

1: By changing config.h and recompiling (Suckless style)

2: Using launch arguments

```
arguments:
-S Hide the program on launch
-s Hide the search bar
-i Set launcher icon size
-m Set launcher margins
-u Show name under icon
-b Show scroll bars
-n Max name length
-p Items per row
-W Set window width
-H Set window Height
-l Disable use of layer shell
-v Prints version info
-D Set dock items ("Terminal,FileManager,WebBrowser,ect..")
-f Fullscreen
```

# Signals
You can send signals to show/hide the window.

``pkill -10 sysmenu`` to show.

``pkill -12 sysmenu`` to hide.

``pkill -34 sysmenu`` to toggle.

> [!WARNING]
> There is currently an issue where if you toggle visibility too quickly,

> The program will crash with: ``Error 71 (Protocol error) dispatching to Wayland display.``

> This issue seems to have been mostly resolved on Hyprland, However your luck
> with other compositors may vary, BE WARNED!

# Theming
sysmenu uses your gtk4 theme by default, However it can be also load custom css,

Just copy the included menu.css file to ~/.config/sys64/menu.css

# Credits
[wf-shell](https://github.com/WayfireWM/wf-shell) for showing how to do launcher related stuff

# Also check out
[wofi](https://hg.sr.ht/~scoopta/wofi)

[nwg-drawer](https://github.com/nwg-piotr/nwg-drawer)