Review of "MMOD Panel" version 11

Details Page Preview

Upgrades the Topbar in Gnome3, creating a customizable panel and providing options for fine-tuning your Desktop Experience. Features include: ▸ Set comfort levels to provide theme support and fine-tune the overall look and feel of the panel. ▸ Set the location/position of the panel (bottom by default). ▸ Add a button to the panel in place of the activities link, using an icon of your preference. ▸ Auto-hide the panel when not active/in-focus (makes use of pressure/gesture for showing the panel). ▸ Display and manage your favorites/running apps directly on the panel. ▸ Move the date menu to the aggregate/tray area. ▸ Access and manage your extension preferences directly from the aggregate menu. ▸ Customize behavior of the overview and panel(hot-corners/animations/effects) to suit your preferences. ▸ More to come soon! This project is loosely based on the Panel Settings extension: https://github.com/eddiefullmetal/gnome-shell-extensions/tree/master/panelSettings%40eddiefullmetal.gr Sadly, Panel Settings has not seen any maintenance in years, though this is why I decided to create MMOD Panel. I also took inspiration from the following Gnome extensions: System-Monitor, Taskbar, and DashToDock. For those of you who are wondering, the theme used in the screen shot is the Zukitwo-Dark-Shell Shell Theme; everything else is default Gnome on Debian Buster. However, the author of the aforementioned shell theme has changed the name for various reasons to Ciliora-Prima-Shell - which can be found here: http://gnome-look.org/content/show.php?content=165096 For Gnome-Shell: 3.10, 3.12, 3.12.2, 3.14, 3.14.4, 3.16, 3.16.2, 3.18, 3.20, 3.22, 3.24, 3.26, 3.26.2, 3.28, 3.30, 3.32, 3.34, 3.35, 3.35.91, 3.36, 3.36.3, 3.36.4, 3.36.6, 3.38, 3.38.2, 40.0, 40.5, 41.0 (since version 12.0.0) f Rik <rik@mmod.co> German Translation(s) for MMOD-Panel courtesy of Jonius Zeidler <jonatan_zeidler@gmx.de> Source Repository: https://gitlab.com/mmod/mmod-panel/

Extension Homepage
https://gitlab.com/mmod/mmod-panel/

No comments.

Diff Against

Files

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

All Versions

Version Status
12 Active
11 Rejected
10 Active
9 Active
8 Active
7 Active
6 Active
5 Inactive
4 Rejected
3 Active
2 Inactive
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Rejected because you cannot create objects in init() function. Move everything from `mmodge.prototype.init` to enable(): https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 2. ui folder contains two files that hasn't been used in your code. Please remove them and send it again: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#don-t-include-unnecessary-files 3. You are using so many old versions in metadata.json `shell-version`. That can cause maintainability issues. You have two options: - Since multi versioning is supported here, remove all of those 3.x versions and only use 40 and higher. This approach can even solve the gtk3 + gtk4 issue on prefs.js. - You can remove older than 3.36 but you will be able to remove convenience.js and use functions from ExtensionUtils (https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/misc/extensionUtils.js). You can also remove deprecated modules like Lang (https://gjs.guide/guides/gjs/legacy-class-syntax.html). If you need any help with your extension you can ask us on: GNOME Matrix channel: https://matrix.to/#/#extensions:gnome.org IRC Bridge: irc://irc.gimpnet.org/shell-extensions
rik posted a review
Thanks for the review - I've submitted what I have to provide a working extension for the most recent versions of gnome-shell, this isn't my first release; but if these guidelines are an issue at this point this far in then here's what I"ll do: 1. This was never mentioned to me before - 10 versions submitted, prior rejections were my own, but I'll go ahead and do that. 2. The release and repository notes show that the glade file is simply included (for the first time, as the diff shows) in the repository for the future conversion of preferences to the 'gnome-preferred' template-based UI (https://gjs.guide/extensions/upgrading/gnome-shell-40.html#new-to-using-template-files-in-prefs-js). This was the glade program output, I've converted it and am working on a Gnome Shell 4+ version of the extension where I've switched preferences over to a template based implementation. Many changes are coming, including the dropping of support of most the older versions (since gnome-look allows to simply select an older version). However, I can only dedicate my time as I have time available. I don't want to keep people waiting that long for a working extension however, so I've ensured the extension works fully and submitted a working archive. My CI/CD pipeline produced the archive for submission including the new UI directory which is housing the glade file. So I'll add the directory to gitignore so its not a problem here for review. 3. From what I understand I'm supporting all versions since I released the extension to cover the absence in support from the original extension. Where it seems appropriate I eventually flow code out of use. So where extension utils works that's what runs, when it doesn't (as the code flow suggests), convenience is used. Because of the major breaking changes since gnome-shell 40/41 - it may finally be time to stop supporting the older versions, but as I had said I wanted to get it fixed and available for those users who have been using it for 3+ years, and am working on the next version, following along with https://gjs.guide/extensions/upgrading/gnome-shell-40.html Testing in Debian just released Gnome Shell 40/41, so this was the rapidly fired fix to the broken extension and preferences in that version. As I have time I'll make the aforementioned adjustments and resubmit the archive. Thank you.
JustPerfection posted a review
Your extension can be approved if you fix #1 and #2. For #2 you don't need to change your git, just remove them from the package file you are sending here. #3 was just a recommendation.
rik posted a review
The extension was simply a reiteration of an abandoned extension made by someone else - 1. Convenience was flowed out only in a single place - so I was incorrect there, it was used allover. 2. Init() was supposedly required but the original author of the original function simply didn't leverage a dependency connecting to realize for the basis to the function properly. I knew I'd have to go through the extension a bit and investigate - which I've done; I've corrected the base on GTK objects that required connecting to realize in order for the panel positioning to work entering the DM from the lock screen (which was broken when everything in init() was moved to enable()). It only properly loaded and enabled from a gnome restart or pc restart previously. With that settled I'll upload the current build so that it works properly for users now, and follow up with the rewritten extension I'm about half done with once I finish it. I'm too OCD to not clean the whole thing up ultimately. Thanks for links and feedback.