Commit graph

10778 commits

Author SHA1 Message Date
l10n daemon script
5d8f86b71d SVN_SILENT made messages (.desktop file) 2014-01-05 06:38:46 +00:00
l10n daemon script
938332b6ac SVN_SILENT made messages (.desktop file) 2013-12-23 06:26:56 +00:00
l10n daemon script
c9c902b7e5 SVN_SILENT made messages (.desktop file) 2013-12-19 06:44:27 +00:00
Hugo Pereira Da Costa
97787bec30 fixed email 2013-12-18 13:51:27 +01:00
Hugo Pereira Da Costa
5d2361b42a Fixed email address in all headers. 2013-12-18 13:24:56 +01:00
Hugo Pereira Da Costa
ff9b1366aa Removed background blend style option.
Background gradient is now always decided based on window flag.
CCBUG: 273423

Added option in oxygenrc to disable window background:

[Common]
UseBackgroundGradient=true

Option is hidden (no UI element) because of string freeze
Also removed decoration blend style option.
Background gradient is now always decided based on window flag.
CCBUG: 273423
2013-12-17 18:17:57 +01:00
Fredrik Höglund
eeb309c149 kwin: Add support for EXT_buffer_age
This patch adds support for GLX_EXT_buffer_age, and
EGL_EXT_buffer_age on X11.
2013-12-12 01:36:46 +01:00
Fredrik Höglund
a9e49e218f kwin: Return the modified damage in a separate paintScreen() parameter 2013-12-12 01:36:46 +01:00
Fredrik Höglund
c25b2939b1 kwin: Prepare the backend interface for EXT_buffer_age
Allow prepareRenderingFrame() to return a region that will be
repainted in addition to the damaged region.

Pass both the damaged region and the repainted region, which
may be larger, as parameters to endRenderingFrame().
2013-12-12 01:36:45 +01:00
Fredrik Höglund
12446c9b4c kwin: Don't call glFlush() unnecessarily in endRenderingFrame()
We should only call glFlush() here if we're deferring the posting
of the back buffer to the next prepareRenderingFrame() call.
2013-12-12 01:36:44 +01:00
l10n daemon script
d5e439aae0 SVN_SILENT made messages (.desktop file) 2013-12-08 06:36:10 +00:00
l10n daemon script
68ce64de5c SVN_SILENT made messages (.desktop file) 2013-12-07 06:21:08 +00:00
l10n daemon script
5d61c2d942 SVN_SILENT made messages (.desktop file) 2013-12-03 07:11:43 +00:00
l10n daemon script
51b677e1ab SVN_SILENT made messages (.desktop file) 2013-11-27 06:42:57 +00:00
Thomas Lübking
c003baee1e clamp timeline time for highlighted desktop
BUG: 327539
FIXED-IN: 4.11.4
2013-11-24 14:30:20 +01:00
Thomas Lübking
54a4a4547d fix shortcut available check
and bypass idempotent shortcut setting

BUG: 327472
FIXED-IN: 4.11.4
REVIEW: 113807
2013-11-24 14:24:06 +01:00
Thomas Lübking
6e56dcd60a remove false noop breaking branches
BUG: 328007
FIXED-IN: 4.11.4
2013-11-24 14:21:35 +01:00
l10n daemon script
1885a90393 SVN_SILENT made messages (.desktop file) 2013-11-24 06:42:15 +00:00
l10n daemon script
4abba66bf0 SVN_SILENT made messages (.desktop file) 2013-11-23 06:30:36 +00:00
Fredrik Höglund
76adeb6a13 kwin: Optimize WindowQuadList::makeGrid()
This is the same optimization that was done in makeRegularGrid()
in 45782d387ab894c682b4ccc220e596c8b72c4167.
2013-11-21 23:38:43 +01:00
Fredrik Höglund
006529d8b2 kwin: Optimize WindowQuadList::makeRegularGrid()
Instead of looping over every quad for every grid cell and checking
for possible intersections, loop over the quads once and compute
the top left corner of the first intersecting grid cell. Then loop over
all the intersecting cells from that point and create the sub quads.

This new algorithm also preserves the order of the quads in the
original list.
2013-11-21 23:37:10 +01:00
Casian Andrei
b5b7fac056 Fix check for no button pressed in Client::buttonReleaseEvent()
There is a check in Client::buttonReleaseEvent() for the state of the
mouse buttons compared to the button masks for button 1, 2, 3 (X11
button indices).

The check was:
if ((state & (Button1Mask & Button2Mask & Button3Mask)) == 0) { ... }
<=> if (state & 0 == 0) <=> if (true)

This change assumes what the check was supposed to be and fixes the problem. The correct fix was proposed by Thomas.

REVIEW: 113359
2013-11-21 08:25:33 +02:00
l10n daemon script
d36319ebbe SVN_SILENT made messages (.desktop file) 2013-11-17 06:36:34 +00:00
l10n daemon script
da4610f06a SVN_SILENT made messages (.desktop file) 2013-11-13 06:29:31 +00:00
l10n daemon script
ccf218e802 SVN_SILENT made messages (.desktop file) 2013-11-12 07:02:56 +00:00
l10n daemon script
feeb45445b SVN_SILENT made messages (.desktop file) 2013-11-03 06:20:25 +00:00
Thomas Lübking
3692549170 fix deco config updates
- B2 linked to the wrong slot (instead of changed signal)
- border size change was not written (for B2, Laptop etc)
- Aurorae didn't recreate decos when required

BUG: 325946
FIXED-IN: 4.11.3
REVIEW: 113229
2013-10-20 19:37:14 +02:00
Thomas Lübking
d249075b5e Ensure to not clip windows when painting the cube
BUG: 325432
FIXED-IN: 4.11.3
2013-10-20 19:37:14 +02:00
Thomas Lübking
57cc5e2954 don't leak fpstext texture
BUG: 325610
FIXED-IN: 4.11.3
REVIEW: 113136
2013-10-20 19:37:14 +02:00
Thomas Lübking
eb059ad8a6 fix mouseclick animation repaint areas
REVIEW: 113212
BUG: 325869
FIXED-IN: 4.11.3
2013-10-20 19:37:13 +02:00
Thomas Lübking
a3cbe50e12 do not create window pixmap for Deleted windows
related black window issues

BUG: 325939
FIXED-IN: 4.11.3
2013-10-20 19:37:13 +02:00
Raphael Kubo da Costa
92a4cdd9e7 Remove assertion in KDecorationUnstable's constructor.
Follow-up to c146941, which stopped exporting KDecorationBridgeUnstable.

The way the typeinfo and object comparisons are performed in a dynamic_cast
are not entirely defined in any ABI spec (or the C++ standard), and the
situation gets trickier when a hidden symbol (KDecorationBridgeUnstable)
gets passed between a program such as kwin or kcmshell4 and a dlopen()ed
library like kwin3_laptop.so: kwin is unaware of the symbol in
kwin3_laptop.so and vice-versa, so stricter implementations of the C++
runtime can choose to make the dynamic_cast call fail and return 0.

This was a source of crashes on GCC for a long time [1][2] until its
developers chose to make the typeinfo comparison in libstdc++ >= 4.5.x less
strict and just perform a string comparison of the type names by default.

[1] http://article.gmane.org/gmane.comp.gcc.patches/189813
[2] http://gcc.gnu.org/ml/gcc/2002-05/msg01970.html

It does not make things more correct, though, and after c146941 KWin started
crashing when built in debug mode and run with libcxxrt, another C++ runtime
implementation, since it performed a stricted typeinfo comparison by
default.

Simply removing the dynamic_cast should be fine: it is in an assertion, so
the code is not essential, and the assertion itself is not entirely correct.
Additionally, the assertion has already been removed from the master branch
in commit 4702bbd.

REVIEW:		113296
2013-10-20 17:37:18 +03:00
C Schell
07721aaab9 Fix zoom effect cursor position on initial zoom in.
BUG: 325799
FIXED-IN: 4.11.3
2013-10-10 07:39:52 +02:00
l10n daemon script
ad3449f3b1 SVN_SILENT made messages (.desktop file) 2013-10-09 06:54:18 +00:00
Martin Gräßlin
4a8e52ee4c Don't show borders for a maximized Laptop client
Maximized windows should not have borders.

REVIEW: 113047
2013-10-08 10:15:08 +02:00
Martin Gräßlin
0ec8646d78 Always use PositionCenter for maximized windows
It was showing the resize cursor at the top title edge which is not
wanted in maximized mode.
2013-10-08 10:15:08 +02:00
Montel Laurent
0fb259058b Fix order 2013-10-03 22:00:23 +02:00
Montel Laurent
11e99c7b46 Pedantic 2013-10-03 21:51:17 +02:00
Thomas Lübking
11f5f0298d workaround bug #321897 by multiplying fadeout time
with 4 instead of just altering the default value
It seems the value is actually written for some ppl.

Worse: former patch didn't actually work as expected
anymore

CCBUG: 321897
2013-09-26 19:43:10 +02:00
Thomas Lübking
61f1bcc991 Revert "Add ability to disable multihead support"
The variable is set not from config nor anywhere else when kwin is
started through ksmserver by startkde.

In addition the KGlobal implementation is twisted compared to the kcminit
config behavior (the config value defaults to true, not false - ie. if the
variable isn't set (by kcm init) it's reasonable to assume true either.

Therefore and in alignment with PW/2, the environment is read directly and
on absence resolved to "true".

To control the behavior, please export KDE_MULTIHEAD=true/false before starting KWin
(eg. in /usr/bin/startkde)

This reverts commit ab6d5c048a25bcb2f5bdb822ba3eda64019c61bc.

REVIEW: 112579
CCBUG: 256242
2013-09-26 07:52:47 +02:00
Thomas Lübking
e63e5f5712 fix scheduling the repaints
repaints caused by effects so far polluted the timing calculations
since they started the timer on the old vsync offset
This (together with undercut timing) lead to multiple frames in
the buffer queue, and ultimately to a blocking swap

For unsynced painting, it simply caused wrong timings - leading to
"well, kinda around 60Hz - could be 75 as just well".

REVIEW: 112368
CCBUG: 322060
that part is fixed in 4.11.2
2013-09-25 23:09:18 +02:00
Thomas Lübking
cb88bc8848 keepInArea, client geometry containment condition
Since windows can place the decoration outside the screen
this needs to be still a valid condition when checking
whether we've to keep in area

In addition: calculate tx, ty and perform one move call
(include rule check and XMoveWindow unless there's a geometry
blocker ...)

BUG: 324792
FIXED-IN: 4.11.2
REVIEW: 112805
2013-09-25 23:09:18 +02:00
Thomas Lübking
4c170a2fdb snap to deco, not client on inner screen borders
client snapping is ultimately reasoned by fitt's law
and inner borders are not infinite

BUG: 323504
FIXED-IN: 4.11
REVIEW: 112103
2013-09-25 23:09:17 +02:00
Thomas Lübking
06b482f725 pack to client, not deco
this makes packing following the snapping behavior

REVIEW: 112807
2013-09-25 23:09:08 +02:00
Thomas Lübking
c6580ce696 add int Screens::intersecting(QRect)
REVIEW: 112910
2013-09-25 21:38:17 +02:00
Thomas Lübking
05bc5bfc0b extend fadeout animation duration to 600ms
compensated by a QuartOut shape, this keeps the
effect alive while the sheet or similar effects run
without much visual stretch

Covers issue until there's AnimationEffect::determine()

CCBUG: 321897
semi Fixed in 4.11.2
REVIEW: 111798
2013-09-24 21:31:07 +02:00
Thomas Lübking
6303c8d573 sanitize user/fullscreenable condition
whether or not a window is maximizable does really not
matter (it's not if the size is locked, so the
maximized size is the only size) but only if the
window can take the fullscreen geometry.

otoh, the size restrictions (maximum size, fixed aspect)
should be honored by default but still ignorable by rule

BUG: 324733
FIXED-IN: 4.11.2
REVIEW: 112654
2013-09-24 21:30:49 +02:00
Thomas Lübking
79d6c47a46 group aware restack accounts layer compatibility
the restack code stacks under all members of an application
this is a problem if the group contains a keep below or desktop
etc. (while the other window is a normal one) what resulted in
restacking the client "invalidly" above the window of the other
layer but below all other memberso of its own group for no reason

REVIEW: 112627
CCBUG: 110543
2013-09-24 21:29:54 +02:00
Thomas Lübking
51c3c6cc42 no VD change for activation & unreasonable policy
F(S)UM mean "the focus is where the mouse is"
the mouse is not on the other virtual desktop
(and it was even granted regardless of the actual geometry/position)

The "unreasonable" focus policies expose an issue about
the present linked handling of "allow activation" and
"allow raising" (see https://git.reviewboard.kde.org/r/110919/ )

Activation would match "extreme" (if the window maps on the same
virtual desktop, half a mile away from the mouse, it won't
receive the focus) but not regarding raising (which is actually
an issue entirely different from FSP)

REVIEW: 112585
CCBUG: 80897
2013-09-24 21:23:36 +02:00
Thomas Lübking
3eb0b27d00 windowgeometry effect, keep hint inside screen
and use passed geometry parameter to position the labels
(required with resize effect because the actual geometry is
not updated)

REVIEW: 112849
2013-09-24 00:50:55 +02:00