Skip to content

Fixes for touch input - #550

Merged
leviport merged 4 commits into
masterfrom
touch
Jul 28, 2026
Merged

leviport merged 4 commits into
masterfrom
touch

Conversation

@ids1024

@ids1024 ids1024 commented Jan 23, 2026

Copy link
Copy Markdown
Member

The two fixes here seem to solve the same problem as #470 in a cleaner way.

  • Ignore keyboard_leave events for a different panel, instead of closing popups
  • Create popup and grab even if there is no hovered surface (as expected with touch)

The later change though seems to basically be a revert of #424, looking at the history of this code. But I don't really understand why that fix was needed. The applet clients create grabs, so cosmic-panel ends up creating a grab either way? Nor should "focus follows cursor" require a grab (or that would presumably be a compositor bug), and I'm not seeing issues with that...

@ids1024

ids1024 commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

Rebased to address conflicts. This still seems to fix the panel on touchscreens as it should.

I guess we should merge it is @wash2 doesn't see an issue with the grab changes relative to #424.

@ids1024
ids1024 marked this pull request as ready for review July 28, 2026 04:09
@ids1024
ids1024 requested review from a team and wash2 July 28, 2026 04:09

@leviport leviport left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Touch clicking applets works much better after this fix.

@leviport
leviport merged commit b9a2830 into master Jul 28, 2026
6 checks passed
@leviport
leviport deleted the touch branch July 28, 2026 18:42
Softer added a commit to Lin-WMDE/wmde-panel that referenced this pull request Jul 30, 2026
…lass maximize fix

Brings in 9 upstream commits, all confined to cosmic-panel-bin/src:

- fix: separate needs_layout and needs_render (internal render-loop
  optimization in space/layout.rs, panel_space.rs, wrapper_space.rs,
  space_container.rs)
- Merge pop-os#550 "touch": WrapperSpace::add_popup loses latest_seat/
  latest_serial, gains grab_popup; popups are no longer grabbed
  unconditionally on creation (14284eb, 5dd9408); keyboard_leave now
  ignores events for unrecognized wl_surface (764cdf4); space_container
  gains space_for_client_mut to de-duplicate lookup code (b237655)
- fix: close popups on all outputs before adding a new one
- fix: flickering when using frosted glass with preserve panel/dock
  style on window maximize - apply_config() split out of
  update_config(), apply_current_maximized_state() added,
  toplevel.rs::apply_maximized rewritten to read from config_list
  instead of the space's own config (opacity forced to 1.0 while
  maximized)
- fix: frosted-glass applets updated on hotplugged external monitor

Merge was completely conflict-free (git detected only an auto-merge
in wrapper_space.rs, no manual resolution needed). Cargo.toml,
Cargo.lock, data/default_schema, PKGBUILD and cosmic-panel-config are
untouched by upstream, so the WMDE rebrand (fun.wmde.Panel, WMDE_PANEL_*
env vars, Win10-style single-panel schema) is unaffected. No COSMIC
branding regressions found in the changed files (ASCII or
transliterated) - remaining "cosmic"/"Cosmic" occurrences are
load-bearing crate types (CosmicPanelConfig, CosmicPanelContainerConfig,
cosmic_workspaces field).

Known follow-up (out of scope here): cosmic-panel-config's compiled
Default in container_config.rs still produces the two-bar upstream
layout (Panel + Dock) rather than the single-panel Win10 layout in
data/default_schema; to be fixed in a separate local commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants