-
-
Notifications
You must be signed in to change notification settings - Fork 902
Module: Custom: Menu
jmrepetti edited this page Oct 7, 2025
·
2 revisions
Some modules support a menu
, which allows to have a popup menu when a defined click is done over the module.
A module that implements a menu
needs 3 properties defined in its config :
option | typeof | default | description |
---|---|---|---|
menu |
string | Action that popups the menu. i.e: on-click
|
|
menu-file |
string | Location of the menu descriptor file. There need to be an element of type GtkMenu with id menu. | |
menu-actions |
array | The actions corresponding to the buttons of the menu. The identifiers of each actions needs to exists as an id in the 'menu-file' for it to be linked properly. |
The menu-file is an .xml
file representing a GtkBuilder. Documentation for it can be found here :
https://docs.gtk.org/gtk4/class.Builder.html
Here, it needs to have an element of type GtkMenu with id "menu". Eeach actions in menu-actions are linked to ele‐ ments in the menu-file file by the id of the elements.
Module config:
~/.config/waybar/power_menu.xml:
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernat">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1" />
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>
-
menu
Style for the menu -
menuitem
Style for items in the menu
menu {
border-radius: 15px;
background: #161320;
color: #B5E8E0;
}
menuitem {
border-radius: 15px;
}
- Home
- Installation
- Configuration
- Styling
- Examples
- FAQ
- Modules:
- Backlight/Slider
- Backlight
- Battery
- Bluetooth
- CPU
- Cava
- CFFI
- Clock
- Custom
- DWL
- Disk
- Gamemode
- Group
- Hyprland
- Idle Inhibitor
- Image
- JACK
- Keyboard State
- Language
- Load
- MPD
- MPRIS
- Memory
- Network
- Niri
- Power Profiles Daemon
- Privacy
- PulseAudio/Slider
- PulseAudio
- River
- Sndio
- Sway
- Systemd failed units
- Taskbar
- Temperature
- Tray
- UPower
- User
- WirePlumber
- Workspaces
- Writing Modules