Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Suggestion] Desktop Grid #108

Closed
liclac opened this issue Nov 14, 2012 · 74 comments
Closed

[Suggestion] Desktop Grid #108

liclac opened this issue Nov 14, 2012 · 74 comments

Comments

@liclac
Copy link

liclac commented Nov 14, 2012

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.

@mtwebster
Copy link
Member

Thanks :)

@MiY4Gi
Copy link

MiY4Gi commented Jan 21, 2013

Seconded. And what would also be nice is the ability to adjust the size of all the icons collectively (Currently icons can be adjusted individually, but it's near impossible to adjust all the icons to the same size This can be tricky since the grid column/row size should preferably be adjusted as well, in accordance with the scaled icons. And then there should also be an option to adjust the desktop font size. I think this all ties in with the Desktop grid idea. Should I open a separate Issue and reference this one?

@mahajanudit
Copy link

Thank you so much for pointing it out.
This has been bugging me and a lot of people out there for so long. I have even been trying to work around nautilus code to figure out how to correct this and I think I am close.
On a separate note this can be fixed by a greater extent by setting text ellipsis to "1" in dconf settings for desktop.
The name of the icons are just limited to a single line though, but it does look neat though.

@simonwiles
Copy link

to be honest, I've never missed this functionality myself, but friends and relatives who I've introduced to Mint ask about this very regularly.

@DuMuT6p
Copy link

DuMuT6p commented Mar 30, 2013

I`m not sure if this should be added on this issue, but an option to truncate long icon names would also be great.

@hosef
Copy link

hosef commented May 3, 2013

I would like this also. It makes my desktop look very messy to not have this.

@29821632
Copy link

29821632 commented Oct 23, 2013

Also options to adjust the grid margin and exposing desktop icon/font size prefs in the UI would complete Cinnamon.

@StanleyKrute
Copy link

StanleyKrute commented Apr 1, 2014

In priority order, I'd like to see :

a. Adjustable horiz. and vertical spacing for the icon grid
b. Global icon sizing
c. Options for wrapping or truncating long icon text labels so that they fit within the grid and thus don't overlap other icon text labels

Thanks to everyone for supporting this common-sense icon grid feature request.

@ghost
Copy link

ghost commented Apr 14, 2014

There is an option to organize desktop icons by name, on the right click menu. This option also aligns all the icons vertically when it is used. However, one may not need to arrange the icons by name in order to keep them also vertically aligned. Also the vertical alignment should be done automatically (like the horizontal one).

@spacekookie
Copy link

spacekookie commented Jun 24, 2014

KDE has it, XFCE (!!) has it being a super lightweight environment. Windows 98 had it and every release since, OSX has had it since the mid-90's. I can't get it into my head why any modern desktop environment (cough GNOME3, LXDE, Cinnamon, MATE, ……) wouldn't implement this.

@t-oster
Copy link

t-oster commented Sep 7, 2014

I got it to work (kind of) by increasing some values. It is not perfect yet, but at least I found the code responsible for the alignment. What strategy do you suggest? The main problem is, that the preview-thumbnails have a much bigger height than usual symbols. If you disable the preview and use the values from my commit, you get a regular X/Y grid.
However I think it would be more elegant, to use the size of the biggest icon as grid size automatically. I will implement this also, but I would like to know, what most people prefer.

@kubik256
Copy link

kubik256 commented Sep 8, 2014

Best way - disable preview, title max. 2 lines and hidden overflow... and automaticaly use height of course :)

Also please add some spacers between icons 👍

@t-oster
Copy link

t-oster commented Sep 8, 2014

This is how it looks like, just with the values changed in my commit.
desktop-grid

I also uploaded "nemo-desktop-grid" to the AUR, if anyone is using ArchLinux. What do you mean with spacers? DId you try the behavior with the patch?

@kubik256
Copy link

kubik256 commented Sep 8, 2014

This is exactly as it has to be ;) Very nice work, thanks 👍
(I did not try any patch, can I find it somewhere?)

@t-oster
Copy link

t-oster commented Sep 8, 2014

  1. Find out how to compile nemo from source for your distribution
  2. Change the file "libnemo-private/nemo-icon-container.c" according to t-oster@ae0262e
  3. install.
  4. Disable the preview in nemo's settings
  5. restart nemo

For ubuntu/mnt:

  • get compiler and everything sudo apt-get install build-essential dpkg-dev
  • activate source repositories in package-sources
  • get the nemo sourcecode sudo apt-get source nemo
  • get everything needed to build nemo sudo apt-get build-dep nemo
  • modify source as described above
  • build the package dpkg-buildpackage -rfakeroot -us -uc
  • install it sudo dpkg -i ../nemo_2*.deb

@t-oster t-oster mentioned this issue Sep 8, 2014
2 tasks
@t-oster
Copy link

t-oster commented Sep 8, 2014

Prebuild package for mint 17 (64 bit): http://files.thomas-oster.de/nemo_2.2.4%2bqiana_amd64.deb

@tonyk79
Copy link

tonyk79 commented Sep 8, 2014

Many thanks for the tutorial and for the package!

@kubik256
Copy link

kubik256 commented Sep 8, 2014

Thx ;) Nice work 👍

@ghost
Copy link

ghost commented Sep 8, 2014

Hi Thomas,

I tried to install nemo-desktop-grid from arch linux, but couldn't find the
package you mentioned in aur or anywhere else ("nemo-desktop-grid").

Thanks for your work.

On Mon, Sep 8, 2014 at 8:56 AM, Thomas Oster notifications@github.com
wrote:

This is how it looks like, just with the values changed in my commit.
[image: desktop-grid]
https://cloud.githubusercontent.com/assets/1052720/4181557/8ebc85fa-371c-11e4-96f8-a41c6d8f7b6a.png

I also uploaded "nemo-desktop-grid" to the AUR, if anyone is using
ArchLinux. What do you mean with spacers? DId you try the behavior with the
patch?


Reply to this email directly or view it on GitHub
#108 (comment).

@t-oster
Copy link

t-oster commented Sep 8, 2014

You are right, I forgot to upload it. I will upload it this afternoon. Unil then:

  • Install abs sudo pacman -S abs base-devel
  • Sync abs tree sudo abs
  • Get the nemo pkgbuild: cp -r /var/abs/community/nemo/* /tmp/
  • get the sources: cd /tmp && makepkg -o
  • make the modifications in the above commits
  • build the package makepkg -e
  • install it sudo pacman -U nemo-*.tar.xz

@t-oster
Copy link

t-oster commented Sep 8, 2014

@kubik256
Copy link

kubik256 commented Sep 8, 2014

Prebuild package for mint 17 (64 bit) - WORKING 👍
Nice work, you are No. 1 ;) Thanks.

@t-oster
Copy link

t-oster commented Sep 10, 2014

see my comment in #696 updated mint-package will follow tomorrow

@t-oster
Copy link

t-oster commented Sep 11, 2014

mint package updated. same link.

@JosephMcc
Copy link
Contributor

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

@ghost
Copy link

ghost commented Feb 23, 2017

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
Copy link

t-oster commented Feb 25, 2017

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:

  • get compiler and everything sudo apt-get install build-essential dpkg-dev
  • activate source repositories in package-sources (https://forums.linuxmint.com/viewtopic.php?t=206245)
  • get the nemo sourcecode apt-get source nemo
  • get everything needed to build nemo sudo apt-get build-dep nemo
  • modify source as described in t-oster@ae0262e cd nemo* && pluma libnemo-private/nemo-icon-container.c (just change DESKTOP_PAD_VERTICAL to 1 and SNAP_SIZE_Y to 88)
  • build the package dpkg-buildpackage -rfakeroot -us -uc
  • install it sudo dpkg -i ../nemo*.deb
  • open dconf-editor and change the setting /org/nemo/desktop/text-ellipsis-limit to 2 or just dconf write /org/nemo/desktop/text-ellipsis-limit 2
  • Open nemo settings and disable the preview
  • log out and in and enjoy

grid

@dominichayesferen
Copy link

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
Copy link

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

@pepa65
Copy link

pepa65 commented Feb 25, 2017

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
Copy link

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

@t-oster
Copy link

t-oster commented Feb 25, 2017

@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
Copy link

pepa65 commented Feb 26, 2017

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
Copy link

kn00tcn commented Feb 26, 2017

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
Copy link

pepa65 commented Feb 26, 2017

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
Copy link

t-oster commented Feb 26, 2017

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

  • When the user does rightclick->sort icons by name, that they do not only have equal width, but also equals height, so that they align also on rows, not only columns
  • An option to make the icons snap to a grid

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
Copy link
Contributor

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
Copy link

kn00tcn commented Feb 26, 2017

@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
Copy link

dominichayesferen commented Feb 26, 2017

@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
Copy link
Contributor

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
Copy link
Member

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

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:

  • Make the desktop its own process (so if nemo crashes, your desktop won't disappear)
  • Refactor a lot of code so we can continue offering the 'old' desktop to people, at least until we can convince or entice everyone to enjoy the new one (once it's in place)
  • Implement a desktop with more of a grid layout (akin to windows).

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
Copy link
Member

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

@mtwebster
Copy link
Member

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
Copy link

ghost commented Apr 14, 2017

@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
Copy link
Member

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
Copy link

dodona2 commented Jan 5, 2018

thanks a lot, mtwebster

@felagund
Copy link

felagund commented Jun 3, 2018

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
Copy link

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.