linuxmint / nemo

File browser for Cinnamon
GNU General Public License v2.0
1.21k stars 300 forks source link

[Suggestion] Desktop Grid #108

Closed liclac closed 7 years ago

liclac commented 11 years ago

One of the things that annoys me about Nemo's (and Nautilus') desktop is that there is no proper "grid" of icons, only columns. Both Windows and OS X let you keep a neat grid of icons on the desktop, but with Nautilus/Nemo, your desktop ends up looking very messy if you have a lot of icons, since the rows won't be straight. If you could add a setting to enable a proper grid with horizontal rows, it would be greatly appreciated.

JosephMcc commented 7 years ago

@cinnamoner Please quit spamming this issue. One comment or even two was probably sufficient.

ghost commented 7 years ago

This cjs function basically set an icon (the path of the desktop icon: destFile) in a desktop position (x, y), it's slow but works.

_setPosition: function(destFile, x, y) {
    try {
        x = Math.round(x);
        y = Math.round(y) - 48;
        destFile.set_attribute_string("metadata::nemo-icon-position", x+","+y, Gio.FileQueryInfoFlags.NONE, null);
        destFile.replace_contents(destFile.load_contents(null)[1].toString(), null, false, 0, null);
    } catch(e) {
        global.log(e);
    }
 },

If someone, want to do an extension for nemo or a cinnamon extension, just search in the web, there are a lot of scripts that actually do that: https://www.google.com.mx/search?client=ubuntu&channel=fs&q=gvfs-set-attribute&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=wU6vWLqgLMXR8AfcoIfYAQ#channel=fs&q=gvfs-set-attribute+metadata::nautilus-icon-position

t-oster commented 7 years ago

I just verified that my modification still does the job. Unfortunately my pull request #696 was closed).

For everybody desperately wanting this feature: For debian/ubuntu/mint:

grid

dominichayesferen commented 7 years ago

From mtwebster on the pull request:

We've discussed this internally, and probably will end up revamping how the desktop is handled entirely - no more pixel positions, grid positions instead. Closing this, will address the open issues when it's handled.

dominichayesferen commented 7 years ago

@t-oster Why are the desktop icon labels black in the screenshot?

pepa65 commented 7 years ago

Chiming in again: no pixel position means you're going to lose more users than you realized. For me a desktop grid is totally unusable, and it is the reason I have no interest in XFCE (which has this exclusively). But as long as MATE has pixel positioning, I am happy - this is the Gnome2 way.

dominichayesferen commented 7 years ago

@pepa65 Maybe if there's a Dconf Switch for it like Desktop Background cross-fade does...

t-oster commented 7 years ago

@pepa65 I am not exactly sure, what you mean. However, it would not be hard to make this feature optional, so the existing functionality stays intact. In fact I can still resize individual icons after my patch, if that is what you are looking for? What exactly do you mean by pixel position?

What I do not understand is: If you open your desktop-folder in nemo as file-manager, there is alreay a perfect grid, isn't it? So why can't we just use the very same rendering on the desktop itself?

pepa65 commented 7 years ago

On my desktop, I want to be able to position the icons by myself, not being stuck to a grid, and be able to adjust their position to the pixel. If what you want is optional, great. I need to be able to positing my icons (I have too many to stick into a grid...). I don't need to be able to resize them.

kn00tcn commented 7 years ago

wouldnt a really tiny grid (preferably user adjustable) be good for you (if you were forced to use a grid at all)?

i dont know if cinnamon has this, but mate has an option to NOT auto align, aka arbitrary positions, it's the same as windows where you can choose to be pixel based or on a grid

the whole problem with crappy gnome2/mate/cinnamon is its poorly thought out grid isnt a real grid, to most users the end result looks the same as if there was no alignment at all

pepa65 commented 7 years ago

Indeed, what I need is arbitrary positions. A tiny grid (1x1 pixels) would be ideal. I just don't want to lose this. I get very uncomfortable when I read things like:

We've discussed this internally, and probably will end up revamping how the desktop is handled entirely - no more pixel positions, grid positions instead @mtwebster

t-oster commented 7 years ago

Well then to clarify: I am not talking about removing pixel-positioning. What I want is:

The first thing works, if you use the patch and disable the preview. The second thing would have to be added. However I would also like the preview icons to show, but scaled down so they have equal height with the symbolic icons.

JosephMcc commented 7 years ago

Removed some comments that were full of things irrelevant to this issue. Any "I'll leave Cinnamon if what I want doesn't get implemented" comments will probably get removed as well. This isn't a forum or Reddit. Just a heads up.

kn00tcn commented 7 years ago

@cinnamoner, the issue threads arent a chat, they need to be organized per issue so everyone can see the relevant info from the main list

i saw your comment as an email, i'm pretty sure the gtk theme can control icon hover & POTENTIALLY close button width (personally, a different size close button will look lame to me)

default menus probably shouldnt be changed so they dont mess up existing users, but it would be nice to have stark available as an already included panel plugin, same goes for xfce to include whisker, or mate to include solus's new one, currently every distro has to choose to include such plugins rather than the DE

funny thing is i dont even use cinnamon & took a break from mate, but this grid issue is affecting several DEs beyond these, all going back to gnome2's code... so we gotta be on top of who attempts the rework, then spread it to the others that need it

dominichayesferen commented 7 years ago

@kn00tcn Sorry @JosephMcc if this is off-topic ish, it's just in response to the above comment: The close button width thing can be sorta controlled by GTK, but the normal non-headerbars titlebars cannot be simply controlled by GTK unless you trick Muffin into thinking it's on GNOME, instead, they're controlled by the same decorations Metacity used to use...

Anyways, if anyone else wants to talk about stuff not related to this, then either make a new issue if it's for a feature request not already requested, or chat somewhere else about it...

JosephMcc commented 7 years ago

There currently is no time table for this.

Look, we know that some of you want this. It's just a matter of someone picking up the project and seeing what they can do about it. It will be done when it gets committed. You will all know because this issue will get closed.

mtwebster commented 7 years ago

I've been trying to avoid saying I'm working on this, because that usually creates a huge mental block for me :sob:

As soon as I have something remotely useful I was going to post a build for folks to try, but I don't have that yet, and while part of me is confident I'll have something for 18.2, I cannot actually speak of deadlines or else I will self-destruct.

Here's a branch I'm working on: https://github.com/mtwebster/nemo/tree/desktop-app-redux - however I'm just now getting to the actual desktop grid bit - there were a few important things to accomplish - namely:

The first and second items are reasonably in place, but the third is ongoing. Again, if and when I get a usable build I'll offer up some packages for people to try and give feedback - hopefully prior to the upcoming release. Now please put down the pitch forks and return to your homes peacefully.

mtwebster commented 7 years ago

Sorry, it was an attempt at humor. I have seen pitchforks here though in the past ;)

mtwebster commented 7 years ago

Here's a brief demo of #1466:

https://dl.dropboxusercontent.com/u/8201170/cinnamon-20170414-1.webm

I apologize for the size - it's 12mb.

There are still a few things I'm ironing out, when I get a chance I'll make some packages in case anyone wants to try, I'd like to get feedback.

ghost commented 7 years ago

@mtwebster that look like really nice... I actually think about it, if you also define there a good new standard for a desktop manager and how this will be integrated in the ecosystem of all explorer.... Caja, nautilus... For example could nemo-desktop export some Dbus functionality, to be used externally for other process, to be easy command the desktop layout. Without nemo-desktop the current Nemo, it's more unrelated with the desktop it's self, so it's more easy to be more general an run over more platforms, because nemo-desktop could take care about the desktop specific functions... anyway look like nice to me.

mtwebster commented 7 years ago

Closing this for now.

If you're not keen on the new desktop, you can revert to the old one via:

gsettings set org.nemo.desktop use-desktop-grid false

However, the old desktop will remain simply 'as-is' with bug fixes only. I'd much prefer to make the new one palatable for all users in the long run, and I would request that those still preferring the old one, at least try the new, if only to be able to report back 'I might use the new desktop, if only ___. :)

There currently are still some issues, mostly minor and annoying, with the new desktop, and we're working to eliminate them prior to Mint 18.2 release.

A few people that have tried it out have complained that the 'auto arrange' mode is defaulted to on - by default, it keeps everything sorted, and, as a result, icons cannot be repositioned. This is intentional, for mainly internal house-keeping reasons - simply switching over would cause the new desktop to re-use layout information created by the old one, and they are incompatible - they would not cause a crash, but would cause unpredictable results in your initial desktop layout, so we avoid it simply by performing this 'reset'. This is easily remedied by right-clicking the desktop, and unchecking Desktop->Auto Arrange.

We've attempted to make this new layout more or less 'configureless' for the majority of users (besides the context menu items). However, monkeying with various things like the desktop font size, the desktop ellipsis limit (how many lines to display under the icons) and icon captions may cause overlapping to occur, or some other undesirable characteristic.

Just in case, there are two other settings that are not (yet) in any preferences dialog - they are the horizontal and vertical grid adjustments. Their default is 1.0 - they act as a scale factor for the horizontal and vertical grid spacing. For example, if you want to be able to show more of a file's name on a line than is currently possible, you can increase the horizontal adjust, and space the icons out more. This will allow more text to be shown as a result.

You can alter them thusly:

gsettings set org.nemo.desktop horizontal-grid-adjust 1.0 and gsettings set org.nemo.desktop vertical-grid-adjust 1.0

Increase or decrease the number to your desire.

You can, of course, access all three of these preferences via dconf-editor also.

We'll try to get rid of these manual interventions in later release.

Thanks.

dodona2 commented 6 years ago

thanks a lot, mtwebster

felagund commented 6 years ago

Any chance this view would make it into proper nautilus windows themselves?

I noticed that increasing text-ellipsis-limit leads to unpredictable results (moving icons close together causes neighbouring icons to move)

A behaviour I would like would be being able to set the icons more closesly together (that already works) but at the same time being able to see the whole filename of a filename if nothing is beneath the icon. If something was beneath it, the filename would get escaped (this is how current nautilus does that partly - the last line of icons in the file manager view). tight now, when I increse the ellipsis limit, I also increas evertical grid distance for all icons, even those with short names.

Quanghai32 commented 4 years ago

Here's a brief demo of #1466:

https://dl.dropboxusercontent.com/u/8201170/cinnamon-20170414-1.webm

I apologize for the size - it's 12mb.

There are still a few things I'm ironing out, when I get a chance I'll make some packages in case anyone wants to try, I'd like to get feedback.

The link was die, please upload again. Thank you!

WhitePhoenixUS commented 2 months ago

Do you think you could have a “none” option for sorting? Also a way to make the icons stay put when you don’t sort while adjusting the sliders? I also agree with the issue of the icons changing size while you adjust the spacing between the icons. And you could solve the issue of the long names overlapping by having the names switch to double lines when there is more than one word.