MCPcopy Index your code
hub / github.com/ExposedCat/gnome-notification-configurator

github.com/ExposedCat/gnome-notification-configurator @v2.6.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.6.1 ↗ · + Follow
228 symbols 438 edges 25 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Logo GNOME Notification Configurator Screenshot

Advanced GNOME notification capabilities including rate limiting, custom color theming per application, and notification positioning

Buy Me A Coffee

Features

  • Global and Pattern-Based Rules - Configure default behavior globally or create enabled/disabled per-pattern overrides matched by case-insensitive regular expressions for app name, title, and body text
  • Notification Filtering - Hide or close matching notifications before they appear
  • Notification Rate Limiting - Hide or close frequent notifications from the same application within a configurable time threshold
  • Notification Center Controls - Disable stacking for matching notifications and set how many notifications are kept per source
  • Notification Timeout - Configure auto-dismiss timing, keep notifications visible while idle, or set timeout to 0 to keep notifications until dismissed
  • Urgency Control - Force notifications to normal urgency when needed
  • Window Attention Handling - Activate attention-requesting windows instead of showing a notification
  • Fullscreen Notifications - Enable or disable notifications while applications are running in fullscreen mode
  • Notification Positioning - Set horizontal alignment (fill, left, center, right) and vertical alignment (fill, top, center, bottom)
  • Custom Appearance - Hide the app title/time row, customize background, title, body, app name, and time colors, and adjust text sizes
  • Custom Margins - Add top, bottom, left, and right notification margins
  • Test Notifications - Send sample notifications from the preferences window to preview matching and styling changes

Installation

Extension Manager (Recommended)

  • Install Extension Manager
  • Search For Notification Configurator in Browse tab
  • Select the extension and click Install

GNOME Extenssions Website

Manual Installation

If latest version of the extension is not yet available on the GNOME Extensions website, you can install it manually:

  1. Clone this repository: bash git clone https://github.com/ExposedCat/gnome-notification-configurator.git cd gnome-notification-configurator

  2. Install the extension: bash npm run install:local

This will build the extension and install it to your local GNOME Shell extensions directory (~/.local/share/gnome-shell/extensions/).

  1. Restart GNOME Shell:
  2. Log out and log back in

  3. Enable the extension: bash gnome-extensions enable notification-configurator@exposedcat

Or use Extensions Manager app to enable "Notification Configurator".

Development

Development Workflow

  1. Setup development environment: bash npm install

  2. Start development session: bash npm start # Or in a container npm run start:container This will:

  3. Compile TypeScript sources
  4. Install to extensions directory
  5. Launch nested GNOME Shell session for testing

  6. Debug the extension:

  7. Check terminal output for logs in the nested shell session
  8. Access Looking Glass debugger with Alt+F2lg for interactive debugging

Translations

To add translations for the extension:

  1. Create a new translation file: bash cp po/main.pot po/langcode.po Replace langcode with your language code (e.g., po/uk.po for Ukrainian).

  2. Edit the translation file: Use Gtranslator or POEdit to edit the created file and make translations.

  3. Update translations when needed: In case new labels were added or original labels changed, run: bash npm run translate Then update your translations if needed.

License

This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues on the GitHub repository.

Core symbols most depended-on inside this repo

normalizeBoolean
called by 20
src/utils/normalize.ts
emit
called by 14
src/utils/event-emitter.ts
normalizeNumber
called by 12
src/utils/normalize.ts
savePatterns
called by 10
src/prefs.ts
addOverrideRow
called by 7
src/prefs.ts
findPatternBy
called by 7
src/utils/settings.ts
register
called by 7
src/managers/source/urgency.ts
on
called by 6
src/utils/event-emitter.ts

Shape

Method 153
Class 43
Function 32

Languages

TypeScript93%
Python7%

Modules by API surface

src/utils/settings.ts38 symbols
src/prefs.ts28 symbols
src/managers/notification-daemon/manager.ts11 symbols
src/utils/normalize.ts10 symbols
src/migrations/regex.ts10 symbols
src/managers/window-attention/manager.ts10 symbols
src/managers/source/manager.ts10 symbols
src/managers/message-tray/manager.ts10 symbols
src/utils/themes.ts9 symbols
src/shell/notifications.ts9 symbols
scripts/fdo_grouping.py9 symbols
src/shell/notification-widgets.ts8 symbols

For agents

$ claude mcp add gnome-notification-configurator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page