Skip to content

dodog/gotify-notifications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gotify Notifications GNOME Extension

64x64 A GNOME Shell extension that displays persistent notifications from your Gotify server. Features custom notification windows that stay visible until manually closed, completely independent of GNOME's native notification system.

✨ Features

  • πŸ””Β Independent Persistent NotificationsΒ - Custom notification windows that stay until manually closed

  • πŸ“Β Text WrappingΒ - Automatic wrapping for long messages with manual line breaking

  • βš™οΈΒ Configurable SettingsΒ - Easy GUI configuration for server URL, secure token and behavior

  • πŸ”„Β Auto-PollingΒ - Automatically checks for new notifications at configurable intervals

  • 🎨 Custom StylingΒ - Beautiful rounded notifications with custom colors

  • πŸ“±Β Status IndicatorΒ - System tray icon showing connection status (bell icons)

  • 🚫 Non-IntrusiveΒ - Doesn't interfere with GNOME's native notifications

  • 🎯 Stacking NotificationsΒ - Multiple notifications stack neatly at top of screen

  • πŸŽͺΒ Smooth AnimationsΒ - Fade in/out effects for notifications

πŸš€ Install Now

Method 1: πŸ“¦ Available on extensions.gnome.org:

  1. πŸ‘‰ Install Gotify Notifications from extensions.gnome.org

  2. Click install

Method 2: Manual Installation

# Clone or download this repository
git clone https://github.com/dodog/gotify-notifications.git

# Copy to extensions directory
cp \-r gotify-notifications/[email protected] ~/.local/share/gnome-shell/extensions/

# Compile schemas
cd ~/.local/share/gnome-shell/extensions/[email protected]
glib-compile-schemas schemas/

# Enable the extension
gnome-extensions enable [email protected]

# Restart GNOME Shell (Alt+F2, type 'r', press Enter)

πŸ–ΌοΈ Screenshots

  • Notifications example

gotify-notifications

  • Settings panel

gotify-notification-settings_v1 0 3

βš™οΈ Configuration

Gotify Server Setup

  1. Get Your Client Token:

    • Open your Gotify web interface

    • Go to Clients β†’ Create a client

    • Copy the client token

  2. Extension Settings:

    • Click the bell icon in your system tray

    • Select "Settings"

    • Or run:Β gnome-extensions prefs [email protected]

Available Settings

Setting Type Default Description
Server URL String https://gotify.server.url Your Gotify server address
Client Token String (empty) Your Gotify application token
Reguest timeout Integer 10 How long to wait for server response (5-30 seconds)
Poll Interval Integer 20 How often to check for notifications (10-300 seconds)
Notification Timeout Integer 0 Auto-close timer (0 = never auto-close)

πŸš€ Usage

Basic Operation

  • The extension automatically polls your Gotify server for new messages

  • Notifications appear as custom windows at the top center of your screen

  • Click theΒ βœ–Β button to close individual notifications

  • Use the status menu to test notifications or clear all

Status Indicator

  • Bell IconΒ (πŸ””): Connected and polling for notifications

  • Crossed BellΒ (πŸ”•): Disconnected or polling stopped

  • Right-click: Access quick actions and settings

Menu Options

  • Test Custom Notification: Send a test notification

  • Connect/Disconnect: Toggle automatic polling

  • Settings: Open configuration panel

  • Clear All Notifications: Remove all active notifications

πŸ—οΈ Building from Source

Prerequisites

  • GNOME Shell 46+

  • glib-compile-schemas

  • Git

Development Setup

git clone https://github.com/dodog/gotify-notifications.git
cd gnome-gotify-notifications

# Enable development mode
gnome-extensions enable [email protected]

# Monitor logs for debugging
journalctl \-f \-o cat | grep \-i gotify

πŸ“ File Structure

[email protected]/
β”œβ”€β”€ extension.js          # Main extension code
β”œβ”€β”€ prefs.js             # Settings panel
β”œβ”€β”€ metadata.json        # Extension metadata
β”œβ”€β”€ stylesheet.css       # Notification styling
└── schemas/
   └── org.gnome.shell.extensions.gotify-notifications.gschema.xml

πŸ› Troubleshooting

Common Issues

Notifications not appearing:

  • Verify your Gotify server URL and client token

  • Enable debug

  • Check logs:Β journalctl -f -o cat | grep -i gotify

Extension not loading:

  • Restart GNOME Shell:Β Alt+F2Β β†’Β rΒ β†’Β Enter

  • Check if schemas are compiled:Β glib-compile-schemas schemas/

  • Verify installation path

Settings not saving:

  • Ensure schemas are properly compiled

  • Check file permissions

πŸ“‹ Compatibility

  • GNOME Shell: 46, 47, 48, 49

  • Gotify Server: 2.0+

🀝 Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.

Development Guidelines

  • Follow GNOME extension best practices

  • Test on multiple GNOME Shell versions

  • Ensure compatibility with Gotify API

πŸ“„ License

This project is licensed under the GPL-3.0 License - see theΒ LICENSEΒ file for details.

πŸ™ Acknowledgments

  • Gotify team for the excellent notification server

  • GNOME project for the extension system

❓ Support


Note: This extension is not officially affiliated with Gotify or GNOME.