Review of "Run or raise" version 18

Details Page Preview

Launch or focus the window or define custom shortcuts in a text file

Extension Homepage
https://github.com/CZ-NIC/run-or-raise

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
38 Active
37 Active
36 Rejected
35 Rejected
34 Active
33 Inactive
32 Active
31 Active
30 Active
29 Active
28 Active
27 Active
26 Rejected
25 Active
24 Active
23 Active
22 Rejected
21 Rejected
20 Rejected
19 Rejected
18 Rejected
17 Active
16 Active
15 Active
14 Active
13 Active
12 Active
11 Inactive
10 Active
9 Active
8 Rejected
7 Active
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

e2rd posted a review
Hi, here I've implemented all the requirements imposed by the GNOME team at revision 15 https://extensions.gnome.org/review/27727 , internally logged here https://github.com/CZ-NIC/run-or-raise/issues/42
JustPerfection waiting for author
Hi, 1.You are using 40, 41 and 42 in metadata.json. You don't need to use that nested try catch in enable which seems to make it compatible with 3.x. You can check whether Wayland is running with `Meta.is_wayland_compositor()`. 2. Why don't you use `ExtensionUtils.getSettings()` instead of line 38 to 61 (convenience.js)? 3. You are overriding log with global log. Log should be only available in debug mode: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#no-excessive-logging Wanna fix these and send it again?
e2rd posted a review
> 1. As I have installed only one version of Ubuntu, I don't have means to test whether the code will work everywhere, that's the reason for keeping the ugly and nested try-catch block. I'll clean it up but please kick me with these answers: 1.1) Am I right in these assumptions? * We are using GDK version 3 only * Because Gnome Shell 40 runs on GTK 3 * Official API reference for that is here: https://gjs-docs.gnome.org/gdk30~3.24.31 1.2) What are the differences between `Clutter.get_default_backend().get_default_seat().get_keymap()` and `Gdk.Keymap.get_for_display(Gdk.Display.get_default())`? Both returns Keymap and both works on X11. 1.3) The latter `Gdk.Keymap.get_for_display(Gdk.Display.get_default())` does not work in Wayland. How am I supposed to know that? Where is this stated in the manual please? You'd really help me if you point me to an official reference. > 2. convenience.js Okay, cool! Convenience.js and whole ExtensionUtils are a blackbox for me. I didn't look inside before. I'll implement! > 3. log I'll get rid of the overriding. However, I've checked the whole usage of the logging and confirm that errors only will get logged, not debug information. Only in the case the user explicitly uses the `verbose` keyword, more information is logged.
JustPerfection rejected
You shouldn't use Gtk and Gdk in extension.js or any sub modules that are getting used inside GNOME Shell. To answer your question, yes, GNOME Shell 40 still uses Gdk 3 and Gtk 3: https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/environment.js but you should use Clutter instead of Gdk when you are in `extension.js`: ```js Clutter.get_default_backend().get_default_seat(); ``` I don't think you will need it here but since you are asking: When you know something doesn't work on Wayland: ```js const {Meta} = imports.gi; if (Meta.is_wayland_compositor()) { // do something that works on Wayland } else { // code that works on x11 } ``` Please send the next one with the fix. Thanks!