Commit Graph

9327 Commits (966047ccd2172373b064063af4e25d5d2c0628b6)

Author SHA1 Message Date
Hugo Pereira Da Costa 2f9834ad04 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2012-04-23 13:00:36 +02:00
Hugo Pereira Da Costa f76b087b33 mark title transition as dirty when resizing client, to avoid flicker.
CCBUG: 298428
2012-04-23 11:48:30 +02:00
Martin Gräßlin ed7d612ef3 Ensure that Extension::init() is only performed once
And call init from Workspace ctor before it gets called
somewhere else (e.g. in the compositor).

REVIEW: 104578
2012-04-22 22:29:17 +02:00
Martin Gräßlin 3ed63d4c45 Reparse Configuration at startup asynchronous
Options loading is split into three parts:
* reparse configuration
* loading of non-compositing related options
* loading of composited related options not needing CompositingPrefs

At startup the reparsing of configuration is done through a Thread
to gain a little bit of less waiting.

Before something else accesses the KConfig for the first time we
wait for the thread to finish and perform the other two loading
operations of Options.

The settings depending on CompositingPrefs will only be invoked
if a compositor is going to be needed.

REVIEW: 104562
2012-04-22 22:29:07 +02:00
Martin Gräßlin 818714432f Move Scripting from main to Workspace
Scripting can be started after everything else is started, there
is no reason to have it in main.cpp.
2012-04-22 22:28:56 +02:00
Martin Gräßlin 563dc7fb8e Do not create Deleted on Workspace Shutdown
When the Workspace is shutting down the compositor is torn down
before Clients and Unmanaged are released. This means that there
is no need to create the Deleted windows.

Furthermore creating the Deleted manipulates the stacking_order
while Workspace dtor loops over this list to release all clients.
This may cause crashes.

BUG: 282933
FIXED-IN: 4.9.0
REVIEW: 104690
2012-04-22 17:50:20 +02:00
Martin Gräßlin 7073b0af40 Export workspace as global property on ScriptEngine in QML bindings
If workspace is exported as a context property there seem to be
issues with the signals which are not bound to a property of
WorkspaceWrapper.

This problems seems to be fixable by exporting the workspace
property as a global property on the script engine.

As a side-effect this also resolves the issue with the clientList,
so we can drop the hack again.

REVIEW: 104682
2012-04-21 15:34:37 +02:00
Martin Gräßlin 175668f2b3 Unexport TabGroup property on Client for scripts
TabGroup is not (and should not be) a QObject which
makes it rather useless in scripting. In order to use
window tabs in KWin scripts the methods to interact
with tabs from Client should be used.

REVIEW: 104685
2012-04-21 12:19:52 +02:00
Thomas Lübking 9ca81a2f79 move sync dbus calls to kactivitymanagerd into extra thread
to prevent broken dbus chain from blocking the compositor

CCBUG: 293104
REVIEW: 104563
2012-04-20 23:59:37 +02:00
Thomas Lübking 0f2bde11b0 allow "under mouse" as regular placement strategy
BUG: 272162
REVIEW: 104650
2012-04-20 23:59:36 +02:00
Thomas Lübking b12279b6ed implement mousemark effect for xrender
BUG: 298338
FIXED-IN: 4.8.3
REVIEW: 104674
2012-04-20 23:59:32 +02:00
Thomas Lübking 93729709e6 merge geom_pretile & geom_restore
remove some patch bodies
checkWorkspacePosition on geom_restore

CCBUG: 80265
reviewed-by: graesslin
2012-04-20 23:59:25 +02:00
Martin Gräßlin c4d8a54e98 Keep position in stacking order for deleted windows
Workspace::addDeleted swaps the Client with the Deleted in the
stacking order. For Unmanaged windows the Deleted is appended
to the stacking order which is the same layer.

When the deleted is closed the window is removed from the stacking
order.

The result is that a deleted window is no longer raised above all
other clients.

REVIEW: 104519
BUG: 158262
FIXED-IN: 4.9.0
2012-04-20 08:36:24 +02:00
Martin Gräßlin f0c6f06241 Stacking Order becomes a list of Toplevel Windows
The common usage of stacking order is to loop through
the list and find a specific Client. All these usages
still need to find a Client. For that the loops are
adjusted to first cast the Toplevel into a Client and
continue if the current item is no Client.

At the moment all entries in the stacking order should
still be Clients as the Deleted are not yet added.
2012-04-20 08:36:24 +02:00
Martin Gräßlin c175e75939 ConstrainedStackingOrder() return ToplevelList 2012-04-20 08:36:23 +02:00
Martin Gräßlin f8fd648a61 Move Client::layer() to Toplevel
This allows to copy the layer to the deleted window in order to
keep the deleted window in the same layer.

Additionally a new layer is added for unmanaged windows.
2012-04-20 08:36:23 +02:00
Philipp Knechtges 93b2674313 kwin: dropping several gl(Push|Pop)(Attrib|Matrix) calls
This makes kwin in OpenGL2 mode more coherent with kwin_gles.
Despite some fullscreen effects they should now make the same
(pure) OpenGL calls.

REVIEW: 103804
2012-04-19 21:01:46 +02:00
Script Kiddy 2ebc52e0a5 SVN_SILENT made messages (.desktop file) 2012-04-19 11:15:13 +02:00
Lamarque V. Souza 50169d65c7 Fix compilation. 2012-04-18 10:54:39 -03:00
Lamarque V. Souza bb4616497a Add kwin/data/active (kconf_update configuration for Plasma Active). 2012-04-18 09:00:24 -03:00
Lamarque V. Souza 365b86f0ce Move kwin/data to kwin/data/desktop so that I can add kwin/data/active. 2012-04-18 08:59:40 -03:00
Script Kiddy d84316b20d SVN_SILENT made messages (.desktop file) 2012-04-18 09:37:58 +02:00
Thomas Lübking ab86f0e837 add screen inversion through XF86VidModeSetGammaRamp or XRRSetCrtcGamma
use opengl invert effect as fallback

REVIEW: 104371
2012-04-17 21:11:03 +02:00
Thomas Lübking 1d00436ea4 fix off-by-one on checkUnrestrictedMoveResize
BUG:  210926
FIXED-IN: 4.9
REVIEW: 104632
2012-04-17 21:10:19 +02:00
Thomas Lübking 92939b13d7 detach killHelper process from KWin
BUG: 295940
FIXED-IN: 4.9
REVIEW: 104627
2012-04-17 21:09:44 +02:00
Thomas Lübking 5d6613eb99 withdraw _NET_WM_STATE_DEMANDS_ATTENTION from windows which are attempted t be focus'd but cannot
BUG: 232423
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:09:27 +02:00
Thomas Lübking 3cbdca162a make the rmb popup move trigger an unrestricted move
BUG: 229942
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:09:09 +02:00
Thomas Lübking 7bdf96c2f3 export clientpopup mapping state and use it to skip mouse driven focus changes
BUG: 81743
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:08:35 +02:00
Thomas Lübking 603eaca9d4 store focusMousePosition on unmapNotify events
BUG: 92290
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:07:57 +02:00
Thomas Lübking 651d4e4fbf do not setActive clients which don't take focus on ShadeHover - by this resort re-shade restacking code
BUG: 242217
FIXED-IN: 4.9
REVIEW: 104622
2012-04-17 21:07:16 +02:00
Martin Gräßlin 5c71a75e8e Use setters for parsing the config options
Use setter when changing a value to ensure that signal gets emitted
and the option dependencies are applied.
Also use the default values as provided by the static getters.

REVIEW: 104561
2012-04-16 18:08:25 +02:00
Martin Gräßlin 53a36b3757 Implement relationship between options in setters
Ensure that depending options are set to correct values.
2012-04-16 18:06:25 +02:00
Martin Gräßlin 67425b8a5d Initialize member variables in Options 2012-04-16 18:06:25 +02:00
Martin Gräßlin 7b45ff9a73 Static getters for Options default values
For each option a static getter is introduced returning the
default value.

Some GL compositing related options do not have a proper default
value but depend on the actual GL driver. Sane default values are
assumed for those options.
2012-04-16 18:06:25 +02:00
Martin Gräßlin f7bcdaa6dd Introduce setters and change signals for all KWin Options
For most of the properties defined in Options a setter and dedicated
change signal is added.
2012-04-16 18:06:25 +02:00
Martin Gräßlin ca25da7089 Scripting binding to show/hide an outline
REVIEW: 104540
2012-04-16 17:45:49 +02:00
Martin Gräßlin 611e225fd6 Horizontal center the Thumbnail ListView
This ensures that also for a small TabBox with just one item
the thumbnail is nicely centered.

REVIEW: 104541
CCBUG: 297856
2012-04-16 17:42:10 +02:00
Martin Gräßlin 3193b46108 Constrain width of text element in Thumbnail Layout
Fixes a layouting issue when caption does not fit into
the window switcher box.

REVIEW: 104507
CCBUG: 297028
2012-04-16 17:41:57 +02:00
Script Kiddy 9771700b18 SVN_SILENT made messages (.desktop file) 2012-04-16 09:17:32 +02:00
Thomas Lübking 0fe48f971d use compositor to elevate current tabbox window
BUG: 297809
REVIEW: 104538
2012-04-14 23:22:05 +02:00
Thomas Lübking 797735ec8a fix geometrytip kcm regression
BUG: 292839
FIXED-IN: 4.8.3
2012-04-14 23:19:49 +02:00
Michael Palimaka c04fca92f9 Fix KWin build failure when OpenGL is disabled and OpenGLES is enabled.
Some old restructuring caused -DKWIN_HAVE_OPENGLES to no longer be
passed to the compiler, causing OpenGL-specific code to be built
while the libraries to link it were not available.

REVIEW: 104558
2012-04-15 05:12:41 +10:00
Script Kiddy 309868e803 SVN_SILENT made messages (.desktop file) 2012-04-14 10:45:50 +02:00
Aleix Pol 73c142fe45 Extend the screenshot effect API.
Makes it possible to take a screenshot for a given window ID.

REVIEW: 104388
2012-04-12 13:13:49 +02:00
Script Kiddy 2ba3a5a6c4 SVN_SILENT made messages (.desktop file) 2012-04-12 10:23:59 +02:00
Script Kiddy 40c8c94460 SVN_SILENT made messages (.desktop file) 2012-04-11 09:43:26 +02:00
Martin Gräßlin e59a96b57c Documentation for global JavaScript methods/properties
The documentation is in an XML file which mimics the
XML output of doxygen, which can be converted to
MediaWiki syntax with the tools found in
kde:scratch/graesslin/kwin-scripting-api-generator git
repository.

BUG: 297640
FIXED-IN: 4.9.0
2012-04-10 20:41:57 +02:00
Martin Gräßlin ba6eece7ad Wrap QDesktopWidget::resized() signal in KWin scripting
Requested by mgottschlag.
2012-04-09 23:01:04 +02:00
Martin Gräßlin 561199762f Move trim malloc from KWorkspace to KWin
It is only used by KWin and KWin does not use anything else
from KWorkspace.

REVIEW: 104446
2012-04-09 11:29:46 +02:00
Martin Gräßlin 7c00ab45f7 Add default values to Fade Effect
Without default values readConfig returns undefined values
causing the effect not to work. This needs to be documented.
2012-04-09 11:26:51 +02:00