Commit Graph

9204 Commits (1f97345e3545a0b9cd9232b0668b39cf6c652a4c)

Author SHA1 Message Date
Martin Gräßlin 1f97345e35 Asserts for KWin scripts
Further debugging functionality for KWin scripts. Added assert
methods validate the to be tested parameter and throw a script
error if the value is not valid.

Following methods are available:
* assert(value)
* assertTrue(boolean)
* assertFalse(boolean)
* assertEquals(expected, actual)
* assertNull(nullValue)
* assertNotNull(notNullValue)

All methods take an additional optional parameter which is used
as the error message if provided.

Methods to validate the number of arguments and types of the
parameters are added and throw syntax or type errors.

REVIEW: 104870
2012-05-10 10:00:54 +02:00
Martin Gräßlin c3fce865ee Unload script on end execution and error
A ScriptEngineAgent is added to monitor the execution of a
script. If it ends it stops the script to free resources.

The same is done in case of an exception, just that in this
case the script takes care of unloading itself.

REVIEW: 104871
2012-05-10 09:58:59 +02:00
Ghislain MARY c66c78f1d2 Key Bindings for Switching between Windows of current Application
Additional TabBox Mode which allows to switch between all open
windows of the current selected application. By default Alt+tilde
is used which is on qwerty just one key above tab. For non-qwerty
layouts the shortcut is unfortunately not convenient.

REVIEW: 104730
FEATURE: 299308
FIXED-IN: 4.9.0
2012-05-10 09:53:10 +02:00
Script Kiddy ee92a35f39 SVN_SILENT made messages (.desktop file) 2012-05-10 09:48:44 +02:00
Script Kiddy 4f05ee3870 SVN_SILENT made messages (.desktop file) 2012-05-07 10:03:01 +02:00
Martin Gräßlin 8dd05b6cb2 Fix error introduced with 0950f4
CCBUG: 299429
2012-05-06 20:27:47 +02:00
Martin Gräßlin b3a813ffa7 Exclude minimized and windows not on current desktop from fade desktop
BUG: 299429
FIXED-IN: 4.9.0
2012-05-06 19:51:56 +02:00
Martin Gräßlin 151b8835f5 Resolve ambiguous connect in fade desktop scripted effect
Scripts cannot connect to a generic desktopChanged signal, but
need to explicitly state which one to use.
2012-05-06 19:46:14 +02:00
makis marimpis 7de8f5e7fe Add activity support for desktop focus chains.
REVIEW: 104649
BUG: 299309
FIXED-IN: 4.9.0
2012-05-06 15:31:21 +02:00
Thomas Lübking dda76d82f9 invoke decorationRect() in calculations for visibleRect()
BUG: 299358
FIXED-IN: 4.9.0
REVIEW: 104865
2012-05-06 13:15:43 +02:00
Martin Gräßlin 7f654ee959 Add layout name to D-Bus interface to open TabBox
If the layout name is specified a custom layout config is
passed to the TabBoxHandler with the configured name.

This can be used by Plasma Active to specify the window strip
(overwrites any settings) and for Netbook shell as a replacement
to opening Present Windows Effect.

REVIEW: 104838
2012-05-06 12:58:43 +02:00
Martin Gräßlin 54ecbc6b6a Ensure declarative view gets deleted when script is unloaded
Using a scoped pointer to ensure that the view is deleted in
the DeclarativeScript's dtor.

REVIEW: 104846
2012-05-06 12:57:10 +02:00
Thomas Lübking e274c297b9 fix threaded queryScriptsToLoad()
REVIEW: 104866
2012-05-06 12:24:32 +02:00
Martin Gräßlin a79eacaed7 Properly detect effects which need OpenGL 2
Effects that need GLSL require that OpenGL 2 is active.
It does not matter whether the GPU would support it if
OpenGL 2 is not used.

Cherry-picked from db42152

CCBUG: 299426
2012-05-05 10:27:19 +02:00
Thomas Lübking ed2fabf527 elevate tabbox when elevating highlighted windows
BUG: 299324
FIXED-IN: 4.9
REVIEW: 104845
2012-05-04 19:29:29 +02:00
Lamarque V. Souza b40f74a3b0 Update all CMakeLists.txt to use KDeclarativeConfig.cmake.
rebuild kdelibs from KDE/4.8 branch to install KDeclarativeConfig.cmake.
2012-05-03 23:42:35 -03:00
Thomas Lübking 8436d99e46 fix build for KWIN_BUILD_SCREENEDGES=OFF
BUG: 299326
FIXED-IN: 4.9
2012-05-03 22:56:38 +02:00
Thomas Lübking a332bf183b add desktopChanged signal to effects that carries the optionally changing widget
CCBUG: 213847
FIXED-IN: 4.9
2012-05-03 22:56:27 +02:00
Martin Gräßlin d46eeed0bc Revert accidential change in Scene::buildQuads
Region of decoration was accidentially changed with commit
2ed2c50b713843b184a7b973b1dfc106679df7ff
2012-05-03 20:58:43 +02:00
Hugo Pereira Da Costa fb361b3d35 Cleanup radial gradient definition and offsets.
Fixed bug on shading windows with large buttons.
2012-05-03 20:09:45 +02:00
Thomas Lübking 3a6095726e Only reserve required electric borders for ElectricAlways
CCBUG: 293011
REVIEW: 104073
2012-05-03 19:48:20 +02:00
Thomas Lübking 766bc27940 tag window being moved before dropping out of QuickTile/Max and omit wobble if window being moved during maximization change
BUG: 222102
REVIEW: 104841
FIXED-IN: 4.9
2012-05-03 18:54:30 +02:00
Thomas Lübking c67ba0fafb change animationEnded signature 2012-05-03 17:53:02 +02:00
Thomas Lübking 590d9b42d8 restrict animationeffect repaints
REVIEW: 103932
2012-05-03 17:52:49 +02:00
Thomas Lübking cd8e84f5f2 activate dragged window if not using present windows in desktop grid
BUG: 254044
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:50:43 +02:00
Thomas Lübking 494ffbdfd4 swap desktops in desktopgrid w/o swapping traversed desktops
BUG: 252699
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:49:43 +02:00
Thomas Lübking 8b175b7044 don't exit desktop grid when clicking into empty space
BUG: 244216
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:48:44 +02:00
makis marimpis a9e66dc7f3 "New Desktop" in to Desktop menu
Adding a new desktop entry to create a new desktop and move the
selected window there.

REVIEW: 104781
2012-05-03 16:42:25 +02:00
Ghislain MARY 8ebba542b0 Save and restore zoom value for desktop zoom and magnifier effects
REVIEW: 104597
BUG: 189956
FIXED-IN: 4.9.0
2012-05-03 16:38:56 +02:00
Martin Gräßlin 9aa30ad976 Cleanup of Desktop Grid: remove unused variables
Remove two unused variables the compiler nagged about
and remove commented code.

REVIEW: 104836
2012-05-03 11:40:07 +02:00
Script Kiddy 3dab9470e1 SVN_SILENT made messages (.desktop file) 2012-05-03 11:06:49 +02:00
Martin Gräßlin f2069112c2 Fix crash on closing present windows due to filter frame being null
Crash got introduced with bbf561ef9726e574684b67d53fc3c56cfc4e2e89

Also fixing coding style issue introduced in same commit.
2012-05-03 10:34:09 +02:00
Martin Gräßlin d05d55b140 Delay creation of EffectFrames till needed
Creating an EffectFrame requires I/O which takes on my system
during testing between 10 and 40 msec. Also it needs a little
bit of memory.

This changes moves out the creation of EffectFrames at Effect
load till the Effect actually needs the EffectFrame. E.g. if a
user does not filter in PresentWindows there is no need to ever
create it.

BoxSwitch effect is ignored as it should be dropped for 4.9.

REVIEW: 104815
2012-05-03 09:10:48 +02:00
Martin Gräßlin 8489ede9aa Move loading of Cube textures into thread
Cube effect loads 0 to 2 textures which has been
performed during configuration. This change delays
loading the textures till cube is activated for the
first time and the loading from file is moved into
a thread.

This means that for a very short time the texture
is not yet visible, but this is not a problem as
the cube animates from fully opaque starting state.
So during the loading the texture would not be
visible anyway.

REVIEW: 104807
2012-05-03 09:07:06 +02:00
Thomas Lübking a569b5c785 Revert "kwin: fixing high cpu usage bugs"
This reverts commit d07964e0af95911a97c3f474b694570cb279878c.

Conflicts:

	kwin/deleted.h
2012-05-02 21:56:33 +02:00
Thomas Lübking c2940d8889 polish track mouse effect, add xrender implementation 2012-05-02 21:56:18 +02:00
Philipp Knechtges 9a1ad96e93 kwin: provide clipping for the TabBox thumbnails
BUG: 299198
REVIEW: 104399
2012-05-02 19:18:13 +02:00
Martin Gräßlin eb5aa92746 Revert 236d4c8 for EffectsHanlder::effectConfig
EffectConfig is used also in the config modules which
means kwinrc needs to be explicitly specified.

BUG: 299163
REVIEW: 104808
2012-05-02 17:44:55 +02:00
Philipp Knechtges 8e8212b0ef kwin: adding a proper clipping to the lanczosfilter 2012-05-01 23:19:42 +02:00
Philipp Knechtges 05a8777edf kwin: adding proper clipping for transformed windows
This patch kind of reintroduces the old PaintClipper functionality.

REVIEW: 104397
2012-05-01 23:19:04 +02:00
Hugo Pereira Da Costa ba573c60ed Check that widget style supports "SH_ArgbDndWindow" to decide whether or not to draw a shadow around
ItemTag drag-and-drop icon.
2012-05-01 17:32:28 +02:00
Hugo Pereira Da Costa 83255bed73 fixed rect adjustment. 2012-05-01 17:32:28 +02:00
Hugo Pereira Da Costa aab88cc10d re-implemented compositing-off dnd calculation properly. 2012-05-01 17:32:28 +02:00
Hugo Pereira Da Costa ba3b445231 fixed hotspot. 2012-05-01 17:32:28 +02:00
Hugo Pereira Da Costa 27f1f45391 implemented (partially) shadows for drag pixmaps. 2012-05-01 17:32:28 +02:00
Hugo Pereira Da Costa 06820d7c77 fixed active item detection when rendering drag pixmap. 2012-05-01 17:32:28 +02:00
Script Kiddy be7573445a SVN_SILENT made messages (.desktop file) 2012-05-01 17:26:20 +02:00
Martin Gräßlin f1a50e0fb5 Only create decoration once during Client::manage
Client::manage calls setupCompositing on the not
yet fully managed client before it wants to create
the window decoration. This means the decoration is
created twice and maybe even if not needed (noBorder
not yet set).

If the Client is not yet managed setupCompositing
will not update the decoration - it will be handled
by manage later on.

Furthermore if compositing is not active, setup
compositing does not have to perform any action.

REVIEW: 104758
2012-05-01 08:49:20 +02:00
Martin Gräßlin de5003299b Don't recreate the decoration on release window
When a window is going to be closed there is no
need to recreate the window decoration from
finishCompositing.

REVIEW: 104759
2012-05-01 08:49:20 +02:00
Martin Gräßlin e3f2dd7612 Move KServiceTypeTrader query for Effects into a thread
By moving the query for effects into an own thread the
startup does not have to wait till all effects are loaded.
The thread moves the loading of the effects after the
Window Manager and Compositor has been fully initialized.
This is possible as EffectsHandler is fully functional even
without any effects.

The compositor ensures that at least one frame is rendered
before the started thread returns which makes the complete
startup more responsive.

REVIEW: 104583
2012-05-01 08:49:20 +02:00