Skip to content

feat: Add new module system tray icons#30

Merged
leandromqrs merged 8 commits into
mainfrom
feat/icon-tray-system
May 19, 2026
Merged

feat: Add new module system tray icons#30
leandromqrs merged 8 commits into
mainfrom
feat/icon-tray-system

Conversation

@leandromqrs
Copy link
Copy Markdown
Member

This pull request introduces a unified, structured logging style across the codebase, updates documentation to reflect new logging and validation/test practices, and adds new GSettings schema keys for the Tray Icons module. It also makes minor improvements to the test scripts and metadata handling. The changes help ensure consistency, improve debugging, and clarify contributor practices.

Logging system and style improvements:

  • Introduced a global logger in src/core/logger.ts with support for structured log message prefixes, and updated the logger interface to accept a { prefix } option. A global setter for the logger was also added. (src/core/logger.ts) [1] [2] [3]
  • Updated all extension and module logging to use the global logger with standardized [ModuleName] prefixes, replacing previous direct console or context-based logging. (src/extension.ts, src/modules/autoThemeSwitcher/autoThemeSwitcher.ts, src/modules/bluetoothMenu/bluetoothMenu.ts) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
  • Removed the logger property from the ExtensionContext interface and its implementations, as logging is now handled globally. (src/core/context.ts) [1] [2] [3]

Documentation updates:

  • Added detailed logging style guidelines to both CONTRIBUTING.md and AGENTS.md, specifying prefix conventions and logger usage. Also clarified validation and integration test procedures in AGENTS.md. [1] [2] [3]

Tray Icons module configuration:

  • Added new GSettings keys for the Tray Icons module, including enable/disable, icon limit, icon size, attention timeout, deduplication, quick settings visibility, and recoloring options. (data/schemas/org.gnome.shell.extensions.aurora-shell.gschema.xml)

Build/test and metadata improvements:

  • Added tests/unit/trayState.test.ts to unit test scripts in package.json.
  • Set GSETTINGS_SCHEMA_DIR in the test script to ensure schema availability during integration tests. (justfile)
  • Changed the version field in metadata.json to version-name, and updated the version bump script accordingly. (metadata.json, scripts/bump-version.sh) [1] [2]

- Implement TrayIconItem for individual tray icons with tooltips and badges.
- Create TrayIcons module to manage tray icon container and background apps.
- Introduce tray state management for attention notifications and collapsing behavior.
- Add settings for icon size, visible limit, and attention timeout.
- Style tray icons and tooltips with SCSS.
- Implement integration and unit tests for tray icons functionality.
… trayIcons, and volumeMixer modules

- Replaced direct logger calls with centralized logger instance in themeChanger, backgroundAppsSource, dbusMenu, sniHost, sniWatcher, trayContainer, trayIconItem, trayIcons, and volumeMixer modules.
- Improved logging messages for clarity and consistency.
- Enhanced tooltip handling in sniHost and trayState.
- Adjusted animation durations and effects in trayContainer and trayIconItem for better user experience.
- Added LOG_PREFIX constants to various modules for consistent logging.
- Updated logger calls to include module-specific prefixes for better traceability.
- Introduced a new setting for recoloring symbolic tray icons to match the panel theme.
- Improved error handling and logging in the VolumeMixer, TrayIcons, and other modules.
@leandromqrs leandromqrs self-assigned this May 19, 2026
@leandromqrs leandromqrs merged commit a060d96 into main May 19, 2026
4 checks passed
@leandromqrs leandromqrs deleted the feat/icon-tray-system branch May 19, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant