Commit graph

179 commits

Author SHA1 Message Date
Martin Gräßlin
234ec644d2 KWin supports graphicssystem Raster
With raster a QPixmap is no longer a XPixmap which fails all code
which assumes that an QPixmap is an XPixmap. Depending on were in
the codebase we either convert such pixmaps to images (OpenGL) or
create a XPixmap and use QPixmap::fromX11Pixmap to get a "real"
pixmap.

It is possible that there are more code pathes were we would need
a XPixmap. Currently tested is basic functionality of no-compositing,
XRender compositing, OpenGl/GLX and OpenGL ES/EGL compositing.

For OpenGL compositing raster might result in performance improvements,
for XRender it is possible that there are regressions when using raster.
By default KWin uses whatever is the default of the system, so we just
no longer enforce native.

Of course it is a bad idea to use graphicssystem OpenGL. As that
is broken anyways in Qt, we do not check for it.

Many thanks to Philipp Knechtges for bringing up the issue, convincing
me that we need it and providing most of the patch.

REVIEW: 101132
CCMAIL: Philipp.Knechtges@rwth-aachen.de
2011-05-12 18:52:38 +02:00
Alberto Mattea
9bbed0335a Add basic multihead support to kwin
For now there is autostart support on all screens and support for different resolutions on different screens.
Keyboard shortcuts are still TODO
REVIEW: 101125
BUG: 256242
2011-05-08 20:39:27 +02:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Luboš Luňák
884e8205cc I think there's no point in pretending the reality is not
what it is, so make official what has been so in reality for some time:
Martin is the maintainer.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=1194646
2010-11-09 11:24:12 +00:00
Rohan Ramdas Prabhu
2aec750ebf Trembles the weave as the clock ticks, attain another microstate.
Every disorder causes every duration, which ensures the one that stays.
reality is relative. natural is disorder.
[R]obinhood[P]andey

Merging scripting from
^/branches/work/kwin_scripting TO
^/trunk

svn path=/trunk/KDE/kdebase/workspace/; revision=1177865
2010-09-21 14:31:40 +00:00
Fredrik Höglund
cf0f0cb325 Disable the glib event loop integration, since it seems to be responsible
for several bug reports about high CPU usage.

CCBUG: 239963

svn path=/trunk/KDE/kdebase/workspace/; revision=1137645
2010-06-13 20:22:50 +00:00
Luboš Luňák
fd0a31c3bf suspend ksmserver's startup during kwin's startup too,
just in case, to make sure kwin is really ready before other
desktop components


svn path=/trunk/KDE/kdebase/workspace/; revision=1137061
2010-06-11 14:26:41 +00:00
Rohan Ramdas Prabhu
4f10c8fc39 Accidentally broke tunk in my previous commit. I was supposed to commit
to a branch, but instead committed to the trunk. Well, the trunk was
broken because not all files were committed and hence anyone who checked
out of the trunk during this time could not have built kwin.

From what I can gather, the trunk has been broken for around 45 minutes
now. I didn't realize all that while that the trunk was broken. I
apologize for the inconvinience and I deeply regret my actions which
were clearly not well-thought.

Sorry,
Rohan


svn path=/trunk/KDE/kdebase/workspace/; revision=1133013
2010-05-31 22:18:41 +00:00
Rohan Ramdas Prabhu
d8daff5162 In this commit, the following files are updated:
main.cpp : Added a command argument. If 'stest' is set, then a testing
environment is setup which is used to test scripting for kwin.
Currently, the test setup only consists of loading a default script, but
in the feature it is expected to run a small text editor kind of thing
for testing.
       Usage:
         kwin --stest

CMakeLists.txt : Add the files corresponding to kwin_scripting the main
intention of which is to provide scripting support for kwin.

kwintabbox.desktop : An unintentional edit. Mostly harmless.


svn path=/trunk/KDE/kdebase/workspace/; revision=1133002
2010-05-31 21:24:40 +00:00
Fredrik Höglund
bcd8d3f476 - Add an external helper program that initializes GLX and checks if kwin can
use direct rendering.
- Move the LIBGL_ALWAYS_INDIRECT code to CompositingPrefs::detect(), and use
  the external helper program to determine if the variable needs to be set.

svn path=/trunk/KDE/kdebase/workspace/; revision=1096554
2010-02-26 20:47:00 +00:00
Lucas Murray
fd47ff5332 Revert r1082246 as it needs to be done in CompositingPrefs::detect()
to work correctly but as doing it there defeats the purpose of moving
the code to begin with there's no point in moving it.
BUG: 226049

svn path=/trunk/KDE/kdebase/workspace/; revision=1088054
2010-02-10 02:53:33 +00:00
Lucas Murray
2a34e440f5 Change the location where LIBGL_ALWAYS_INDIRECT is set and add some
useful documentation about when it is used and why it is required.

svn path=/trunk/KDE/kdebase/workspace/; revision=1082246
2010-01-30 08:27:24 +00:00
Lucas Murray
424d358fd2 Less Krazy warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042583
2009-10-30 08:10:35 +00:00
Lucas Murray
8cbce93613 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031438
2009-10-05 06:59:10 +00:00
Robin Harold Burchell
f585e4e1d9 A number of small warning fixes (bracketing, etc) to help pick up real problems when working.
svn path=/trunk/KDE/kdebase/workspace/; revision=1022531
2009-09-11 23:44:29 +00:00
Luboš Luňák
0883f7eda0 Remove aborting if there's any unknown X error during kwin
startup. It dates so back in history that the KWM commit
message is completely useless and I see no point in that,
it can just needlessly make kwin abort because of a harmless
X error e.g. in libGL. Real problems should be handled
explicitly wherever they happen.


svn path=/trunk/KDE/kdebase/workspace/; revision=1007362
2009-08-05 16:19:00 +00:00
Dirk Mueller
b466509093 be more precise which kwin variant crashed
svn path=/trunk/KDE/kdebase/workspace/; revision=980439
2009-06-11 18:53:41 +00:00
Michael Pyne
a97146ccda Do not let KWin close just because all open windows have been closed.
svn path=/trunk/KDE/kdebase/workspace/; revision=977968
2009-06-05 18:47:01 +00:00
Luboš Luňák
322dd7abe9 Don't log the X error handler message in non-debug builds,
it's getting tiring seeing users refer to these "errors".


svn path=/trunk/KDE/kdebase/workspace/; revision=958739
2009-04-24 14:45:13 +00:00
Andreas Hartmetz
6cd06aaef7 Remove command-line based hack and version check for graphics system setting, use the new API in 4.5.0 instead. Thank you Trolls.
svn path=/trunk/KDE/kdebase/workspace/; revision=953375
2009-04-13 20:31:03 +00:00
Luboš Luňák
6b7e972d87 Use just kWarning() for X errors, so that users don't report various
"errors".


svn path=/trunk/KDE/kdebase/workspace/; revision=948236
2009-04-02 15:57:54 +00:00
Andreas Hartmetz
c7092239e5 Do not add arguments that Qt may not understand. I missed that we don't
actually require current qt-copy (which is more or less 4.5) in trunk.
Quick & dirty runtime Qt version detection copied from Thiago's code in
kcmdlineargs.cpp.

svn path=/trunk/KDE/kdebase/workspace/; revision=926646
2009-02-15 22:06:09 +00:00
Andreas Hartmetz
e63cc90102 force KWin to use the native graphicssystem
svn path=/trunk/KDE/kdebase/workspace/; revision=926631
2009-02-15 21:43:57 +00:00
Luboš Luňák
7249ca2cfb Do self-check immediatelly during compositing setup only when it's not KWin startup
at the same time (in other words, only when activating compositing using the kcm).
Currently selfcheck causes bad flicker (due to X mapping the overlay window
for too long?) which looks bad during KDE startup. With this patch, KDE startup
is without any flicker.


svn path=/trunk/KDE/kdebase/workspace/; revision=923842
2009-02-09 14:51:11 +00:00
Luboš Luňák
14a5fb8026 Try to have initting set during Workspace setup again, will be also needed
for the following commit.
If there will be any problems during KWin startup because of this please yell.


svn path=/trunk/KDE/kdebase/workspace/; revision=923838
2009-02-09 14:39:52 +00:00
Lucas Murray
04d84ae446 SVN_SILENT Standardized coding style on main.* and manage.cpp
svn path=/trunk/KDE/kdebase/workspace/; revision=898632
2008-12-18 15:01:25 +00:00
Lucas Murray
2106401f7d Allow users to manually override indirect OpenGL by setting
KWIN_DIRECT_GL=1. This should allow fglrx users to use shader effects.
This should really be done automatically by testing to see whether the
required extensions are available when in indirect mode first, then
falling back to direct mode and trying again.
CCBUG: 173556

svn path=/trunk/KDE/kdebase/workspace/; revision=895696
2008-12-11 13:17:33 +00:00
Lucas Murray
6d41a1320e Moved all debug, warning and error messages into the KWin 1212 area.
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.

svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Laurent Montel
1c11825eea guard warning
svn path=/trunk/KDE/kdebase/workspace/; revision=843388
2008-08-07 06:50:39 +00:00
Luboš Luňák
f597672186 Just use the KDE version.
svn path=/trunk/KDE/kdebase/workspace/; revision=838680
2008-07-28 13:46:16 +00:00
Luboš Luňák
641faded6b Increase version number, just for the fun of it.
svn path=/trunk/KDE/kdebase/workspace/; revision=838657
2008-07-28 12:27:54 +00:00
Steve Evans
fc126dc537 Include <kdefakes.h> so that setenv is defined where it
is not available, e.g., on Solaris.

svn path=/trunk/KDE/kdebase/workspace/; revision=821047
2008-06-16 08:36:35 +00:00
Luboš Luňák
1da43a7993 Work around a Qt4.4.0RC1 redrawing bug.
BUG: 157659


svn path=/trunk/KDE/kdebase/workspace/; revision=793649
2008-04-04 18:08:43 +00:00
Luboš Luňák
79b4e8e4fc Use printf for the backtrace, just like with the X error itself,
so that it can be seen also with non-debug builds.


svn path=/trunk/KDE/kdebase/workspace/; revision=788104
2008-03-20 17:27:47 +00:00
Luboš Luňák
73ad1f1adc Use a modified errorMessage() with explicitly listing all extensions used by KWin.
svn path=/trunk/KDE/kdebase/workspace/; revision=778705
2008-02-24 11:41:55 +00:00
Luboš Luňák
bb97953656 Hacks for specific driver systems:
- setting LIBGL_ALWAYS_INDIRECT=1, as that seems to be required for texture_from_pixmap
    to work with AIGLX
- setting __GL_YIELD=NOTHING to noticeably improve smoothness with nVidia


svn path=/trunk/KDE/kdebase/workspace/; revision=749631
2007-12-17 14:19:41 +00:00
Luboš Luňák
add35c0095 Don't restart in a never-ending loop, just exit on cancel.
svn path=/trunk/KDE/kdebase/workspace/; revision=742729
2007-11-28 19:34:22 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Luboš Luňák
2fd0261c03 i18n messages for effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=736200
2007-11-13 17:29:46 +00:00
Luboš Luňák
c5eb488c3b When KWin is run with -sync, print also backtraces for X errors.
svn path=/trunk/KDE/kdebase/workspace/; revision=732021
2007-11-02 15:01:40 +00:00
Luboš Luňák
e063744820 Remove some #warning's.
svn path=/trunk/KDE/kdebase/workspace/; revision=731712
2007-11-01 17:03:05 +00:00
Andreas Pakulat
39e322fc83 Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdebase/workspace/; revision=721704
2007-10-05 22:21:25 +00:00
Rivo Laks
68303bf71f Move Options out of critical startup section so that X errors won't cause kwin to abort.
This fixes problems where compositing/glx detection can cause x errors and abort kwin.

svn path=/trunk/KDE/kdebase/workspace/; revision=720725
2007-10-03 15:25:38 +00:00
Rivo Laks
57bd7c937e Add only actually installed WMs to the list
svn path=/trunk/KDE/kdebase/workspace/; revision=717837
2007-09-27 17:06:10 +00:00
Rivo Laks
4c7ac1fd5b KDialog::exec() doesn't return button code
svn path=/trunk/KDE/kdebase/workspace/; revision=717836
2007-09-27 17:04:56 +00:00
Rivo Laks
9606247f8a Add cancel button to alternative wm dialog and start kwin again unless Ok is pressed
svn path=/trunk/KDE/kdebase/workspace/; revision=717824
2007-09-27 16:45:48 +00:00
Rivo Laks
26ce55a738 If we have way too many crashes (>= 4) then offer to run an alternative window manager.
svn path=/trunk/KDE/kdebase/workspace/; revision=717806
2007-09-27 16:22:29 +00:00
Rivo Laks
ec0fa1789a Automatically restart KWin when it crashes.
If it crashes at least two times in a row then disable compositing.

svn path=/trunk/KDE/kdebase/workspace/; revision=717778
2007-09-27 14:53:52 +00:00
Arto Hytönen
8f6cd4277f SVN_SILENT duplicate header removal
svn path=/trunk/KDE/kdebase/workspace/; revision=707720
2007-09-02 19:15:23 +00:00
Chusslove Illich
bdb46a1769 Interface modifications to KCmdLineArgs, KAboutData and KComponentData; BIC, SIC. Most of the depending code has been auto-converted to new API.
svn path=/trunk/KDE/kdebase/workspace/; revision=682259
2007-07-02 08:49:20 +00:00