Commit Graph

8433 Commits (9930044581f5bf5924b559f7fb6974fffffd0c54)

Author SHA1 Message Date
Script Kiddy 4b81841268 SVN_SILENT made messages (.desktop file) 2011-08-09 15:14:17 +02:00
Hugo Pereira Da Costa 238ab544a4 Merge branch 'master' of git.kde.org:kde-workspace 2011-08-08 10:49:45 +02:00
Allen Winter 8584104bf0 Improve Find OpenGLES.cmake a bit by only setting the FOUND varaible
if both the GLES and EGL libs and headers are found.
Fold all the includes and libraries into 1 varaible each and use those.

in other words, you need to have both OpenGLES and EGL to do a successful build.
2011-08-06 09:29:20 -04:00
Hugo Pereira Da Costa ce0862d726 Merge branch 'master' of git.kde.org:kde-workspace 2011-08-05 17:02:41 +02:00
Script Kiddy 857a61e30f SVN_SILENT made messages (.desktop file) 2011-08-04 10:39:45 +02:00
Martin Gräßlin 9f78276dc7 Detect Driver "Software Rasterizer"
Fixes a major regression which allowed OpenGL
compositing to be used with software rasterizer, which
either did not work or crashed directly.

Cherry-picked from cf2f572 in branch KDE/4.7.
2011-08-03 20:02:15 +02:00
Martin Gräßlin df75644817 Fix compilation with OpenGL ES and without OpenGL
If we have OpenGL ES but not OpenGL the KWIN_HAVE_OPENGL is set
causing the first compile pass to fail as it tries to build
against OpenGL. As a solution the first pass links against
OpenGL ES if OpenGL is not found.

This means both kwin and kwin_gles are built against GLES.
2011-08-03 16:39:36 +02:00
Martin Gräßlin ebdb0f00ff Use QLatin1String where possible
Krazy--
SVN_SILENT
2011-08-03 08:25:11 +02:00
Martin Gräßlin f72f465c13 Fix Typos
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin 055b4d032f Include own header first line
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin 3232c2cb2a Remove duplicate includes
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin 371f5b30e2 Adding missing newlines at end of file
Krazy--
SVN_SILENT
2011-08-03 08:25:02 +02:00
Martin Gräßlin fe4744c1e9 Single quotes instead of double quotes
Krazy--
SVN_SILENT
2011-08-03 08:24:27 +02:00
Thomas Lübking 734052a784 implement and fix scaled XRender shadows
(cherry picked from commit 5fa1a06fd8fdd3081a48ba921b2e670a60a49695)
2011-08-02 23:11:02 +02:00
Martin Gräßlin 1f89dcf25d All effects need to link X11
The Plasma Active build of kwin was broken because of that.
We really should get the effects X free...
2011-08-02 19:44:35 +02:00
Jaime Torres c7004ca3b7 remove a memory leak
When the library is not loaded right, delete the pointer to it.
It must be safe, the destructor does nothing.

REVIEW: 102057
2011-08-02 17:27:06 +02:00
Jaime Torres 26a492eb4a reduce the scope of two variables
reduce the scope of two variables

REVIEW: 102057
2011-08-02 17:26:21 +02:00
Jaime Torres 646954ed9d rules must never be null
if rules were null, it was pointing to a local structure, prabably a
crash after leaving if rules where used.

REVIEW: 102057
2011-08-02 17:24:38 +02:00
Jaime Torres 16bcfb0114 Avoid a null pointer dereference
Do not use deco pointer until we are sure it is not null.

REVIEW: 102057
2011-08-02 17:23:40 +02:00
Jaime Torres 664aaa1b60 ++ prefix for non-trivial data-types
change suffix ++ to prefix ++ to speed up a little bit not-trivial
data-types. discovered by cppcheck

REVIEW: 102057
2011-08-02 17:21:56 +02:00
Kai Uwe Broulik 79844f0ae7 Disable new login effect.
I could swear I disabled the effect by default.
2011-08-02 15:14:55 +02:00
Kai Uwe Broulik ca2a019bc8 Add option to make login effect fade via black instead of a long transition to your desktop.
Nuno has to decide whether the new option will become default or not, for now it is disabled by default.
You can enable it in effects kcm, now Login effect has a configuration dialog.

It does not (yet) however check for non-fullscreen effects, so they might look weird when this is enabled.

REVIEW: 101812
CCMAIL: nuno@oxygen-icons.org
2011-08-02 15:09:31 +02:00
Arthur Arlt e985201114 Fix broken build if tiling is disabled 2011-08-02 14:13:08 +02:00
Martin Gräßlin 5213c4aff6 Drop direct rendering setting
The advanced compositing option "direct rendering" could only
correctly be honored in the case of proprietary NVIDIA drivers.
In all other cases playing with the setting was most likely
harmful as it could result in inconsistent states and the
option not to be honored at all.

This patch resolves this issue by moving the detection whether
to use a direct rendering context completely into the hands of
 the set environment variables or the helper program:
* if LIBGL_ALWAYS_INDIRECT is set, we use an indirect context
* if KWIN_DIRECT_GL is set, we use a direct context
* if none of the two are set, we use the helper program, if it
  returns 0 we create a direct context, otherwise we set
  LIBGL_ALWAYS_INDIRECT and create an indirect context

If a user really wants to influence the behavior the
environment variables can be used.

REVIEW: 102074
2011-07-31 17:40:03 +02:00
Martin Gräßlin fb4d148f53 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
2011-07-31 16:47:27 +02:00
Script Kiddy c37c9de57b SVN_SILENT made messages (.desktop file) 2011-07-30 09:44:58 +02:00
Arthur Arlt 9a18de0171 Move creation of Tiling some lines up
Since there was a crash caused by calling a function of
the not yet initialized class Tiling, the creation was
just moved some lines up. The problem does not occur anymore.

BUG: 278740
2011-07-29 11:03:34 +02:00
Alex Fiestas 78783bfb49 use checkOffscreenClient for half-maximized clients 2011-07-28 22:19:39 +02:00
Alex Fiestas c0b89870b9 Move the "noOffscreensWindow" into a method so we can reuse it 2011-07-28 22:19:38 +02:00
Hugo Pereira Da Costa e9f37729fb Merge branch 'master' of git.kde.org:kde-workspace 2011-07-28 14:38:48 -04:00
Arthur Arlt e79cf50087 Rename some functions and variables in class Tiling
Some functions and variables were given more proper names and are now
following the naming scheme. 'Redundant' naming information was also removed.

REVIEW: 102020
2011-07-28 13:55:30 +02:00
Arthur Arlt 8c3a0e218a Move tile.cpp, tile.h, tilinglayout.cpp and tiling.h to directory tiling/
The three files are moved to the directory tiling/ and the includes were
adjusted as well as the CMakeLists.txt file.
2011-07-28 13:39:28 +02:00
Arthur Arlt 1326316049 Introduce Build Option for Tiling
A build option is introduced to file CMakeLists.txt. Classes Tiling,
Tile and TilingLayouts are only built if the option is set to ON. #ifdef's
are added to the classes where functions of the excluded classes are called.
2011-07-28 13:39:21 +02:00
Arthur Arlt 0c5da9f96f Remove tiling dependency from activation.cpp
Instead of directly calling notifyTilingWindowActivated() the signal
clientActivated() is used and connected. Including tiling.h is no longer
needed in activation.cpp.
2011-07-28 13:06:31 +02:00
Arthur Arlt 85c5439b5d Remove tiling dependency from Client
The direct method calls from class Client were removed and replaced by
connecting to the appropriate signals emitted by class Client. The
affected methods in class Tiling are notifyTilingWindowMinimizeToggle() and
updateAllTiles() which are now private Q_SLOTS.
Including tiling.h in class Client is no longer needed and was removed.
2011-07-28 13:06:30 +02:00
Arthur Arlt b1e3c7ba38 Move initialization of shortcuts to separate method in new Tiling class 2011-07-28 13:06:30 +02:00
Arthur Arlt f29d151220 Use configChanged() signal in TilingLayouts
Since there is a signal triggered if configurations are changed, the
reconfiguration method in TilingLayouts was made a slot and is connected
to the appropriate signal in Workspace.
2011-07-28 13:06:30 +02:00
Arthur Arlt bc4fea10f3 Replace direct method calls with signal and slot mechanism
The direct method calls for createTile(), removeTile() and resizeing the
tiling layouts from class Workspace are replaced by connecting to the
appropriate signal. The methods are slots now and a new slot for resizeing
the tiling layouts was introduced.
2011-07-28 13:06:21 +02:00
Arthur Arlt 3634525613 Refactoring Tiling
This initial commit introduces a new class Tiling. It is provided by
the files tiling/tiling.h and tiling/tiling.cpp. It covers all the
Tiling functionality which was provided by Workspace. In this initial
commit, all the functions were just moved and adjusted.
A  new member variable m_tiling is introduced to Workspace, which
makes the new class Tiling accessible from Workspace.
The Tiling pointer is created in the constructor and deleted in
the deconstructor. Also a getter method tiling() is provided.
All calls from other classes are updated to use the methods in class
Tiling now.
2011-07-28 12:35:51 +02:00
Arthur Arlt 6db74c8d66 Original Tiling.cpp moved to directory tiling/ 2011-07-28 12:31:33 +02:00
Hugo Pereira Da Costa 2dbfac9e1d Merge branch 'master' of git.kde.org:kde-workspace 2011-07-27 19:37:57 -04:00
Alex Fiestas a2aad27a78 Make sure that not maximized clients are offscreen on xrandr events
Added a small check in Client::checkWorkspacePosition which will assure
us that no window ("client") is left in a offscreen position. this is
more a workaround than a proper fix but is the only thing we can do that
will be backportable to the 4.7 branch.
2011-07-27 20:13:54 +02:00
Martin Gräßlin 68bba98e5f Remove duplicated xfixes include 2011-07-27 18:34:32 +02:00
Martin Gräßlin 997634c813 Remove a not working include directory
The kwin/lib directory does not exist for one
release cycle now.
2011-07-27 18:34:32 +02:00
Martin Gräßlin 92d32de087 Effects do not need kephal 2011-07-27 18:34:32 +02:00
Martin Gräßlin 1493dfd94f Load GLES effects instead of GL effects in GLES build
Just replacing the library name.
2011-07-27 18:34:32 +02:00
Martin Gräßlin af27c83d0a Build an additional kwin_gles binary
KWin gets compiled twice if OpenGL ES is available
and a second binary is created. It is linked against
the GLES effects and kwinglesutils and does not link
against OpenGL. The normal OpenGL variant is still
the "kwin" binary.

This is an intermediate step till we have the scene
as a loadable plugin. Then we will determine whether
OpenGL ES is supported in an external application
and load it as a plugin, otherwise we load the
OpenGL/GLX scene as a plugin.

REVIEW: 101979
2011-07-27 18:34:32 +02:00
Martin Gräßlin 680a0bad64 KCMs need to link kwingl(es)compositing 2011-07-27 18:34:31 +02:00
Martin Gräßlin 808c29109a Build effects twice - once with GL, once with GLES 2011-07-27 18:34:31 +02:00
Martin Gräßlin c807e97e0a Split glutils out of kwineffects
All OpenGL related files are build as a kwinglutils library for OpenGL
and as a kwinglesutils library for OpenGL ES. The appropriate defines
are set using target_properties and removed from kwinconfig.h.cmake.
2011-07-27 18:34:31 +02:00