Skip to content

Conversation

cheack
Copy link

@cheack cheack commented Aug 31, 2025

Problem Description

When using "Extra Pane" mode (two panels), users cannot drag files from an inactive panel to an active one. The issue occurs because:

  1. File selection is blocked - clicking on files in inactive panels doesn't select them
  2. Drag and drop is prevented - drag operations can only start from active panels
  3. Poor UX - users must first click on the inactive panel to activate it, then click again to select files

Root Cause Analysis
The problem was in the button_press_callback function in src/nemo-list-view.c at line 1123. When a user clicked on an inactive panel:

if (!nemo_view_get_active (NEMO_VIEW (view))) {
    NemoWindowSlot *slot = nemo_view_get_nemo_window_slot (NEMO_VIEW (view));
    nemo_window_slot_make_hosting_pane_active (slot);
    return TRUE;  // ← This was the problem.
}

The return TRUE; statement immediately terminated the button press event processing, preventing:

  • File selection
  • Drag state initialization (drag_button setting)
  • Subsequent drag and drop operations

What This Fix Achieves

  1. Panel Activation - The inactive panel becomes active when clicked (as before).
  2. Event Continuation - Button press processing continues normally
  3. File Selection - Files can now be selected in previously inactive panels
  4. Cross-Panel Operations - Users can drag files between panels without extra clicks

DEMO

Before
before-2025-08-31_08.31.20.mp4
After
after-2025-08-31_08.34.42.mp4

This allows users to select and drag files directly from inactive panels
in Extra Pane mode without needing to pre-activate the panel first.

Fixes the poor UX where users had to click twice: once to activate
the panel, then again to select files for dragging.
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.

1 participant