Feature Request: Freeform Path Selection (Right-Click Drag Brush Selection) - Working Prototype Included
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading nemo-icon-view.c and the linked prototype and patch, then trace Nemo’s existing right-click context-menu and selection handling. Done means a reviewed implementation that supports right-click drag path selection while preserving the standard context menu for an immediate release and providing the described visual feedback.
Written by the indexing model from the issue text.
Description
Hello Nemo Team,
A long-standing workflow limitation in Nemo is the inability to select multiple files by simply drawing a path over them (brush selection) without relying solely on the rigid box selection.
To solve this, I have developed a working prototype that adds Freeform Path Selection via Right-Click Drag.
How the Prototype Works:
- Smart Timeout: Right-clicking initiates a small timeout. If the user drags >10px, path selection activates. If released immediately, the standard context menu pops up.
- Visual Feedback: Uses Cairo to draw a path tracking the mouse, dynamically adapting to
theme_selected_bg_color. - Synthetic Events & Spatial Memory: To bypass external selection limits and the
Ctrl+Clicktoggle issue, the code injects syntheticGDK_BUTTON_PRESSevents and uses a spatial hashing array (ignoring clicks within a ~45px radius of previous points) to ensure solid selection without accidental deselections.
I have created a repository with the modified nemo-icon-view.c and a .patch file that applies cleanly to the current build.
You can check out the code, the patch, and the full explanation here:
👉 https://github.com/yazeedali/Linux-mint-nemo-path-selection
I would love for the core team to review this concept, polish it, and hopefully consider merging it into a future release. I believe this would be a massive UX improvement for Linux Mint users.
Thank you for your hard work on Nemo!
Best regards,
Yazeed Ali Al-Ghamdi
- Dominant language
- C
- Stars
- 1.6k
- Forks
- 368
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from linuxmint/nemo
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Desktop rename box: white text on a hardcoded white gradient with any dark theme (also black caret) Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Similar issues
-
task
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
vsanthanam/JBird#429 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
bug documentation
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
es-ude/OnDeviceTraining#459 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
bilelmoussaoui/gobject-linter#199 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
bradcypert/plum#53 ·