Commit graph

9344 commits

Author SHA1 Message Date
Martin Gräßlin
874fccacd5 Delay maximize operation by one event cycle
The result of maximizing a window might be the decoration
going away. Because of that we need to delay the handling of
maximize and title bar double click by one cycle as had been
done for other close operations in 0fea5325

BUG: 304870
FIXED-IN: 4.9.1
REVIEW: 105961
2012-08-10 16:52:53 +02:00
Script Kiddy
c79bf24903 SVN_SILENT made messages (.desktop file) 2012-08-06 09:32:20 +02:00
Martin Gräßlin
46441998a3 Do not accept left mouse press events on titlebar in Aurorae
Accepting the mouse events breaks moving the window by dragging
the title bar. The reason is that it eats the mouse event and
by that never reaches KWin core to perform the movement.

Other mouse buttons need to be accepted for handling the window
operations. Also we need to listen in general to left mouse
button for the double click operation.

BUG: 304249
FIXED-IN: 4.9.1
REVIEW: 105784
2012-08-02 10:50:21 +02:00
Martin Gräßlin
5c7d046d13 Install event filter on Aurorae Decoration to handle WheelEvents
Unfortunately QtQuick 1 does not provide a way to receive Wheel
events. But the window decoration needs to pass wheel events on
the titlebar to KWin core.

In order to process also Wheel Events in Aurorae an event
filter is installed on the widget and in case the mouse positon
is on the title bar the titlebarMouseWheelOperation is invoked.

BUG: 304248
FIXED-IN: 4.9.1
REVIEW: 105801
2012-08-02 10:49:06 +02:00
Script Kiddy
52404247f3 SVN_SILENT made messages (.desktop file) 2012-08-01 11:40:14 +02:00
Andre Woebbeking
9eb1cc43a3 link X11 lib (for gold?) 2012-07-27 22:12:59 +02:00
Script Kiddy
7b84b06fcc SVN_SILENT made messages (.desktop file) 2012-07-27 10:37:01 +02:00
Thomas Lübking
f5aaf5272d Manage m_preview::deco pointers on plugin juggling
BUG: 304026
REVIEW: 105721
2012-07-25 20:25:27 +02:00
Thomas Lübking
b0576b1f08 un-Q'tile partially max'd clients on startMoveResize
BUG: 303937
REVIEW: 105699
2012-07-25 20:25:26 +02:00
Thomas Lübking
fd9db6814c Align about to be tabbed window before adding it
BUG: 303937
REVIEW: 105702
2012-07-25 20:25:26 +02:00
Script Kiddy
3aba56e778 SVN_SILENT made messages (.desktop file) 2012-07-25 18:00:01 +02:00
Script Kiddy
9db4ae2344 SVN_SILENT made messages (.desktop file) 2012-07-24 19:29:09 +02:00
Yuri Chornoivan
3bf0eb5c26 Fix typos in a message that broke string freeze. 2012-07-24 16:58:05 +03:00
Martin Gräßlin
bd7958392d Verify pointer is valid when calculating the longest caption
The method was missing a check whether the weak pointers in the
internal list got deleted. This could in very unlikely cases
lead to a crash.

In order to verify that adding the null pointer check fixes the
crash a unit test is added to simulate the situation of a
pointer being deleted. This required to add a mock a few
classes of TabBox. A MockTabBoxHandler and MockTabBoxClient are
added implementing the specific interfaces. The DeclarativeView
is completely mocked to make the linker happy. Including the
actual implementation is not possible as it pulls in half of
KWin core.

BUG: 303840
FIXED-IN: 4.9.0
REVIEW: 105645
2012-07-22 19:23:36 +02:00
Thomas Lübking
ddd2b117b1 introduce KDecorationPlugins::canLoad()
so we don't mess up our plugins on reload
also invoke it by loadPlugin()
and fix some KLibrary memleaks

REVIEW: 105499
BUG: 303247
(cherry picked from commit fd272b06954029b554197be1d10e252b01f56502)
2012-07-22 11:18:14 +02:00
Script Kiddy
817de698a0 SVN_SILENT made messages (.desktop file) 2012-07-22 10:49:48 +02:00
Martin Gräßlin
fb65e080dc Pass property minimized from Client to Deleted
Ensures that we can access the minimized property in Effects
which want to not animate a closed, minimized window.

Make use of it in the Fade Effect Script to not fade out a
minimized window which would mean showing the actual not
visible window.

BUG: 303891
FIXED-IN: 4.9.0
REVIEW: 105647
2012-07-22 10:06:30 +02:00
Thomas Lübking
35baf3f97a fix conditional glXSwapInterval usage
and cleanup profiling relics

REVIEW: 105632
BUG: 303397
(cherry picked from commit 0babc455aea4f5099a4f829668160bda3ef68a28)
2012-07-21 19:59:46 +02:00
Thomas Lübking
498783c66b move KServiceTypeTrader::query() to main thread
KConfigGroup is not the least thread safe and unfortunately
the KServiceTypeTrader::self()->query() will in doubt create
one if the sycoca database was damaged.

BUG: 303713
REVIEW: 105608
(cherry picked from commit e3edcbcf66b324febcc2014ca4c1fbfa383d8972)
2012-07-21 19:59:36 +02:00
Script Kiddy
b909bdc5c4 SVN_SILENT made messages (.desktop file) 2012-07-21 11:43:56 +02:00
Hugo Pereira Da Costa
6effa63296 added suffix (px) to shadow spinboxes. 2012-07-20 14:53:29 +02:00
Script Kiddy
88710b0f60 SVN_SILENT made messages (.desktop file) 2012-07-19 10:14:19 +02:00
Guy Maurel
dcf33ff419 missing include
Cherry-Picked from cb90b1e6a1125d41b55a7a608b1d917f84306070
BUG: 303630
FIXED-IN: 4.9.0
REVIEW: 105522
2012-07-19 07:11:45 +02:00
Script Kiddy
6c572929d8 SVN_SILENT made messages (.desktop file) 2012-07-18 10:04:35 +02:00
Script Kiddy
a0b9107edb SVN_SILENT made messages (.desktop file) 2012-07-17 17:16:25 +02:00
Script Kiddy
d79989b162 SVN_SILENT made messages (.desktop file) 2012-07-16 11:12:26 +02:00
Martin Gräßlin
5517d4db2c Delay closing of a window by one event cycle
This is an issue we already had in the past with Aurorae. When
closing a window the graphics scene crashes because the deco
gets destroyed before the code in the graphics scene finished
the execution.

With the port to QML this seemed to be fixed unless as it turns
out it throws an XIO error on closing:
fatal IO error 11 (Resource temporarily unavailable) on X server ":0"

This can be triggered using glxgears. Closing glxgears would
reliable crash Aurorae. To circumvent this issue we have to
delay the close by one event cycle using QMetaObject's
invokeMethod with a Qt::QueuedConnection.

This has also to be done in the useractions menu as the menu
is still open when the window closes causing the same problem
inside Aurorae.

BUG: 303450
FIXED-IN: 4.9.0
Reviewed-By: Thomas Lüking
2012-07-14 11:11:02 +02:00
Martin Gräßlin
6e70ed2087 Add missing break in case statment
This would have resulted in tiling specific code being executed
whenever a window tab group would have been closed.

REVIEW: 105547
2012-07-13 14:35:42 +02:00
Thomas Lübking
9a15d1921f honor rule when updating deco presence for reshape
CCBUG: 301909
REVIEW: 105485
2012-07-10 00:32:59 +02:00
Martin Gräßlin
830c17eebb Ensure that thumbnails do not get larger than the window
Upscaling windows looks really bad. If the thumbnail gets larger
than the window it's better to just use the orignal window size
and have the thumbnail rendered centered in the requested
region.

BUG: 297864
FIXED-IN: 4.9.0
REVIEW: 105459
2012-07-09 21:04:45 +02:00
Martin Gräßlin
3125333f76 Fix logout effect including port to OpenGL 2
The logout effect was rather broken. First of all it was
excluded from build if OpenGL ES is present at build time. The
reason for this is that the effect did not work with GLES.

In order to fix that the vignetting is ported over to OpenGL 2
by using a dedicated shader. As well the lod based blur is
added through a dedicated shader and uses framebuffer blit to
get the current rendered buffer before rendering the logout
window into a texture.

Last but not least the isActive method was broken and is fixed
by checking whether the logout window is around.

BUG: 303096
FIXED-IN: 4.9.0
REVIEW: 105459
2012-07-09 21:02:57 +02:00
Script Kiddy
825a9c4f6e SVN_SILENT made messages (.desktop file) 2012-07-09 11:17:38 +02:00
Martin Gräßlin
3746e4d7d8 Recreate lanczos filter whenever the screen size changes
The LanczosFilter has a FBO in screen size. When the screen
geometry changes this FBO has to be recreated. To go completely
sure the lanczos filter gets deleted on screen changes.

To achieve this the LanczosFilter is wrapped inside a
QWeakPointer so that we can track when it got deleted. This
brings an additional advantage by delaying the creation of the
shader till it is really needed, that is when for the first
time a window thumbnail with lanczos is rendered.

BUG: 296065
FIXED-IN: 4.9.0
REVIEW: 105479
2012-07-09 06:32:57 +02:00
Martin Gräßlin
4423b961a5 Fix incorrect connects of Activities in WorkspaceWrapper
Remember: a compiling connect does not mean it is correct.

BUG: 303200
FIXED-IN: 4.9.0
REVIEW: 105480
2012-07-09 06:31:58 +02:00
Script Kiddy
11788e8b6f SVN_SILENT made messages (.desktop file) 2012-07-06 10:16:34 +02:00
Thomas Lübking
34ba9411c9 use proper onCurrentDesktop instead of isOnCurrentDesktop
BUG: 302784
FIXED-IN: 4.9
REVIEW: 105394
2012-07-05 19:43:46 +02:00
Thomas Lübking
9c1b7f823c use window role to detect dashboard
BUG: 302523
FIXED-IN: 4.9
REVIEW: 105382
2012-07-05 19:43:45 +02:00
Thomas Lübking
bcbd7181f1 don't load incompatible deco plugins in kcm
... and prevent accessing them in addition
shall fix crash Martin documented in
http://git.reviewboard.kde.org/r/105021/

REVIEW: 105379
2012-07-05 19:43:45 +02:00
Thomas Lübking
4660c2086a block some unversioned decoration plugins
... which are known to use the unstable API (qtcurve, crystal, oxygen*)

BUG: 301646
FIXED-IN: 4.9RC2
REVIEW: 105378
2012-07-05 19:43:45 +02:00
Thomas Lübking
2c65b718d3 restore stable kdecoration API to 4.8
BUG: 301728
FIXED-IN: 4.9rc2
REVIEW: 105377
2012-07-05 19:43:45 +02:00
Thomas Lübking
adce67d1d7 fix startup effect repaints
REVIEW: 105376
2012-07-05 19:43:45 +02:00
Martin Gräßlin
e868ed8999 Do not use States and Transitions in QML of Aurorae
According to Nuno it's much better to define the animations in
a Behavior element as that is together with the element which
gets animated.

Also he recommends to not use states but just property binding
for the properties which are animated in the Behavior.

And I must admit that this produces cleaner code, though the
conditions are now scattered all over the source code and not
nicely put together in one state section. Let's just hope I got
the logic right.

Well seems like it is useful to go to a QML training, at least
it made me aware of my State definitions are not good and then
talking to Nuno and giving a try to his recommendations.

REVIEW: 105426
2012-07-05 15:22:57 +02:00
Martin Gräßlin
d2a9199cd9 Support for calling D-Bus methods from scripts
A new global method is exported to perform a remote method call
through D-Bus. The call is always performed async invoking a
callback once the call completed passing through the arguments
received from D-Bus.

Possible code looks like the following:
callDBus("org.kde.kwin", "/KWin", "org.kde.KWin", "currentDesktop", function (desktop) {
  print("Current Desktop through D-Bus: ", desktop);
});

REVIEW: 105396
2012-07-05 15:19:42 +02:00
Script Kiddy
6e6ac5a26b SVN_SILENT made messages (.desktop file) 2012-07-05 11:03:57 +02:00
Thomas Lübking
4c1c919d78 re-fix bug #283302
broke by accident with 33ffe90128df6ae038b27bd9c9371acacaeee098

BUG: 283302
REVIEW: 105360
FIXED-IN: 4.9rc1
2012-06-25 21:57:19 +02:00
Thomas Lübking
0618a86a90 don't lie about painting time causes speed doubling
BUG: 301609
FIXED-IN: 4.9
REVIEW: 105330
2012-06-24 19:26:43 +02:00
Thomas Lübking
8cae5fc073 force instant reaction for dnd border events
BUG: 136856
FIXED-IN: 4.9
REVIEW: 105254
2012-06-24 19:26:43 +02:00
Martin Gräßlin
30bb8be037 Add activity support to Workspace Script Wrapper and Effects
New properties for the current activity and the available
activities plus related signals in scripts. Signals added to
effects.

BUG: 302060
FIXED-IN: 4.9.0
2012-06-24 18:35:56 +02:00
Martin Gräßlin
13fcc29d40 Reset error flag in checkGLError
From API doc:
glGetError should always be called in a loop, until it returns
GL_NO_ERROR.

REVIEW: 105127
2012-06-24 18:34:47 +02:00
Martin Gräßlin
bc1b769d7f Export a getClient method to Scripting bindings
Finds a Client by windowId.

REVIEW: 105323
2012-06-24 18:32:41 +02:00