-
Notifications
You must be signed in to change notification settings - Fork 279
feat: Replace JS launcher service with Rust launcher service #1139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The Shell extension isn't starting after updating to this branch (and pulling in the
Also, it looks like https://github.com/pop-os/launcher failed to build on Focal (this log is from the build server):
|
ac1c272
to
a77b178
Compare
On a77b178, I am seeing the window list fail to load fairly often when only one window is open: If I close and re-open the launcher a few times, then the single open window does sometimes show up in the list: |
Also, if I search and then clear the search text, the window list does not re-show. |
The latest version of pop-launcher has fixed the issue. The channel crate that I was using was sending messages out of order. Switched to a different crate which pops messages in the order they were pushed. |
ce5690f
to
cde3b01
Compare
Context option support (right click popup menu) has been reimplemented for desktop entries. |
9605860
to
44846ec
Compare
The search results seem to hide and then re-show every time I add a character to the search, which results in flickering: simplescreenrecorder-2021-08-18_08.37.33.mp4Can we keep the old results on the screen until the new results are ready to display so this doesn't happen? |
204ce67
to
890cc89
Compare
If I have a Settings page open, switch to a different workspace, then launch a different settings page through the Launcher, I get a |
The search is not being cleared properly when I exit the launcher. For example, if I start with no windows open: Perform a search: Then exit the launcher with ESC, then open it again: Now my search box is empty but I'm still seeing results from that search. Attempting to click on those results doesn't work, I need to enter something into the search box before the results are clickable/selectable. Also, the launcher opened up higher on the screen, which seems like an issue. One other thing I noticed, the calculator search results now include a "by Qalc" message: We didn't have a "by MathJS" message before, so I'm wondering if this is necessary to add. I'm not opposed to giving credit to other projects where it's due, but having it prominently in the UI like that might be a UX thing. (It looks like the actual name of the program/project is |
The description could be empty, but I figured that showing the name would indicate what you should search to find more information about it's specific math expression syntax. The syntax is virtually identical to Math.JS though. |
The next version of the launcher will add support for prioritizing results from a plugin, and the web plugin will request a high priority ( |
I see. The standard output stream is getting closed before it signals to the launcher to close. |
Latest version of the launcher will have fixed that issue. |
It looks like pop-launcher 3be27dd failed to build on the build server:
It also failed to build locally on a Hirsute machine, but with |
pop-launcher version 1468f74 will not install because it depends on |
On pop-launcher 07b740a, opening a new window of an application that's already open does not work. An existing window of the application is focused when I try to open a new window. This can be recreated with Terminal, Files, and Firefox. If I had to guess, this may have broken when the Settings focusing/workspace-switching behavior was added (it looks/feels like something similar happening.) Settings is a special case because it can't have multiple windows open, but most apps can. |
I do have it opting to focus application windows of the existing window by default, and only launching a new window if a window didn't already exist. Which is the behavior of GNOME's application launcher. I can switch it back to defaulting to always attempting to launch non-Settings window, but there are more applications that use GtkApplication to prevent an application from having more than one window. |
That behavior makes (at least a little) sense for the Applications menu, because that menu has dot indicators under the icons of apps that are already running. That menu also allows a Ctrl-Click to force open a new window/instance. In the Launcher, we already explicitly list open windows separately from app launchers, and the app launcher icon is a window with a plus sign, which pretty clearly indicates (to me, at least) that it's supposed to open a new window. So I'd go back to the old/current behavior on that for the time being, with Settings as the only exception (or Settings and any others that you're aware of that would need this.) If we moved forward with changing this behavior to no longer launch a new window/instance, then we'd probably have to change the icon and also add a way (e.g. Ctrl-Enter or Ctrl-Click) to launch a new window/instance manually when desired. (I did bring this up in #1001, although the need was a little different there.) |
Found a way to achieve this, though it's a bit of a hack. It's tricky because launching an app via the |
In master, the GPU preference is being ignored. |
2f98afd hasn't corrected the issue, new windows still open behind the focused window. |
Is there a certain way to trigger this? Can't seem to get my windows to do that. |
On an Oryx Pro in NVIDIA mode, I'm just opening up one terminal, enlarging the window, and then opening up another terminal: Screencast.from.08-26-2021.01.40.57.PM.mp4I can do the same thing with Firefox. |
Replicated and resolved |
New windows open and are focused as expected now. We're still getting a brief simplescreenrecorder-2021-08-27_09.18.29.mp4This notification is disappearing very quickly, almost too quickly for the user to read. I can see this being a confusion and/or distraction, especially for users installing the update who aren't used to seeing this. Is there a way to suppress those? |
I noticed that the Pop!_Shop no longer shows up in the search results for I'm assuming this is due to pop-os/launcher@b5514a6. That change is definitely an improvement to search results overall (it closes #1087), but
|
We can definitely tweak the parameters until we find the right match |
The latest commit to the launcher will also split _ the same as whitespace, so Shop will be on top again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not seeing any more issues as compared to the current JS launcher. Regression testing has passed:
shell-pr1139-hirsute.txt - with pop-launcher version 5e2c38e.
shell-pr1139-focal.txt - with pop-launcher version 777fe78 (the only change between this version and 5e2c38e were comments and documentation files regarding licensing.)
Once this pop-shell PR is merged, future changes to pop-launcher will need to go through PRs instead of being pushed straight to master.
Requires package of https://github.com/pop-os/launcher to be installed
Removes a lot of JavaScript code. The UI code for the launcher remains, but all of the launcher filtering, sorting, and plugin management now exists in a separate Rust process. The launcher UI spawns the pop-launcher process and asynchronously listens to its responses while sending launcher events to it.
Some new DBus methods were added for the pop-shell plugin written for the launcher.
There is also fix for some window focusing issues. A window will now be activated through its workspace. It may be a GNOME 40 thing, but workspace shifting will not happen if you are activating a window directly. There is also a chance that a window being requested to activate does not actually have a clutter actor attached to it, so there's a check for that.
Closes #1141
Closes #1135
Closes #1108
Closes #995
Closes #903
Closes #849
Closes #199
Closes #1087