Bug 105779 - JJ: Multiple desktop layout w/o pager applet
Summary: JJ: Multiple desktop layout w/o pager applet
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: junior-jobs
: 166017 177639 177715 179524 183188 189309 194024 197132 202913 251772 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-05-16 20:37 UTC by Jesús Guerrero
Modified: 2011-07-31 19:09 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesús Guerrero 2005-05-16 20:37:04 UTC
Version:           3.4.0 (using KDE KDE 3.4.0)
Installed from:    Gentoo Packages
Compiler:          gcc-3.4.3.20050110-r2 nptl enabled
OS:                Linux

This is not really a bug, but as I think this harm the functionality of KDE I've decided to report as a feature request. To get into situation let me explain a little:

I have set a multi-desktop layout in one single row. The model is 4x1, I've worked (and work still) for some time with fvwm, where I had the same layout for my four desktops. I set up kde to change to next desktop when I move the mouse to the left or right borders of the screen, so I can go from one desktop to another and even drang windows without any problem.

But the layout of the desktops seems to be hardly tied to the kicker pager applet. So, if I change the size of kicker to a bigger size then the applet takes layout is 2x2, and now, when I move the pointer up or down the proper desktop is loaded. Even more, since I use the pointer movement to change desktop I dont really have a need for the applet, so I thought about not loading it. But, my surprise: seems like the 2x2 layout is the default when no pager applet is loaded, so, if not loaded I still get the 2x2 layout that I really cant stand with.

I dont want the pager, so, for now, im standing with two desktops and the behaviour is fine, but only two desktops are really too small space for me to work comfortably.

My request is: I would like the multi-desktop layout to be applet independent, in a way that you could set it from the multiple desktops configuration tab in kcontrol. This way, even if you dont have any applet you could configure your layout to be used without applet, that is the way that I (and I'm sure more people) do it.

I don't really know if this is really related to kdesktop or would suit better into any other category. If I am wrong in anything excuse me and feel free to correct me.

By the way, I like to test avery new release of KDE since I first tried it, and 3.4 has been a so great surprise for me. Regards and congratulations for the good work. Keep it going!
Comment 1 Lubos Lunak 2005-11-01 17:21:24 UTC
You can turn off the applet and set the layout yourself using DCOP: "dcop kwin KWinInterface setDesktopLayout <orient> <x> <y>", orientation is 0 for horizontal and 1 for vertical, -1 for x or y means "depends on the other one".

But yes, KWin probably should save the layout in its config file. Which is simple enough for a Junior Job. Just see Workspace::setDesktopLayout() and Workspace::init().
Comment 2 premierSullivan 2008-05-17 04:00:17 UTC
This should probably be filed as a seperate bug report, but for now I'll just put it here since it's related.  Since kwin now has the destop grid effect a pager is no longer nessessary except that there is no way to access the kcontrol module for virtual desktops through system settings.  Can this be fixed?  I'll fix it if you want, it should be just one line in the system settings code.
Comment 3 Matthew Woehlke 2008-05-17 04:28:00 UTC
> Since kwin now has the destop grid effect a pager is no longer necessary

Just for the record, people without composite might beg to differ! :-) Fortunately, we aren't trying to kill the pager here.

> there is no way to access the kcontrol module for virtual desktops through system settings.  Can this be fixed?  I'll fix it if you want, it should be just one line in the system settings code.

I think not having a pager widget is not terribly uncommon, the OP apparently uses switching via mouse, and switching via keyboard doesn't seem too strange, so probably being able to configure desktops without the pager is a good idea.

Maybe changing the number of rows should be part of the desktop kcm?
Comment 4 Aaron J. Seigo 2008-11-10 09:20:28 UTC
*** Bug 166017 has been marked as a duplicate of this bug. ***
Comment 5 lucas 2008-12-13 13:49:53 UTC
*** Bug 177639 has been marked as a duplicate of this bug. ***
Comment 6 lucas 2008-12-14 02:34:07 UTC
*** Bug 177715 has been marked as a duplicate of this bug. ***
Comment 7 David Nadlinger 2009-01-03 19:02:14 UTC
*** Bug 179524 has been marked as a duplicate of this bug. ***
Comment 8 lucas 2009-02-04 16:14:24 UTC
*** Bug 183188 has been marked as a duplicate of this bug. ***
Comment 9 alex 2009-02-14 10:27:21 UTC
I'm also having the same sort of issues. I have the Desktop Grib effect enabled, with a custom layout of 1 row (so I have 4x1 desktops), I also have a shortcut key of 'ctrl+alt+left/right' to rotate left/right.

However, when I log out and log back in, KWin forgets my custom layout of 1 row and instead thinks I have 2, which gives me some funky behaviour when I try to rotate left (it instead rotates ... right, I think, or maybe it is just not wrapping around - I can't quite see what it is doing).

As soon as I place the 'Pager' widget on the desktop, and remove it again, my ctrl+alt+left shortkey works as expected, and I can rotate all the way around the cube no problem.
Comment 10 alex 2009-03-29 21:12:53 UTC
Just wondering, is there is any update or official response on this odd behaviour?
Comment 11 g111 2009-04-26 13:45:31 UTC
I have found a related issue here: (KDE 4.2.2 debian/sid; and also: KDE 4.2.70 (KDE 4.3 >= 20090415))

I have defined 2 panels on my desktop (left and bottom). While configuring them, both panels had a pager. I have switched the grid layout of the new left  pager, so the 2 pagers did show different rows/columns. This is an inconsistent configuration! Which of the two layouts define the behaviour of the desktop grid effect and the goto left/right/up/down desktop hotkeys?

After removing the bottom pager the desktop grid layout/behaviour still was messed up. I had to log out and in again to make this right.

So IMHO it is wrong to define the desktop rows/columns layout in the pager configuration. The solution would be to define the layout in the global desktop settings. Here currently only the number of desktops is set. Instead of this you should be able to define the rows and columns of the desktop, so that the number of desktops is computed automatically.
Comment 12 Martin Flöser 2009-04-26 19:31:53 UTC
Just as a note: the EWMH clearly states that the desktop layout is set by a Pager and not by the Window Manager (see http://standards.freedesktop.org/wm-spec/latest/ar01s03.html#id2568337 ). If KWin and KDE wants to be compliant we have to stay with the pager.

Nevertheless that two Pager Plasmoids do not show the same layout could be considered as a bug.
Comment 13 g111 2009-04-26 20:52:08 UTC
Besides the question if this EWMH rule makes sense or not, KDE could be EWMH conform anyway if it would behave like this:

a) the desktop grid layout is configured in the central KDE system settings as mentioned before.

b) This setting is read by each KDE-pager that is placed on the desktop. This results in the same layout for all KDE-pagers.

c) kwin reads the layout by EWMH from any pager that it can find. Because all pagers do use the same setting it does not matter which pager is asked by kwin.

Greetings,
Gert
Comment 14 Thomas Zander 2009-04-26 21:12:42 UTC
@ #13 if the EWMH rule indeed imposes that there can be only one pager configuration then the EWMH spec should be upgraded as it doesn't reflect reality anymore, IMOHO.

Thus bugreport shows that various people want to have multiple pagers and since they can very well exist in completely different contexts (panel/containment) there is a pretty good chance that it makes sense to make them look different.

I think the idea written in #11 makes a lot of sense. Making the KCM show rows/columns and conclude the amount of desktops based on that gives kwin/plasma all the information we need. The number of rows/columns can then be used for 'up'/'down' etc virtual-desktop configuration even if the user doesn't have a pager.
This can then be the default pager layout as well. Makes sense to me :)
Comment 15 David Nadlinger 2009-05-25 14:40:25 UTC
*** Bug 194024 has been marked as a duplicate of this bug. ***
Comment 16 charly ghislain 2009-06-01 20:49:04 UTC
The spec intention is to have only one process that handle the layout, and that process doesn't have to be the wm.

Now i suggest kwin handle the layout, through a 'virtual pager' filling the requirements of the specs. Pagers listen this virtual one for changes and can propose a new one.
Comment 17 Martin Flöser 2009-07-17 23:20:43 UTC
*** Bug 197132 has been marked as a duplicate of this bug. ***
Comment 18 Martin Flöser 2009-08-07 09:41:02 UTC
*** Bug 202913 has been marked as a duplicate of this bug. ***
Comment 19 Michal Svoboda 2009-08-07 12:01:24 UTC
How about a stub pager program that just sets the correct layout and quits? People would then put that to autostart (or it could be ran by kde in the absence of any other pager).
Comment 20 Thomas Lübking 2010-09-20 15:38:45 UTC
*** Bug 251772 has been marked as a duplicate of this bug. ***
Comment 21 Mats Ahlgren 2010-09-20 22:45:35 UTC
This is a major usability issue with regards to multiple desktops. Below I quote the report for one of the (currently 9) duplicate bugs. Additionally I highly suggest changing the status of this from "feature request" to "bug".

Also, the spec (from ten years ago) is introducing a very confusing dependency (a taskbar widget) into the architecture of a window manager; though perhaps I would not speak out against it so much if I knew the rationale behind it. "This property is set by a Pager, not by the Window Manager." If this part of the spec is confounding many users, it should be ignored imho; however maybe it is reasonable to consider the PersonalSettings>Desktop>MultipleDesktops>[proposed Layout/Geometry tab] to be a "pager" under this spec -- just one located in a control panel, and that also happens to be synced to any changed pushed from third-party pagers in a dock.
__________________
quote

When using the Desktop Wall, one can configure it to have a custom number of
rows. This is not synced with the true geometry of the virtual desktops. There
is no preference in Personal Settings to change the number of desktop columns.
Such a preference should exist in PersonalSettings>Desktop>MultipleDesktops and
should be synced with the DesktopWall plugin.

The workaround is impossible to figure out for normal users. It is this:
- right-click on kicker
- add a widget
- go through the list of widgets until you find one named "Pager"
- add this widget to kicker or the desktop
- right-click on it and modify the settings

One had to show and modify a completely unrelated UI element in an entirely
different part of the operating system, that users may not even know exists, in
order to change a setting which should have appeared in
PersonalSettings>Desktop>MultipleDesktops.

The fact that this appears to be a kwin bug further confounds the issue. It is
actually a kde desktop settings usability bug where the only solution is
completely unrelated to what the user would expect.
Comment 22 Chani 2010-09-21 09:24:31 UTC
the number of rows setting does not belong in the plasmoid - this has been brought up at the last two tokamaks iirc. it's one of those things everyone wants done and nobody wants to do ;)

rrix was actually close to having it working, but then his hard drive died and he lost all that work :/ I don't think he's touched it since.

so... patches welcome! :)
Comment 23 charly ghislain 2010-09-21 09:50:25 UTC
As for the spec, the idea is not what it says. To quote Havoc Pennington on the mailing list:
"The point in the spec is really that only one process can set the
layout (since it does not make sense to have multiple layouts) and it
does not have to be the WM. But any process can grab the selection."
Comment 24 Thomas Lübking 2010-10-10 21:14:40 UTC
*** Bug 189309 has been marked as a duplicate of this bug. ***
Comment 25 Ralf Engels 2011-03-13 12:13:28 UTC
I have the same problem. I don't like to have a pager on my desktop. You can't even make it invisible.

Anyway,
It seems to me that the spec does not specify that a pager has actually to be visible. How about a invisible master-pager component.
Comment 26 g111 2011-03-13 13:51:39 UTC
@Ralf Engels: As workaround for a hidden pager you might try to place it on the desktop, resize it to be very small and move it behind the panel somewhere. Maybe this works.
Comment 27 Martin Flöser 2011-07-31 15:01:43 UTC
Git commit 4bf7761307a2453a63d918c60e13c26980727830 by Martin Gräßlin.
Committed on 24/07/2011 at 14:59.
Pushed by graesslin into branch 'master'.

Move control of desktop layout from pager to KWin

The desktop layout (number of rows) should be
controlled by the window manager as it is also
responsible for the number of desktops and the
names of them.

The setting for the rows is moved from the pager
UI to the virtual desktops KCM. The desktop layout
is set when KWin starts and updated by the KCM.

With this change there is no process claiming the
manager selection for pager any more. This means
the KDE Plasma Workspaces are no longer compliant
to the complete section of _NET_DESKTOP_LAYOUT in
the EWMH.

REVIEW: 102073
BUG: 277965
FEATURE: 105779
FEATURE: 213353
FIXED-IN: 4.8.0

M  +10   -0    kwin/workspace.cpp
M  +2    -2    kwin/kcmkwin/kwindesktop/main.ui
M  +4    -57   plasma/desktop/applets/pager/pagerConfig.ui
M  +30   -8    kwin/kcmkwin/kwindesktop/main.cpp
M  +0    -3    plasma/desktop/applets/pager/pager.h
M  +10   -47   plasma/desktop/applets/pager/pager.cpp

http://commits.kde.org/kde-workspace/4bf7761307a2453a63d918c60e13c26980727830
Comment 28 g111 2011-07-31 17:48:04 UTC
Hi Martin,

this sounds great. 

Just one question: Will there be the choice if you want to configure the number of rows or the number of columns? If you are using a panel on the left it would be more interesting to configure columns instead of rows.

Thanks,
Gert
Comment 29 Martin Flöser 2011-07-31 17:52:18 UTC
(In reply to comment #28)
> Just one question: Will there be the choice if you want to configure the number
> of rows or the number of columns? If you are using a panel on the left it would
> be more interesting to configure columns instead of rows.
Now it is only possible to configure the number of rows, but the panel is adjusting automagically.
Comment 30 g111 2011-07-31 19:09:10 UTC
"but the panel is adjusting automagically."

fine