Collection of various scripts that mimic macOS features # Features - Move Window to New Workspace: Automatically move fullscreen app to new workspace. - Add Username to Quick Menu: Display the username in the quick settings menu. - Focus Launched Window: Focus on newly launched windows. Removes the annoying window-ready notification. - Lock Icon: Display Caps Lock or Num Lock icon in the GNOME top panel. - Transparent Move: Make windows slightly transparent when moving. - Battery Percentage: Show battery percentage in the system menu when below 25%. - Move calendar to the right: Move calendar to right side and hide notifications. Note: Notification pane is hidden. To see notification install [Quick Settings Tweaks] and enable notifications in quick settings. - Show Window title: Display current window title in the top panel - Show Panel on Hover: Show panel when mouse is near top edge in fullscreen - Hide Minimized Windows: Hide minimized windows in the overview - Hide Activities Button: Hide the Activities button in the top panel - Set Panel Transparnecy: Make the top panel transparent or opaque when window touches it - Window Control Button Style: Set macOS window control button styles. Move to top panel for maximized windows and remove window titlebars for maximum space.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Version | Status |
---|---|
3 | Unreviewed |
2 | Active |
1 | Rejected |
1. Please remove unused import (line 1 `extension.js`). 2. Also null out in disable: ```js this._settings = null; ``` [EGO Review Guidelines: Destroy](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#destroy-all-objects) 3. Please remove 49 since we don't have a stable version yet. 4. Remove `stylesheet` from `metadata.json`, not needed. 5. `lookupByUUID()` is a bad practice: - line 18 and 24 `apps/windowControls.js` - line 10, 68, 171 `apps/gtkThemeManager.js` - line 10 `apps/lockIcon.js` You can send `this` from the entry point to the class needing it when it's possible (dependency injection). 6. You cannot hold instance of objects in global scope and leave it there after disable: - line 11 `apps/windowControls.js` - line 6 `apps/gtkThemeManager.js` - line 10 `apps/lockIcon.js` - [EGO Review Guidelines: Initialization](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) - [EGO Review Guidelines: Destroy](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#destroy-all-objects) 7. Please use aysnc for reading file content since you are in shell process (line 106, 140 `apps/gtkThemeManager.js`): [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async) 8. Timeout should be removed on disable: - line 40 `apps/lockIcon.js` - line 251 `apps/panelTransparency.js` [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 9. You cannot create instance of objects in global scope (line 10 `apps/lockIcon.js`): [EGO Review Guidelines: Initialization](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions