Skip to content

Simple program launcher written in gtkmm 4

License

Notifications You must be signed in to change notification settings

System64fumo/sysmenu

Repository files navigation

Sysmenu

Sysmenu is a simple and efficient application launcher written in gtkmm4
default 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 3 ways
1: By changing config.h and recompiling (Suckless style)
2: Using a config file (~/.config/sys64/menu/config.conf)
3: Using launch arguments

arguments:
  -S	Hide the program on launch
  -s	Hide the search bar
  -i	Set launcher icon size
  -I	Set dock 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 style.css file to ~/.config/sys64/menu/style.css

Credits

wf-shell for showing how to do launcher related stuff

Also check out

wofi
nwg-drawer