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
David Edmundson
5115d54926
Multitouch on hwcomposer
...
REVIEW: 123796
2015-05-15 13:28:29 +01: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
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
Martin Graesslin
6a66d84f5c
[backends/hwcomper] Initial support for input handling
...
Unfortunately on libhybris enabled systems libinput doesn't work, thus
the backend needs to handle input events which can be read from hybris.
So far the backend only handles touch events properly, though some
aspects look wrong. E.g. motion gives only for one touch contact point.
Unfortunately the documentation is quite weak, so there might be
something important missing.
2015-05-09 16:22:27 +02:00
Martin Gräßlin
1f62c0acb0
[backends/hwcomposer] Handle OutputInterfaces in Backend
...
Allows to read the DPI information and export the physical display
size from it. DPI is scaled by 1000 in hwcomposer, split by X and Y,
which allows to calculate size in mm from pixel size.
2015-05-08 21:41:38 +02:00
Martin Gräßlin
af134dbbda
Fix build
...
Some day I will understand CMake syntax. Promised!
2015-05-08 13:19:04 +02:00
Martin Gräßlin
e9e055dcca
Call Workspace::clientHidden when ShellClient gets destroyed
...
Ensures that active_client gets changed if it was a ShellClient.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
597a9da77f
Workspace::activateNextClient and clientHidden operate on AbstractClient
...
This is required to change the active_client after the active_client
closes.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
f55c086007
Change Workspace::clientRemoved to carry an AbstractClient
...
At the same time emit it when a ShellClient get's removed. This ensures
it gets removed from e.g. the FocusChain.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
8d3ee65269
[wayland] Don't set surface on Toplevel for non Xwayland-Clients
...
For other clients we are only interested in the shell surfaces.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
28d314a487
[wayland] Create a DataDeviceManager in wayland server
...
Makes QtWayland way more happy.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
6826b9eb94
[autotests] Adjust to changes regarding AbstractClient
...
We need a Mock for AbstractClient and our mock Client needs to
inherit from it.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
912ab71abd
ShellClient inherits AbstractClient
...
This allows to make ShellClient behave more like a Client and allows
to activate it. Some pieces for activating are still missing.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
b6f793090e
Toplevel::setOpacity becomes virtual
...
It calls unconditionally into NETWinInfo.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
23862e512d
Move implementation of ::palette to AbstractClient
...
Includes moving of the colorscheme and DecorationPalette related
functionality.
2015-05-08 12:43:47 +02:00
Martin Gräßlin
38b418887a
Move minimize implementation to AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
d2884484bc
Move ::titlebarPosition to AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
a4d16debfc
Partly move shade implementation to AbstractClient
...
* properties defined in AbstractClient
* implementation of isShade moved to AbstractClient
* implementation of setShade(bool) moved to AbstractClient
* default implementation for isShadeable added to AbstractClient
* default implementation for shadeMode returning ShadeNone
* default implementation fo setShade which does nothing
2015-05-08 12:43:47 +02:00
Martin Gräßlin
254887155c
Implement virtual desktop handling in AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
1bfba1765c
Signal desktopPresenceChanged carries AbstractClient as argument
2015-05-08 12:43:47 +02:00
Martin Gräßlin
e672a53721
Move implementation of demanding attention to AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
16568804be
Demands Attention handling in Workspace operates on AbstractClient
...
Affects:
* list attention_chain
* clientAttentionChanged
* clientDemandsAttentionChanged
2015-05-08 12:43:47 +02:00
Martin Gräßlin
986308f938
Move implementation of isSpecialWindow to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4b27abd76b
Move implementation of wantsTabFocus to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1fcd1120d9
Move auto-raise handling to AbstractClient
...
Adds QTimer to AbstractClient and introduces new protected method to
start the timer.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
25e3af5988
Implement keepAbove and keepBelow in AbstractClient
...
Moves the properties and the base implementation into AbstractClient.
Methods invoke a new protected virtual method which is implemented in
Client to update the TabGroup.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
b84118a51b
Workspace::updateClientLayer operates on AbstractClient
...
Requires a virtual updateLayer in AbstractClient. Default implementation
does nothing.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d51838efc
Implement AbstractClient::isActive and ::setActive
...
Moves the implmentation to AbstractClient. Methods are no longer virtual,
setActive calls a virtual protected method which is implemented in Client
for Client specific activation code.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3527f1d4b8
Implement AbstractClient::icon
...
Moves implementation, adds a protected setter and provides the property.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
2f59f3e8b4
Move property closeable to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4d466f9ab3
Implement AbstractClient::skipSwitcher
...
Moves implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3182c8f3e5
Implement AbstractClient::isFirstInTabBox
...
Moves implementation from Client to AbstractClient. Setter is protected,
getter is no longer virtual.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4ac4a97c20
Implement AbstractClient::tabBoxClient
...
Moves the implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
ab4e798837
Remove no longer needed casts from TabBox::establish/removeTabBoxGrab
2015-05-08 12:43:46 +02:00