WayfireWM / WayfireWM/wayfire

GNOME-like hot corner variant

Open
#2,160 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

easy enhancement help wanted PRs-welcome
Dominant language
C++
Stars
3.1k
Forks
237
Avg merge
1h 43m
Merged PRs (30d)
1

Description

The current implementation of hot corners in Wayfire checks if the mouse cursor has been located in a certain screen area for a period of time. This is a simple, but rather ineffective way to handle hot corners.

If the delay is set as too small, it is easily possible to accidentally cause a hot corner interaction, and if it's too large, then actually activating it becomes a slower process.

GNOME seems to have solved that issue. Instead of just looking at the cursor's position and timing, it (from what I can see) also checks the movement of the mouse as it enters the corner.

If the cursor hits the corner and the mouse moving quickly, then the hot corner action (in this case the Activities menu being opened or closed) is issued immediately. This removes the need to wait for any duration when activation is intended.

If the cursor hits the corner and the mouse moves slowly, then it waits until enough "out-of-bounds movement" has been accumulated before activating it. This makes accidental activations harder.

Implementing such "velocity-based" hot corners as an alternative to already-existing ones would make using them more comfortable, especially in cases where said hot corner might also be close to window title bars that have buttons (like the Firefox View button in Firefox or many other GNOME applications).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating the existing hot-corner implementation and reviewing how it uses cursor position and timing. Done means providing an alternative velocity-based behavior that responds differently to fast and slow movement while preserving the existing hot-corner option.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.