mate-desktop / caja

Caja, the file manager for the MATE desktop
https://mate-desktop.org/
Other
265 stars 143 forks source link

MATE desktop icon placement error - new icons placed outside of visible screen #1781

Open alvin275 opened 1 month ago

alvin275 commented 1 month ago

Expected behaviour

When the left (laptop) monitor is smaller than the right (external) monitor and the column is filled with icons, the new file should appear in the visible area of the next column, based on the size of the monitor it is placed on.

Left-hand Monitor: laptop 1920x1080 (secondary) Right-hand Monitor: Lenovo 24" 2560x1440 (primary) Layout: Menu bars are on the right-hand screen. Tops of both monitors are equal. The left-hand monitor cannot display as much as the right-hand monitor (gap at bottom). Scaling: auto detect

When new icons are created, they should be visible on the left-hand screen, not in the invisble rectangle area below the left-hand screen.

Actual behaviour

When files are placed created in the /home/username/Desktop, they are automatically positioned onto the next available spot on the left-hand screen. However, the left-hand screen is smaller than the external right-hand monitor, and new files created are placed below the visible portion of the left-hand screen. New files should not be placed outside the 1920x1080 boundary when they are dropped onto the smaller left-hand screen.

Steps to reproduce the behaviour

  1. Create a file on the Desktop directory (save from an application or caja to the Desktop).
  2. The icon for the file is placed in the next available position below in the columns on the left.
  3. The column fills below the visible area of the smaller left-hand screen.

Actual Results:
Icons are placed below the visible area of the screen.

MATE general version

1.28.2

Package version

mate-desktop-1.28.2-1.fc40.x86_64 mate-desktop-configs-1.28.2-1.fc40.noarch mate-desktop-libs-1.28.2-1.fc40.x86_64

caja-1.28.0-1.fc40.x86_64 caja-actions-1.28.0-1.fc40.x86_64 caja-actions-doc-1.28.0-1.fc40.noarch caja-core-extensions-1.28.0-1.fc40.x86_64 caja-extensions-common-1.28.0-1.fc40.noarch caja-image-converter-1.28.0-1.fc40.x86_64 caja-open-terminal-1.28.0-1.fc40.x86_64 caja-schemas-1.28.0-1.fc40.x86_64 caja-sendto-1.28.0-1.fc40.x86_64 caja-wallpaper-1.28.0-1.fc40.x86_64 caja-xattr-tags-1.28.0-1.fc40.x86_64

Linux Distribution

Fedora Linux 40 (MATE-Compiz)

Link to bugreport of your Distribution (requirement)

https://bugzilla.redhat.com/show_bug.cgi?id=2274834

lukefromdc commented 1 month ago

This is getting reported a lot, it comes from the fact that we use GdkScreen to set up the workspace area (in x11 anyway).Since GTK 3.10 there is only ONE "screen," and it is the smallest rectangle containing all of the monitors. Thus, in the dissimilar monitor case, using the GdkScreen as the workarea includes space that is not part of ANY monitor.

Workaround is to open the desktop in a navigation window and drag the offending icons to someplace you can see them, they will then stay there.

The FIX is more complex: either to refactor the desktop code to interate over each monitor separately (which could then be same code for both x11 and wayland), or to use only the primary monitor for icons, similar to using only the leftmost or the monitor a terminal from which caja is launched on wayland. The latter is a feature removal if applied to x11 and is thus probably out of the question. The former is a considerable job, but if anyone here codes that up I will make sure to test it. I don't have the time at the moment to experiment with it unfortunately.