57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
# DnDBuster
|
|
|
|
A timer that notifies you - even if "do not disturb" is enabled.
|
|
|
|
## Application IDs
|
|
|
|
https://developer.gnome.org/documentation/tutorials/application-id.html
|
|
|
|
Used by
|
|
|
|
- GtkApplication
|
|
|
|
> identifying your application to the system, for ensuring that only one instance of your application is running at a given time, and as a way of passing messages to your application
|
|
|
|
- D-Bus
|
|
|
|
> to name your application on the message bus. This is the primary means of communicating between applications
|
|
|
|
- name of the .desktop file for your application
|
|
|
|
> This file is how you describe your application to the system (so that it can be displayed in and launched by GNOME).
|
|
|
|
## .desktop entry
|
|
|
|
https://wiki.gnome.org/HowDoI/GNotification
|
|
|
|
The GNOME desktop environment needs a `.desktop` file that matches your applications ID. Otherwise, sent notifications are not displayed!
|
|
|
|
> Warning: gnome-shell uses desktop files to find extra information (app icon, name) about the sender of the notification. If you don't have a desktop file whose base name matches the application id, then your notification will not show up.
|
|
|
|
During development, we created a dummy vile at `~/.local/share/applications/de.p1st.dndbuster.desktop` with content:
|
|
|
|
```
|
|
[Desktop Entry]
|
|
Name=DnDBuster
|
|
Comment=A simple timer app
|
|
Exec=steam steam://rungameid/2707930
|
|
Icon=dndbuster-stopwatch
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Game;
|
|
```
|
|
|
|
Copy `watch-icon.svg` to `~/.local/share/icons/hicolor/scalable/apps/dndbuster-stopwatch.svg`
|
|
|
|
## Alternatives
|
|
|
|
https://man.archlinux.org/man/notify-send.1.en
|
|
|
|
```shell
|
|
nix-shell -p libnotify
|
|
```
|
|
```shell
|
|
sleep 30m
|
|
notify-send -u critical -a PleaseDisturbTimer "Alert" "Time is over!"
|
|
```
|