linuxmint / linuxmint/nemo

Feature Request: Freeform Path Selection (Right-Click Drag Brush Selection) - Working Prototype Included

Open
#3,822 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

FEATURE REQUEST
Dominant language
C
Stars
1.6k
Forks
368
Avg merge
4d 4h
Merged PRs (30d)
2

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+Click toggle issue, the code injects synthetic GDK_BUTTON_PRESS events 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

Contributor guide

No contributing guide indexed for this repository

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

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.

Assessment

Tech stack
c
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.