3.5.x Xinerama improvements

Various KDE 1.-4. Improvements

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

1
Score 50.0%
Description:

Patches for KDE/Qt with several Xinerama improvements:

- Alt+tab list of windows can be restriced to a single screen (#86865)
- shortcut for moving the active window to a specific/other Xinerama screen (#80755)
- possibility of configuring on which Xinerama screen new windows will be placed (#56827)
- slightly improved dialog placement in some cases
- newly launched applications appear on the same Xinerama screen where minicli was shown
- possibility of configuring the active Xinerama screen to be the one with the active window instead of the one with the cursor
- shortcut for activating specific/other Xinerama screen

See http://home.kde.org/~seli/xinerama for details.

Lubos Lunak
Last changelog:

12 years ago

- Fixed wrong handling of SeparateScreenFocus option

omega

13 years ago

Great! I've been waiting for someone to improve window management for people that use multiple monitors.

I'm not sure if you've ever used Ultramon on Windows. But it has three features that make window management very easy.

Click and drag the titlebar of a maximized window in the direction of the screen you want to move the window to, release the mouse button to make it snap in place on that screen. Currently in KDE, you have to spend a few seconds on properly aligning the window on the screen you moved it to.

An option that says "move to screen #" in the right-click context menu in the title of a program (or in the taskbar), much like the option for virtual desktops, only now for different screens.
A button in the titlebar that will move the window to a different screen.
I would love to have an easy way to tint one screen, consider this scenario;

You're watching a movie in fullscreen on one monitor and on the other is your IRC client on which you're sortof following a discussion on one of your favorite topics. However, because the screen isn't tinted, you can't see the movie all too well, because of the brightness it gives off something that could be prevented by tinting one of the screens.

Currently I do this on Windows by adjusting the gamma on one monitor all the way down. Not a perfect solution, but at least it somewhat works.


For reference, here's the Ultramon tour page describing the window management features:
http://www.realtimesoft.com/ultramon/tour/windows.asp


Oh, and seconding the request for Kubuntu packages! ;)

Report

Ekardnam

12 years ago

"Click and drag the titlebar of a maximized window in the direction of the screen you want to move the window to, release the mouse button to make it snap in place on that screen. Currently in KDE, you have to spend a few seconds on properly aligning the window on the screen you moved it to."

+1. That's the feature I miss most at the moment.
I think this should be enabled even if you have unchecked "Allow moving and resizing of maximized windows".

I haven't tried the patch, but I wonder if it's possible to specify which screen an applications should appear on in "Window-Specific Settings"? I know it's possible with "Position", but still not perfect.

Report

bsander

13 years ago

Okay so I decided to give it a try and compile it myself. I'm having the following error on kdebase, maybe you can help me?

g++ -DHAVE_CONFIG_H -I. -I/home/bsander/misc/src/kdebase-3.5.3/./kwin -I.. -I/home/bsander/misc/src/kdebase-3.5.3/./kwin/lib -I/usr/include/kde -I/usr/share/qt3/include -I. -I/usr/include/sasl -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -g -Wall -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE -MT libkdeinit_kwin_la.all_cpp.lo -MD -MP -MF .deps/libkdeinit_kwin_la.all_cpp.Tpo -c libkdeinit_kwin_la.all_cpp.cpp -fPIC -DPIC -o .libs/libkdeinit_kwin_la.all_cpp.o
/home/bsander/misc/src/kdebase-3.5.3/./kwin/workspace.cpp: In member function 'void KWinInternal::Workspace::init()':
/home/bsander/misc/src/kdebase-3.5.3/./kwin/workspace.cpp:292: error: 'WM2FullPlacement' is not a member of 'NET'
/home/bsander/misc/src/kdebase-3.5.3/./kwin/manage.cpp: In member function 'bool KWinInternal::Client::manage(Window, bool)':
/home/bsander/misc/src/kdebase-3.5.3/./kwin/manage.cpp:208: error: 'class KStartupInfoData' has no member named 'xinerama'
/home/bsander/misc/src/kdebase-3.5.3/./kwin/manage.cpp:208: error: 'class KStartupInfoData' has no member named 'xinerama'
/home/bsander/misc/src/kdebase-3.5.3/./kwin/activation.cpp: In member function 'void KWinInternal::Client::startupIdChanged()':
/home/bsander/misc/src/kdebase-3.5.3/./kwin/activation.cpp:890: error: 'class KStartupInfoData' has no member named 'xinerama'
/home/bsander/misc/src/kdebase-3.5.3/./kwin/activation.cpp:891: error: 'class KStartupInfoData' has no member named 'xinerama'
make[4]: *** [libkdeinit_kwin_la.all_cpp.lo] Error 1
make[4]: Leaving directory `/home/bsander/misc/src/kdebase-3.5.3/obj-i486-linux-gnu/kwin'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/bsander/misc/src/kdebase-3.5.3/obj-i486-linux-gnu/kwin'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/bsander/misc/src/kdebase-3.5.3/obj-i486-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/bsander/misc/src/kdebase-3.5.3/obj-i486-linux-gnu'
make: *** [debian/stamp-makefile-build] Error 2

Report

C

Seli

13 years ago

You need to first compile kdelibs with the patches and then compile kdebase against that kdelibs version.

Report

bsander

13 years ago

I'd love to try this if it came as a kubuntu package or at least a "normal" way to install it instead of having to recompile half of KDE.. It sounds very handy, any word on if this will make it in KDE 3.5.4 (if/whenever that will be)?

Report

C

Seli

13 years ago

Maybe some parts of it could make it into 3.5.4, I don't know. That's why it needs testing. As for Kubuntu packages I'm afraid I can't help you there.

Report

patson

13 years ago

Here's an idea: start work on a patch for kwin that let's you have different virtual desktops on each xinerama screen (if preferred), or a patch that lets you send windows between X screens?

Report

C

Seli

13 years ago

> different virtual desktops on each xinerama screen

http://bugs.kde.org/show_bug.cgi?id=107302 - not exactly trivial to do (conceptually)

> send windows between X screens

Read the list of improvements again more carefully.

Report

kjetil

12 years ago

I submitted that bug, and I'm happy to see that there is Xinerama work here.

I understand my feature request is non-trivial, but it is the single most wanted feature for me right now. I'm reminded pretty much every day about how nice it would be to have. Thus, I'm also offering some money for it, not a lot though, since I do not have a lot.

I'm just wondering about the likelihood of this being implemented? What is involved? Would it require patching in X? In Xinerama? Would it have implications for code outside KDE? Massive rewrites of Kwin code?

I think it would be a real killer feature, something I could brag about to friends... And it does have 8th place one the Kwin wishlist now...

Cheers,

Kjetil

Report

patson

13 years ago

Yes, I understand that separate virtual desktops for different Xinerama screens is not something trivial to do. That is why I suggested working on it (as opposed to "just adding it as a feature..") - it will require significant rewrites of the way windows are handled internally.

Also, I've read the list of changes, and I'm not talking about moving windows between xinerama screens, but between X screens (diffrerent thing). I am not 100% sure, but I remember seeing somewhere that this was both possible and fairly trivial to accomplish, which would mean a simple patch to kwin would be all that is required...

In all fairness, I haven't tried your patches yet, but I doubt a Xinerama window placement patch has any effect on truely separate X screens (as they, by default, share nothing but input)...
I might be off, though.

Report

C

Seli

13 years ago

I'm afraid you must have misread "fairly trivial" and "simple patch to kwin would be all that would be required". I'm quite sure it actually said "lots of tedious work" and "nobody really wants to do/use it anyway".

If you for some reason want to share X on different machines, try some of the external solutions like VNC or FreeNX. On local machine, just use Xinerama and forget separate X screens (unless they really suit you and you don't care about all the limitations). This is the KWin maintainer telling you that.

Report

halux

13 years ago

You could add "screensaver" and "kde vnc client" support to the list. Having images on two screens is very ugly.

About you ideas: As long as current methods are not removed I would agree with it. I really love that windows open where the cursor is. Never have placement problems with kde apps. Only Java and gtk apps don't work with the cursor thing :(


Felix

Report

C

Seli

13 years ago

I don't know what you mean by "screensaver" and "kde vnc client" support.

I can try to add some workaround to improve placement with Java/Gtk apps.

Report

blaster999

13 years ago

...open a bug report on http://bugs.kde.org and post a link here? I'd vote for it.

Report

C

Seli

13 years ago

Open a bugreport ... who? Me? I'm the KWin maintainer, I don't need that :). As said on the page, I'm more interested in testing and what people think about the patches.

Otherwise, indeed, you're right. Just posting something at kde-apps.org doesn't generally mean it'll make it in KDE.

Report

seraphyn

13 years ago

Thank You, Good Idea

Chris

Report

12 years ago

- Fixed wrong handling of SeparateScreenFocus option

12345678910
product-maker Count: 4 Rating: 5.0
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
0.3
updated May 14 2007
added Jun 09 2006
downloads 24h
0
page views 24h 2