Commit graph

13202 commits

Author SHA1 Message Date
Martin Gräßlin
a9649885ed [wayland] Disable Qt's client side decoration for KWin
KWin's own windows don't use decorations, so we don't want Qt's
decos either.
2015-05-18 15:31:39 +02:00
Martin Gräßlin
0853445dce Don't pass pointer focus to a Toplevel which is not yet ready for painting 2015-05-18 15:30:10 +02:00
Martin Gräßlin
0dda7b3f94 Drop Client::m_frameWrapper workaround for reparenting deco
No longer used, so we can just drop it.

Thanks to QtWayland for emitting a warning, which made me find this
useless code.
2015-05-18 08:01:33 +02:00
Martin Gräßlin
30e6ae34d7 Delay desktopPresenceChanged in EffectsHandlerImpl instead of Workspace
The signal might be emited by Workspace just before a Client gets
destroyed. In that case the argument carried by the queued event is no
longer valid and causes problems. In EffectsHandlerImpl we can queue
it without problems as the EffectWindow also stays valid if the Client
gets destroyed. The referenced Deleted gets destroyed with a deleteLater,
thus will be after the signal is emitted.

BUG: 347490
REVIEW: 123729
2015-05-18 08:01:33 +02:00
Thomas Lübking
e42c874859 Merge branch 'Plasma/5.3' 2015-05-17 22:23:27 +02:00
Thomas Lübking
e6176ffc02 fix CM reselection
only return early if we cannot create a
selectionwatcher, otherwise the claiming
code turns unreachable after the creation
of cm_selection

BUG: 347813
REVIEW: 123826
2015-05-17 22:13:25 +02:00
Thomas Lübking
0529d0b787 use mode based freq calc on all drivers 2015-05-15 23:55:28 +02:00
Thomas Lübking
f79cdc6b33 fix building w/o EGL better
"!VARIABLE" does not what you think
CMake syntax is weird ;-)

http://www.cmake.org/cmake/help/v3.0/command/if.html#command:if
http://www.cmake.org/pipermail/cmake/2011-November/047239.html
2015-05-15 23:55:28 +02:00
Thomas Lübking
8855f47f34 lazy setting of xbc properties on qApp
just a wild guess - the crashes showed up
somewhen after the early setting of the property/
X11Info access - if this indeed is the cause, they
should disappear or only appear after actually using
the detect button. We'll see.

CCBUG: 346748
REVIEW: 123777
2015-05-15 23:55:28 +02:00
Thomas Lübking
8ba16371e7 stall wobbling while screen is transformed
transformed screens prevent hardware clipping
leading through filtering subquads
This requires to subquad in the painting pass
what is not supported for non rectangular
qauds ands presently aborts (in debug builds)
if any quad is transformed (as by eg. the wobbling)

REVIEW: 123733
BUG: 338972
2015-05-15 23:55:28 +02:00
Thomas Lübking
538ff0c8aa ignore elevation list while screen is locked
elevated windows would appear above the locker
pot. leaking information

BUG: 347466
2015-05-15 23:55:28 +02:00
Thomas Lübking
3158e987fa prefer query Screens::refreshRate()
ScreenInfo::rate is reporting 50Hz (on at least nvidia)
... AGAIN! * sigh*

In addition we check for __GL_SYNC_DISPLAY_DEVICE to pick
the rate of the screen that the driver will actually sync to
(hopefully...)

The patch is limited to nvidia systems for 5.3, applied everywhere
in master (ie. will be in 5.4 unless there's some problem)

BUG: 347360
REVIEW: 123693
2015-05-15 23:55:27 +02:00
Thomas Lübking
3597959c0e add Screens::name(int screen); STUB but for XRandr
required to compare __GL_SYNC_DISPLAY_DEVICE and
later on to assign windows to an output rather than
a screen number
2015-05-15 23:55:27 +02:00
Thomas Lübking
2d6df416b6 add OutputInfo class to obtain output names 2015-05-15 23:55:27 +02:00
Thomas Lübking
c7f13c7266 add refreshRate to Screens. STUB but for XRandr!
the randr refreshrate is calculated from the current mode
2015-05-15 23:55:27 +02:00
Thomas Lübking
0a3155972b forward resource modes next to crtcs
modes will be required for proper refreshrate detection
2015-05-15 23:55:27 +02:00
Thomas Lübking
c56d64b837 desk grid: do not recreate DesktopButtonsViews
Same issue as with present windows closers: qml is slow
Interestingly "hide" means "hide" here and there're also
no visual artifacts.

BUG: 347339
REVIEW: 123668
2015-05-15 23:55:27 +02:00
Thomas Lübking
b3bd9ea144 make switchWindow FROM stickies act on current VD
it's probably the user expectation and few windows
are on all desktops

BUG: 331512
REVIEW: 123640
2015-05-15 23:55:26 +02:00
Thomas Lübking
77047aa555 updateXTime before sending a takeFocus message
old timestamps confuse clients

BUG: 347153
REVIEW: 123639
2015-05-15 23:55:26 +02:00
Thomas Lübking
0da58680fc window aperture always needs to cancel
even if the window is invisible
fade out instead of NOOP or "restorage"

BUG: 347174
REVIEW: 123636
2015-05-15 23:55:26 +02:00
Thomas Lübking
0508528461 # This is a combination of 2 commits.
# The first commit's message is:

do not switch desktop on resizing windows

REVIEW: 123599

# The 2nd commit message will be skipped:

#	fix screenedge flipping merge
2015-05-15 23:55:26 +02:00
Thomas Lübking
7a6ee1c7bb break desktopshowing state from cover & flipswitch
REVIEW: 123550
CCBUG: 346837
2015-05-15 23:55:26 +02:00
Thomas Lübking
cfa1d612fe Prefer singleton transient leader on activateNext
instead of "just" the direct transient.

Reason is that many windows set dialogs transient
for an entire group (eg. all their document windows)

If there's only one window, that is equivalent to choosing
the direct transient leader.

Originally I wanted to allow this for any amount of
leaders and picked the first one, but  that means if
you open 2 kwrite windows (from one PID!) and an
open dialog for kwrite #2 and close the latter,
the focus would be passed to kwrite #1

-> The focus chain is the better choice here.
(One could look up all leaders in the focus chain
OR the stack and use the most recent/top one,
but that's probably voodoo)

REVIEW: 123691
CCBUG: 347437
2015-05-15 23:55:26 +02:00
Thomas Lübking
87a3d01a75 lazy setting of xbc properties on qApp
just a wild guess - the crashes showed up
somewhen after the early setting of the property/
X11Info access - if this indeed is the cause, they
should disappear or only appear after actually using
the detect button. We'll see.

CCBUG: 346748
REVIEW: 123777
2015-05-15 22:02:52 +02:00
Thomas Lübking
82e0601af9 stall wobbling while screen is transformed
transformed screens prevent hardware clipping
leading through filtering subquads
This requires to subquad in the painting pass
what is not supported for non rectangular
qauds ands presently aborts (in debug builds)
if any quad is transformed (as by eg. the wobbling)

REVIEW: 123733
BUG: 338972
2015-05-15 22:02:47 +02:00
Thomas Lübking
89195c7e83 ignore elevation list while screen is locked
elevated windows would appear above the locker
pot. leaking information

BUG: 347466
2015-05-15 22:02:39 +02:00
Thomas Lübking
c08038e0a6 prefer query Screens::refreshRate()
ScreenInfo::rate is reporting 50Hz (on at least nvidia)
... AGAIN! * sigh*

In addition we check for __GL_SYNC_DISPLAY_DEVICE to pick
the rate of the screen that the driver will actually sync to
(hopefully...)

The patch is limited to nvidia systems for 5.3, applied everywhere
in master (ie. will be in 5.4 unless there's some problem)

BUG: 347360
REVIEW: 123693
2015-05-15 22:02:39 +02:00
Thomas Lübking
5779e6844d add Screens::name(int screen); STUB but for XRandr
required to compare __GL_SYNC_DISPLAY_DEVICE and
later on to assign windows to an output rather than
a screen number
2015-05-15 21:59:44 +02:00
Thomas Lübking
b85d5666c1 add OutputInfo class to obtain output names 2015-05-15 21:59:38 +02:00
Thomas Lübking
03ab846da8 add refreshRate to Screens. STUB but for XRandr!
the randr refreshrate is calculated from the current mode
2015-05-15 21:59:36 +02:00
Thomas Lübking
f916cb1aa5 forward resource modes next to crtcs
modes will be required for proper refreshrate detection
2015-05-15 21:59:08 +02:00
Thomas Lübking
0b334f2a70 desk grid: do not recreate DesktopButtonsViews
Same issue as with present windows closers: qml is slow
Interestingly "hide" means "hide" here and there're also
no visual artifacts.

BUG: 347339
REVIEW: 123668
2015-05-15 21:59:00 +02:00
Thomas Lübking
56fce0adc7 make switchWindow FROM stickies act on current VD
it's probably the user expectation and few windows
are on all desktops

BUG: 331512
REVIEW: 123640
2015-05-15 21:58:56 +02:00
Thomas Lübking
c2ba765820 updateXTime before sending a takeFocus message
old timestamps confuse clients

BUG: 347153
REVIEW: 123639
2015-05-15 21:58:48 +02:00
Thomas Lübking
e0c3b4eed3 window aperture always needs to cancel
even if the window is invisible
fade out instead of NOOP or "restorage"

BUG: 347174
REVIEW: 123636
2015-05-15 21:58:41 +02:00
Thomas Lübking
5d09eaae1f do not switch desktop on resizing windows
REVIEW: 123599
2015-05-15 21:58:37 +02:00
Thomas Lübking
7a7d79a168 break desktopshowing state from cover & flipswitch
REVIEW: 123550
CCBUG: 346837
2015-05-15 21:58:30 +02:00
David Edmundson
5115d54926 Multitouch on hwcomposer
REVIEW: 123796
2015-05-15 13:28:29 +01:00
l10n daemon script
f0e0568b37 SVN_SILENT made messages (.desktop file) 2015-05-15 12:12:44 +00:00
l10n daemon script
cea4b7faeb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-05-15 10:25:45 +00:00
l10n daemon script
01b64c10c0 SVN_SILENT made messages (.desktop file) 2015-05-14 12:10:27 +00:00
l10n daemon script
a3c7eac1b8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-05-14 10:21:14 +00:00
David Edmundson
42768d515a Add missing include
Reviewed-by: Martin G
2015-05-12 14:26:48 +01:00
Martin Gräßlin
51bb4cf2a1 [scripting] Register KWin::AbstractClient in declarative scripts 2015-05-12 11:32:05 +02:00
Martin Gräßlin
a0c45a68b8 Disable GBM if we build without EGL support 2015-05-12 10:03:00 +02:00
Martin Gräßlin
4bf479aca2 [libkwineffects] GL_NONE instead of None in GLTexture
It's about GL not about Xlib, so use GL_NONE instead of None.
Additional bonus: it compiles if the file does not include Xlib.
2015-05-11 16:25:00 +02:00
Martin Gräßlin
d6700ff9f9 [backends/hwcomposer] Forward input events to main thread
Libhybris input events are generated in a different thread, but we want
them in the main thread (InputRedirection and KWayland are not (yet)
thread safe). Thus all events need to be send to the main thread using
QMetaObject::invokeMethod.
2015-05-11 15:43:30 +02:00
Martin Gräßlin
d5d304c2f6 [backends/hwcompser] Toggle blank screen on power button press
Also blocks compositor while screen is turned off.
2015-05-11 15:24:23 +02:00
Martin Gräßlin
533a39bc3e [backends/hwcomposer] Perform mapping of key codes
Not all key codes are mapped yet. Those not mapped have KEY_RESERVED
as mapping value and those are not forwarded to InputRedirection.
2015-05-11 14:28:32 +02:00
Martin Gräßlin
79c94d42f3 [wayland] Support shm buffers on GLES 2015-05-11 11:11:16 +02:00