linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.56k stars 742 forks source link

Dual monitors: easier configuration for making second monitor part of workspaces (WORKAROUND FOUND) #104

Closed slinkp closed 12 years ago

slinkp commented 12 years ago

There should be a quick, easy way to make workspaces include both monitors in a dual-screen setup.

EDIT: Workaround from the comments: slightly modified from http://gregcor.com/2011/05/07/fix-dual-monitors-in-gnome-3-aka-my-workspaces-are-broken/

  1. Install gconf-editor
  2. Start gconf-editor
  3. In the tree on the left, navigate to /desktop/cinnamon/windows
  4. UNCHECK the box next to workspaces_only_on_primary
  5. Log out or restart

Original issue:

cinnamon 1.1.3 on ubuntu 11.10

Not sure if this is by design, but:

I have a laptop with an external monitor attached, with display mirroring turned off. When attached, I prefer to do most work on the external monitor, occasionally putting things on the smaller laptop screen.

Under Gnome 2, with mirroring off, a single workspace extended across both displays. If I switched to another workspace, I would get a different set of windows in both displays. I got the same behavior working on Unity as well as Gnome Classic.

Under Mint, the second display doesn't seem to be related to workspaces at all. If I move a window into the second display, it is always shown, no matter which workspace I switch to. Windows on the second display do not have any "Move to..." options in the menu.

This unfortunately makes Mint a bit of a non-starter for me at the moment.

caledonian commented 12 years ago

I have the same issue but I think this is a problem with Gnome Shell as well, therefore inherited from the code 'fork'. I also find it counter-intuitive.

hasandz commented 12 years ago

Same issue on Mint 12

webvictim commented 12 years ago

I'm having the same issue on Fedora 16 with Cinnamon installed. It'd be lovely to have both monitors as part of a workspace.

groening commented 12 years ago

I am facing this too, but caledonian is not completely right on this! there is an option for gnome3 to include the second screen into the work space http://gregcor.com/2011/05/07/fix-dual-monitors-in-gnome-3-aka-my-workspaces-are-broken/

this fixes the problem, but sadly for gnome3 only and not for cinnamon

to be clear on that:

webvictim commented 12 years ago

Thanks - I set this option earlier and thought it hadn't worked, but realised that it only seems to take effect after a log out/log in. Things are working much better on Fedora 16 now.

idno0001 commented 12 years ago

groening: The instructions in that link work if, in step 3, you navigate to /desktop/cinnamon/windows instead.

groening commented 12 years ago

LOL - thx a lot! In my defense - I switched to Cinnamon just yesterday and neither had the time to look for settings other than included in the configuration GUI, nor did I expect to find copies of GNOME3 settings for Cinnamon in gconf...

Don't get me wrong here - that of course totally makes sense.

Just tried it and voila - problem fixed! So for now the bug can be closed. It would of course be better to include such settings in the display manager but since Gnome3 as well doesn't, Cinnamon is at least not falling behind :-)

slinkp commented 12 years ago

Thanks everybody!

alefq commented 12 years ago

Running Cinnamon 1.2, I solved the problem according to @groening post. Thanks a lot.

brianjmurrell commented 12 years ago

Does the workaround mentioned at the top here mean that you get two screens, each with their own independent workspaces so that when you change to workspace 1 on screen 0, the workspace on screen 1 stays where it is?

This is the way GNOME2 works when you have dual-head but no xinerama (or GPU driver equivalent like twinview, etc.). That is, you have :0.0 with it's own taskbar(s) and workspaces and :0.1 with it's own taskbar(s) and workspaces?

LenzGr commented 12 years ago

I've just switched to Cinnamon 1.2 on Ubuntu Oneiric and like what I've seen so far. However, this issue does not seem to be fixed. Windows placed on the external screen in a dual-screen configuration (one desktop spanning both screens) are always "sticky" - the don't stay on the workplace they've been opened at. While this behaviour might have its merits, it would be nice if it could be configurable - I prefer using both screens for a workspace. Thanks!

Is there a way to reopen this issue?

idno0001 commented 12 years ago

Have you tried the workaround above, but navigating to /desktop/cinnamon/windows in step 3?

@slinkp: Please could you edit step 3 accordingly?

LenzGr commented 12 years ago

Yes, that workaround did indeed fix it for me. Thanks for the hint! However, it would be nice if this would be configurable via the "Cinnamon Setting" app - right now I think the default behavior is not intuitive and this setting is hard to find for a newbie user...

idno0001 commented 12 years ago

I agree, it would be useful if we could change this in Cinnamon settings.

From what I understand, the reasons for this default multi-monitor behaviour in Gnome Shell are mostly due to the "Overview" hot corner. Since the Cinnamon settings tool allows us to disable the hot corner, it would make sense if it could change multi-monitor behaviour too.

slinkp commented 12 years ago

edited

groening commented 12 years ago

The main reason why dual screen behaviour changed in Gnome 3 is, that "they" think such environments primarily exist between a laptop and a beamer (for presentation purposes only). So in "their" point of view - it's not a bug, it's a feature.... The Shell's Overview has nothing to do with this default. The Presentation is not meant to switch together with the workspace on the primary screen (laptop).

Sorry - I currently cannot find a source but I read that somewhere officially...

OT: As all of us show in this thread, this decision is one of the poorest ever made. I don't get it either: why the hell all other upcoming window managers tend to optimize look'n'feel for tablets? Gnome2 was absolutely perfect. Being forced to use an acitivity-corner using two 23'' of 1920x1080px each is just plain wrong! To all the cinnamon devs: Keep up the great work!

brianjmurrell commented 12 years ago

On 12-01-30 11:06 AM, groening wrote:

The main reason why dual screen behaviour changed in Gnome 3 is, that "they" think such environments primarily exist between a laptop and a beamer (for presentation purposes only).

So "they" (being GNOME devs) don't run dual-head configurations? That's surprising.

So in "their" point of view - it's not a bug, it's a feature.... The Shell's Overview has nothing to do with this default. The Presentation is not meant to switch together with the workspace on the primary screen (laptop).

Indeed. I don't want my two screens switching workspaces together either. But I do want two screens each with their own set of workspaces that can be switched independently of each other. Just like I have in GNOME 2 when I have two screens (:0.0 and :0.1) defined. So my desire meets their goal, and of course, exceeds it.

groening commented 12 years ago

Hi brianjmurrel, I am not saying no one does use dual-head: Gnome-Devs just (seem to) do not see this as wide spread commonly used case... As what I remember from Gnome2 monitor setup program (not X11.conf!): Extending Screens (not cloned) always ment, that you receive a large desktop, consisting of multiple monitors: primary and others! these were aligned somehow (leftof/rightof/..) and had always used a combined list of workspaces. I never saw workspace-chooser panel apps working screen-independantly on dual-head, at least if you want to be able to switch windows between screens.

What you describe here though - from my memory - was configurable only from within compiz-settings (e.g. two separate cubes), or using several instances of X11 (where it's impossible to move windows from one to the other screen). Sorry if I am missing another config - that's just what I can remember from the past...

So summing things up from posts here, we wish four things to be configurable within the Cinnamon settings GUI / screen setup GUI: 1) Clone output on both screens 2) Whether to extend the desktop +1 monitor (not cloning) (windows can be moved between screens, multiple workspaces on primary, one single for the other) - that's Gnome3 default 3) Whether to extend the workspaces of the primary with the second screen (combined workspace) (mulitple workspaces for the 1+1 setup) - that would be Gnome2 default 4) Whether to create a separate "primary screen" (without using a separate session, if posibble) (two independent lists of multiple workspaces - one for each screen)

The last (setup no. 4) may or may not offer the possibility to move windows to the other screen. At least I haven't seen such a config, does this have something to do with xinerama?!

brianjmurrell commented 12 years ago

On 12-02-04 04:41 AM, groening wrote:

Hi brianjmurrel,

Hi groening,

I am not saying no one does use dual-head: Gnome-Devs just (seem to) do not see this as wide spread commonly used case...

Sure, but what I find strange is that no GNOME devs saw this lack of (useful) dual head use as itchy enough to scratch it.

As what I remember from Gnome2 monitor setup program (not X11.conf!): Extending Screens (not cloned)

Yes, let's be clear about what we are talking about. We are talking specifically of NOT Xinerama, or any GPU driver implementation of such a thing like nvidia's twinview (i.e. where the driver combines two physical monitors into a single X screen (see below for screen definition clarification), etc. We are NOT talking about a single screen (where a screen in X nomenclature is :0.0, or :0.1 or :0.2, etc.)

always ment, that you receive a large desktop,

Actually, no. When you have multiple "screen"s (again to use the X nomenclature) you actually get two different desktops, each with their own panels and workspaces, that work independently of one another.

consisting of multiple monitors: primary and others! these were aligned somehow (leftof/rightof/..)

Indeed. in xorg.conf you align them as such.

and had always used a combined list of workspaces.

No. Each screen has it's own workspaces. Each screen could even have a different number of workspaces.

I never saw workspace-chooser panel apps working screen-independantly on dual-head, at least if you want to be able to switch windows between screens.

Ahhh. Yes, this is an important distinction. With dual screen, dual head mode, you cannot drag windows from one screen to another. This is annoying, but IMHO, the least annoying of all of the different (i.e. Xinerama, or twinview, etc.) dual-head configuration.

What you describe here though - from my memory - was configurable only from within compiz-settings

Unnecessary. I am sitting here writing this message on the lefthand screen of such a dual screen setup and I do NOT use any compiz at all.

or using several instances of X11

Nope. One single Xorg server driving two screens.

(where it's impossible to move windows from one to the other screen).

Yes, as I said, this "dual screen" flavor of dual-head does not allow dragging windows from one screen to the other.

So summing things up from posts here, we wish four things to be configurable within the Cinnamon settings / screen setup: 1) Clone output on both screens

TBH, I'm not sure what "clone" means. To me, clone means you have two displays and a single screen where the image on both screens is the same. Not sure how really useful that is, other than perhaps projection use-cases, but even in such a use-case, I'd still rather have different screens: one the audience sees and one I see.

2) Whether to extend the desktop +1 monitor (not cloning) (windows can be moved between screens, multiple workspaces on primary, one single for the other) - that's Gnome3 default

I think this is the twinview/xinerama I mentioned earlier. Yes, I can see people wanting that.

3) Whether to extend the workspaces of the primary with the second screen (combined workspace) (mulitple workspaces for the 1+1 setup) - that would be Gnome2 default

I'm really not sure how to interpret this one either.

4) Whether to create a separate "primary screen" (without using a separate session, if posibble) (two independent lists of multiple workspaces - one for each screen)

This sounds like what I do currently, so yes.

The last (setup no. 4) may or may not offer the possibility to move windows to the other screen.

It would be a sweet extra, but GNOME2 doesn't offer the ability to move windows between screens in such a setup currently so it's not something I'd miss -- no, not at all, like I would miss not having independent(ly switchable) workspaces on each of my screens.

At least I haven't seen such a config, does this have something to do with xinerama?!

No. Xinerama is what I would call an "extending" type option where you get one big screen (and therefore desktop) across your screens and all screens switch as you switch desktops. I specifically don't want that.

AlbertJP commented 12 years ago

@groening @brianjmurrell Do you consider this fixed when an option "Workspaces only on primary monitor" is added in Cinnamon Settings, and do you think it should be turned off by default? (Input from other people is also welcome)

Does anybody have an idea, which part of Cinnamon Settings I should use for this? Panel, Windows, Desktop, or another one?

alefq commented 12 years ago

+1 to have it off by default. I miss the old behaviour where I could have an independent panel with a windows list on my secondary monitor. I use a lot the hide buttons(without arrow) of the gnome-panel (currently using for production, gnome-session-fallback, cinnamon at home), so I can easily hide if I want to.

AlbertJP commented 12 years ago

I have added the setting under Desktop (but not yet committed it), I'll test it tonight when I have a second monitor at hand. Haven't managed to change the default yet, however.

caledonian commented 12 years ago

"Do you consider this fixed when an option "Workspaces only on primary monitor" is added in Cinnamon Settings, and do you think it should be turned off by default?"

I'd go for this, personally. I think the most likely usage is dual-monitors and this is how I would use that.

Also, Desktop seems a good category.

exallium commented 12 years ago

What'd be really slick is if each desktop could manage it's own workspaces like AwesomeWM does. That's sort of reaching though.

I think that most people expect both monitors to be part of the same workspace, and move as you move between them, so yes, this should be the default.

idno0001 commented 12 years ago

I've noticed that the overview behaves as if the option is turned on, i.e. the overview shows all windows from all workspaces on the secondary monitor, while the primary behaves as we would expect. I personally don't use the overview very much---if at all---but it's something that should probably be fixed at some point.

However, I think that the priority is to have the option added to cinnamon-settings. I wouldn't delay the commit just because of the overview.

brianjmurrell commented 12 years ago

@AlbertJP: I'd consider this issue closed when I can have my two screens with their own desktop settings including their own panels if desired) as well as (and more importantly) their own workspaces and that switching from workspace "1" to workspace "2" on one monitor does not also switch the workspace on the other monitor.

For gravy, I can drag windows from one screen to the other but that's not a feature that has ever existed before in this dual-head mode so I wouldn't consider it a requirement for this ticket.

groening commented 12 years ago

@AlbertJP to answer your question - yes I consider his fixed! thx

AlbertJP commented 12 years ago

@brianjmurrell I'm sorry. I lack the time to implement all those features at present. I'm just a volunteer and am also finishing high school this year. The original issue was about the second monitor not being involved in workspace switching. This issue is kind of solved (I am still looking how to set it off by default). I think you should rather open a new issue as this one wasn't meant to discuss independent workspace switching on different monitors when slinkp opened it.

brianjmurrell commented 12 years ago

@AlbertJP: I wasn't asking you to implement what I think is needed to close this ticket. I was simply responding to your query about what was, in my opinion, needed to complete and close this ticket. I fully understand about time constraints and how one must prioritize one's demands for one's time.

AlbertJP commented 12 years ago

I've changed the default value of the gconf workspaces_only_on_primary to false.

groening commented 12 years ago

Just to inform everyone in here using Gnome 3.4 searching for a gconf entry to fix workspace handling: its no longer set in gconf - there is no /desktop/gnome/shell/windows ! instead use this:

gsettings set org.gnome.shell.overrides workspaces-only-on-primary false

(this might also be interesting for cinnamon devs)

AlbertJP commented 12 years ago

Gnome's migrating everything to gsettings. I don't think this will break Cinnamon, we can just maintain our gconf setting as long as we want. But probably gsettings is just a better API (faster?). Anyway, this can probably be handled during the transition to Mint 13 with Gnome 3.4-based components.

slinkp commented 12 years ago

The original issue - it being non-obvious and inconvenient to make the secondary display part of workspaces - is resolved in 1.4.

Several other ideas have been discussed here; they should be opened as new tickets if necessary.

slinkp commented 12 years ago

... like for example #130 "Taskbar on second monitor".

ordorica commented 12 years ago

This issue still exist on Cinnamon on Ubuntu 12.04, and the work around does not fix the issue. The panel always seems to start on monitor 1 no matter what.

Can't we get an option to duplicate the panel, or stretch it across both.

AlbertJP commented 12 years ago

@hechacker1 This issue is closed. Please look for an open issue about your problem or open a new one yourself.