Closed wash2 closed 1 year ago
All good. Code is highly readable and well-written.
This does not get open windows to show up in the launcher within COSMIC Epoch on a lemp10. I've tried with both released packages and master staging packages for COSMIC. My launcher commit is on 84eb3e3.
I get this output in journalctl when I open the launcher:
-- Boot 3ffd86a280d9486198e7ccaf6d48326b --
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE new events: epoll_fd=10, res=1
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.558950Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE new events: epoll_fd=10, res=1
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.558989Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559006Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE react: 1 ready wakers
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559022Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE main_loop: sleeping for 50 us
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559060Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=9, ev=Event { key: 0, readable: true, writable: false }
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559191Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE main_loop: waiting on I/O
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559224Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE process_timers: 0 ready wakers
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559244Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE Poller::wait(_, None)
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559259Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE wait: epoll_fd=10, timeout=None
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559276Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559310Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE block_on: sleep until notification
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE react: 1 ready wakers
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE main_loop: sleeping for 50 us
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=9, ev=Event { key: 0, readable: true, writable: false }
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE main_loop: waiting on I/O
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE process_timers: 0 ready wakers
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE Poller::wait(_, None)
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE wait: epoll_fd=10, timeout=None
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE block_on: sleep until notification
The only two apps open when I'm testing right now are GNOME Terminal and Nautilus. (Interestingly, GNOME Terminal doesn't show up in the launcher's app search results in COSMIC Epoch, but it does show up in GNOME on the same machine. I tried opening the launcher without Terminal open, but the Nautilus window still doesn't show up.)
This does not get open windows to show up in the launcher within COSMIC Epoch on a lemp10. I've tried with both released packages and master staging packages for COSMIC. My launcher commit is on 84eb3e3.
I get this output in journalctl when I open the launcher:
-- Boot 3ffd86a280d9486198e7ccaf6d48326b -- Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE new events: epoll_fd=10, res=1 Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false } Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.558950Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE new events: epoll_fd=10, res=1 Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.558989Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false } Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559006Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE react: 1 ready wakers Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559022Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE main_loop: sleeping for 50 us Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559060Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=9, ev=Event { key: 0, readable: true, writable: false } Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559191Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE main_loop: waiting on I/O Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559224Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE process_timers: 0 ready wakers Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559244Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE Poller::wait(_, None) Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559259Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE wait: epoll_fd=10, timeout=None Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559276Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false } Sep 14 16:51:43 pop-os /usr/libexec/gdm-wayland-session[2401]: 2022-09-14T22:51:43.559310Z ERROR cosmic-applet-host: cosmic_session::generic: Sep 14 22:51:43.559 TRCE block_on: sleep until notification Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE react: 1 ready wakers Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE main_loop: sleeping for 50 us Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.558 TRCE modify: epoll_fd=10, fd=9, ev=Event { key: 0, readable: true, writable: false } Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE main_loop: waiting on I/O Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE process_timers: 0 ready wakers Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE Poller::wait(_, None) Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE wait: epoll_fd=10, timeout=None Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false } Sep 14 16:51:43 pop-os cosmic-session[2401]: Sep 14 22:51:43.559 TRCE block_on: sleep until notification
The only two apps open when I'm testing right now are GNOME Terminal and Nautilus. (Interestingly, GNOME Terminal doesn't show up in the launcher's app search results in COSMIC Epoch, but it does show up in GNOME on the same machine. I tried opening the launcher without Terminal open, but the Nautilus window still doesn't show up.)
It isn't one of the included plugins by default, because it isn't included in the plugins list in the justfile, but I think if you test with this it should be built and installed:
git clone https://github.com/wash2/launcher
cd launcher
just plugins='calc desktop_entries files find cosmic_toplevel pulse recent scripts terminal web' all
just plugins='calc desktop_entries files find cosmic_toplevel pulse recent scripts terminal web' install
If we want to include it by default, i can adjust the justfile, but I left it out bc COSMIC is pre-alpha and I wanted to avoid causing any issues.
I see. After building locally with those options, it is working. There are a few problems:
Selecting an open window focuses that window, but does not close the launcher; we want the launcher to close on window activation so the user can use the app.
Even after selecting a window (which visually appears to work) and closing the launcher with ESC (which has a significant delay), keyboard input does not go to the focused window; I still need to click inside of the window before I can type into it.
I've also noticed that in COSMIC, I need an extra down arrow key press to switch focus from the search field to the first search result; after that, I cannot return focus to the search box using the up arrow key. However, that isn't a regression in this PR.
If we want to include it by default, i can adjust the justfile, but I left it out bc COSMIC is pre-alpha and I wanted to avoid causing any issues.
We'll need it included by default before COSMIC launches (we'll probably want it even before an internal beta), and the launcher is a big part of the COSMIC interface. This doesn't seem to break anything in a GNOME session (the open window list for GNOME still works as expected, and the regression testing checklist still passes), so it may be good to include.
Yeah it should be enabled by default
Even after selecting a window (which visually appears to work) and closing the launcher with ESC (which has a significant delay), keyboard input does not go to the focused window; I still need to click inside of the window before I can type into it.
This is a known issue of cosmic-comp (and already tracked). Keyboard focus does not return correctly after closing the launcher or app-library. I have also already figured out the cause, but a proper solution will need some refactoring.
This is a known issue of cosmic-comp (and already tracked).
I don't see it being tracked in https://github.com/pop-os/cosmic-comp/issues, https://github.com/pop-os/launcher/issues, or https://github.com/pop-os/cosmic-epoch/issues. Where is/was it being tracked? (I'm also unable to replicate it after the latest COSMIC updates and on the latest commit from this PR, but not sure if that's a temporary coincidence or not.)
The package built from a6f8973 still doesn't have the plugin working by default; building locally using the just
commands still gets it working.
The package still doesn't have the plugin working by default; building locally using the just commands still gets it working.
This still seems to be an issue with the current commit
The link has to be added to https://github.com/pop-os/launcher/blob/master/debian/pop-launcher.links
This is failing to build on the build server and locally.
Updating git repository `https://github.com/pop-os/cosmic-protocols`
error: failed to sync
Caused by:
failed to load pkg lockfile
Caused by:
failed to select a version for the requirement `serde_with = "^2.0.1"`
candidate versions found which didn't match: 1.14.0, 1.13.0, 1.12.1, ...
location searched: crates.io index
required by package `pop-launcher v1.2.2 (/home/jacob/Work/launcher)`
make[1]: Leaving directory '/home/jacob/Work/launcher'
dh_clean
debian/rules build
dh build --with=systemd
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_build
make[1]: Entering directory '/home/jacob/Work/launcher'
env CARGO_HOME="$(pwd)/target/cargo" just rootdir=debian/tmp debug=0 vendor=1
cargo build -p pop-launcher-bin --frozen --offline --release
error: failed to get `cosmic-client-toolkit` as a dependency of package `pop-launcher-plugins v1.2.2 (/home/jacob/Work/launcher/plugins)`
Caused by:
failed to load source for dependency `cosmic-client-toolkit`
Caused by:
Unable to update https://github.com/pop-os/cosmic-protocols#1615d904
Caused by:
can't checkout from 'https://github.com/pop-os/cosmic-protocols': you are in the offline mode (--offline)
error: Recipe `all` failed on line 38 with exit code 101
make[1]: *** [debian/rules:28: override_dh_auto_build] Error 101
make[1]: Leaving directory '/home/jacob/Work/launcher'
make: *** [debian/rules:9: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Ok builds should be fixed again. I cleanup up the dependencies in the plugin, and added the missing items from Build-Depends.
I noticed this as well. I'll see if I can make it cause less of a delay when not using COSMIC.
Ok the delay should be fixed
the cosmic toplevel plugin adds support for cosmic windows as items in the launcher.