Grégory Soutadé
506660f1da
* Move examples in examples directory * Create separate DBUSItem class * Add timer example |
||
---|---|---|
examples | ||
COPYING | ||
dbus.xml | ||
extension.js | ||
metadata.json | ||
README.md | ||
stylesheet.css |
Introduction
This GNOME Shell Extension aims to display information to center box. Using DBUS protocol, any application can add or remove text and icons in the upper bar, right after date & clock.
Installation
Create a symbolic link from your .local directory and enable extension
ln -s $PWD/generic-monitor@gnome-shell-extensions/ ~/.local/share/gnome-shell/extensions/ gnome-extensions enable generic-monitor@gnome-shell-extensions
Restart GNOME
DBUS protocol
All functions read JSON formatted parameters
notify(): { "group": "groupname", // style and icon-style are optional // item can have text and/or icon // item can have click action "signal" or "delete" "items": [ { "name":"", "text":"", "style":"", "icon-style":"", "icon":"", "on-click":"", }, ... ] } }
deleteItems(): { "items": ["@", ...] }
deleteGroups(): { "groups": ["", ...] }
When text/icon is clicked and on-click parameter is set to "signal", extension emit one of the following signals :
- onClick
- onRightClick
- onDblClick
- onRightDblClick
Example
You can test it with command line :
gdbus call --session --dest org.gnome.Shell --object-path /com/soutade/GenericMonitor --method com.soutade.GenericMonitor.notify '{"group":"new","items":[{"name":"first","text":"Hello","style":"color:green"}]}' gdbus call --session --dest org.gnome.Shell --object-path /com/soutade/GenericMonitor --method com.soutade.GenericMonitor.deleteGroups '{"groups":["new"]}'
Python example is available
Development
After doing code update, you can test it within a nested window. In other cases you have to restart GNOME.
dbus-run-session -- gnome-shell --nested [--wayland]
To see log & errors :
journalctl /usr/bin/gnome-shell
Licence
GNU GPL 3