Review of "Kiwi is not Apple" version 1.6.2 (43)

Details Page Preview

Kiwi is free open source project that brings macOS-inspired features for GNOME. *Note. This extension is tested with vanilla GNOME Adwaita theme. Be aware that other extensions may cause compatibility issues. Features: - macOS-style window control buttons with GTK theming - Firefox and Thunderbird window control theming - Move fullscreen windows to new workspaces automatically - Make windows transparent while moving - Display battery percentage when below 20% - Move calendar to the right side and customize notifications - Quick settings media and notifications tweaks - Show current window title in the top panel - Show panel on hover in fullscreen mode - Hide minimized windows in overview - Hide the Activities button - Skip overview on login (go directly to desktop) - Set panel transparency or blur based on window position - Dash-to-dock blur effect - Overview wallpaper blur - Keyboard indicator styling - Focus on newly launched windows (removes window-ready notifications) - Show Caps Lock/Num Lock indicators in the top panel - Add username display to the quick settings menu - Multilingual support and more... This extension uses a modular architecture for stability and customization. Some advanced features require native libraries (available in the advanced/ folder). Disclaimer: This extension is unofficial and not affiliated with Apple in any way.

Extension Homepage
https://github.com/kem-a/kiwi-kemma

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) error 2 warning 1

Shexli found 3 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 7 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • apps/gtkThemeManager.js:74
    console.error(`[Kiwi] Error updating GTK CSS files: ${error}`)
  • apps/gtkThemeManager.js:105
    console.error(`[Kiwi] Error creating user GTK config: ${error}`)
  • apps/gtkThemeManager.js:133
    console.error(`[Kiwi] Error processing GTK file ${filePath}: ${error}`)
  • apps/gtkThemeManager.js:168
    console.error(`[Kiwi] Error removing user GTK config: ${error}`)
  • apps/gtkThemeManager.js:178
    console.error(`[Kiwi] Error in settings changed handler: ${error}`)
  • apps/gtkThemeManager.js:185
    console.error(`[Kiwi] Error in initial update: ${error}`)
  • apps/gtkThemeManager.js:199
    console.error(`[Kiwi] Error in disable cleanup: ${error}`)

EGO-C49-003 error

extensions targeting GNOME 49 must not call maximize or unmaximize with Meta.MaximizeFlags

This extension explicitly targets GNOME Shell 49 but still passes `Meta.MaximizeFlags` to `maximize()` or `unmaximize()`.

Meta.Window

  • apps/windowControls.js:144
    window.maximize(Meta.MaximizeFlags.BOTH)
  • apps/windowControls.js:136
    window.unmaximize(Meta.MaximizeFlags.BOTH)
  • apps/windowTitle.js:215
    win.unmaximize(Meta.MaximizeFlags.BOTH)

EGO-C49-004 error

extensions targeting GNOME 49 must not call Meta.Window.get_maximized

This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.Window.get_maximized()`.

Meta.Window

  • apps/windowControls.js:303
    win.get_maximized()
  • apps/windowControls.js:364
    focusWindow.get_maximized()
  • apps/windowTitle.js:189
    win.get_maximized()

All Versions

Version Status
1.6.2 (43) Active
1.6.1 (42) Rejected
1.5.5 (41) Active
1.5.5 (40) Rejected
1.5.5 (39) Rejected
1.5.4 (38) Inactive
1.5.4 (37) Rejected
1.5.3 (36) Active
1.5.3 (35) Rejected
1.5.2 (34) Active
1.5.1 (33) Active
1.5.0 (32) Inactive
1.4.1 (31) Active
1.4.1 (30) Rejected
1.4.0 (29) Active
1.4.0 (28) Rejected
1.3.1 (27) Active
1.3.0 (26) Active
1.2.1 (25) Active
1.2.1 (24) Rejected
1.2.0 (23) Active
1.1.0 (22) Active
1.0.2 (21) Inactive
1.0.1 (20) Inactive
1.0.0 (19) Inactive
18 Inactive
17 Inactive
16 Rejected
15 Inactive
0.9.6 beta (14) Rejected
13 Inactive
12 Inactive
11 Inactive
10 Inactive
9 Inactive
8 Inactive
7 Rejected
6 Inactive
5 Rejected
4 Inactive
3 Rejected
2 Inactive
1 Rejected

Previous Reviews on this Version

Arnis K posted a review
EGO-C49-004 and EGO-C49-003 flags compatibility fallbacks as errors. The code is already properly structured for multi-version support, with one minor exception in windowTitle.js.
dlandau active