Skip to content

feat(navigation): drag navigation for overview - #82

Open
itsJai42 wants to merge 2 commits into
noctalia-dev:mainfrom
itsJai42:feat-drag-navigation-overview
Open

feat(navigation): drag navigation for overview#82
itsJai42 wants to merge 2 commits into
noctalia-dev:mainfrom
itsJai42:feat-drag-navigation-overview

Conversation

@itsJai42

@itsJai42 itsJai42 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR builds on top of existing drag navigation implemented in a previous PR to extend that functionality to the overview.

Motivation

Adds the convenience of being able to easily drag the screen to navigate between windows in the overview mode. This PR does not modify any other functionality.

Note that this behavior can be triggered by the existing layout-scroll-drag bind, as well as standalone with just Middle Mouse Button -- replicates functionality of drag to scroll workspaces.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging
  • Documentation

Related Issue

Related to PR #58

Testing

  • meson compile -C build-release umbriel unit-tests
    • meson test -C build-release --print-errorlogs
  • All 35 unit tests passed.
    • bash -n tests/harness/checks/315_scroll_drag.sh
    • git diff --check
    • Manually verified Mod+MouseMiddle viewport dragging while the overview was open in a native Umbriel session.
    • Extended 315_scroll_drag.sh to cover dragging a scrolling workspace row from the overview while preserving unmodified middle-drag workspace navigation.

Manual Coverage

  • Tested in a nested Umbriel session
  • Tested in a native Umbriel session
  • Tested with multiple monitors
  • Tested with a scaled output
  • Tested with native Wayland applications
  • Tested with X11 applications through xwayland-satellite
  • Tested with the scrolling layout
  • [N/A] Tested with the dwindle layout (doesn't work as intended)

Screenshots / Videos

2026-08-31.15-25-10.mp4

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • This change fits SCOPE.md, or its scope was agreed in an issue or on Discord first.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I initialized and updated the SceneFX submodule where required.
  • I ran just format, or this PR has no C++ changes.
  • I ran the relevant build, test, lint, or verification commands, or explained why they were not run.
  • I functionally verified compositor behavior where automated checks are insufficient.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I updated docs/ and examples/config.toml, or this PR does not change user-facing configuration or behavior.
  • I used canonical names for config keys, IPC actions, paths, and identifiers.

@Deprecatism

Copy link
Copy Markdown

Hello! Would you be willing to make the key pressed to drag freely configuration as middle mouse button might be inconvienient for people moving from/to other WMs? I for example use the right mouse button to navigate and the left to move while the middle mouse button is only used to scroll.

@itsJai42

itsJai42 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@Deprecatism

Note that this behavior can be triggered by the existing layout-scroll-drag bind, as well as standalone with just Middle Mouse Button -- replicates functionality of drag to scroll workspaces.

"Note that this behavior can be triggered by the existing layout-scroll-drag bind, as well as standalone with just Middle Mouse Button -- replicates functionality of drag to scroll workspaces." -- not sure if this is clear enough, my intent was that you can either configure a bind to use OR by holding down the middle mouse button. Is this what you're after?

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.

2 participants