Commit graph

11190 commits

Author SHA1 Message Date
Sebastian Kügler
ab08d3da9b Don't look for plasma headers under KDE 2013-09-30 11:32:16 +02:00
Martin Gräßlin
4ddaea4824 Welcome back KWin Scripts KCM!
Currently not of much use as installing a local script is disabled and
GHNS dialog seems broken.
2013-09-30 11:19:36 +02:00
Martin Gräßlin
c118b1147d [kwinscripts] Adjust target link libraries for kwinscripts KCM 2013-09-30 11:19:02 +02:00
Martin Gräßlin
2e47f34398 [kwinscripts] Disable installing a local script for the moment
Plasma::Package changed in a way that it's not just a trivial change
to get it compile again.
2013-09-30 11:17:40 +02:00
Martin Gräßlin
469a0c255c [kwinscript] Adjustments to obsoleted members
* KAboutData
* removing insert catalog
* KIcon -> QIcon::fromTheme
* missing moc
2013-09-30 11:16:36 +02:00
Martin Gräßlin
5bdb960413 [kwinscripts] kcmshell4 -> kcmshell5 2013-09-30 11:14:33 +02:00
Martin Gräßlin
6ada27e294 [kwinscripts] slots -> Q_SLOTS 2013-09-30 11:14:05 +02:00
Martin Gräßlin
2017f82670 [kwinscripts] KFileDialog -> QFileDialog 2013-09-30 11:13:38 +02:00
Martin Gräßlin
3b07653613 Make more methods in kwin/utils.cpp available to the rules KCM
Needed as the kcm includes cursor.

Sorry Eike ;-)
2013-09-30 10:56:56 +02:00
Martin Gräßlin
098b8ef75d Welcome back kwinrules KCM! 2013-09-30 09:57:25 +02:00
Martin Gräßlin
98b5f64c38 [kwinrules] Adjust linking of kwinrules KCM to Qt5/KF5 2013-09-30 09:56:35 +02:00
Martin Gräßlin
dd0537fd49 [kwinrules] kcmshell4 -> kcmshell5 2013-09-30 09:55:38 +02:00
Martin Gräßlin
689b221583 [kwinrules] workaround for assert in QFormLayout 2013-09-30 09:55:13 +02:00
Martin Gräßlin
5b1f4a4131 [kwinrules] Use KWin::Cursor to map Qt::CursorShape to an X cursor
Needed for grabbing the pointer.
2013-09-30 09:53:56 +02:00
Martin Gräßlin
7d21d612fe [kwinrules] Use native event filter for mouse button release detection
The event filtering on Qt level does not work any more. The information
is not updated properly. Grabbing the mouse through QWidget resets the
cursor shape to the default shape, so it cannot be used.

As we don't want Qt to ever see the events it's a good idea to use a
native event filter to filter the events away before they are delivered
to Qt.

To simplify the handling the grabber widget is put into a QScopedPointer.
2013-09-30 09:53:01 +02:00
Martin Gräßlin
3956c73c53 [kwinrules] KIcon -> QIcon::fromTheme 2013-09-30 08:44:57 +02:00
Martin Gräßlin
6dd47092f7 [kwinrules] drop componentData() 2013-09-30 08:44:16 +02:00
Martin Gräßlin
e2afaacdb6 [kwinrules] Adjust to new KAboutData 2013-09-30 08:43:40 +02:00
Martin Gräßlin
e8e8c210b6 [kwinrules] KFileDialog -> QFileDialog 2013-09-30 08:43:09 +02:00
Martin Gräßlin
5eb7a22ef8 [kwinrules] slots/signals -> Q_SLOTS/Q_SIGNALS 2013-09-30 08:01:46 +02:00
Martin Gräßlin
a957eedc61 Welcome back kwinoption config modules
* Actions
* Advanced
* Focus
* Moving
* Window Behavior
2013-09-30 07:32:53 +02:00
Martin Gräßlin
acb02be357 [kwinoptions] kcmshell4 -> kcmshell5 2013-09-30 07:32:23 +02:00
Martin Gräßlin
d4735333d5 [kwinoptions] Adjust target link libraries for Qt5/KF5 2013-09-30 07:31:40 +02:00
Martin Gräßlin
65516b64b7 [kwinoptions] Add missing includes 2013-09-30 07:30:06 +02:00
Martin Gräßlin
4413859084 [kwinoptions] Drop componentData() 2013-09-30 07:29:38 +02:00
Martin Gräßlin
e1e76f9e17 [kwinoptions] Port KAboutData
Not sure whether it's still useful given the plugin data, but it's such
a nice who's who of the first KDE developer generation.
2013-09-30 07:27:48 +02:00
Martin Gräßlin
d70ad3b275 [kwinoptions] slots -> Q_SLOTS 2013-09-30 07:26:46 +02:00
Martin Gräßlin
62a0a08a0e Welcome back KWin screen edges KCM
Screenedges KCM is adjusted to build against Qt5. Most notable
changes:
* no longer links kworkspace as ScreenPreviewWidget got moved into
  the KCM
* ui file is adjusted to not crash (see git log of kcmdesktop)
2013-09-29 10:27:48 +02:00
Martin Gräßlin
a4a436807f Make the ScreenPreviewWidget useable again
Removes the functionality for Plasma::Wallpapers as that doesn't exist
any more and is not needed by the Screenedges KCM. The KCM still has
way too many functionality, but that can stay for the moment as it's
probably best to reimplement the monitor and the actions in QML.
2013-09-29 10:27:48 +02:00
Martin Gräßlin
fc41374111 Move ScreenPreviewWidget from kworspace libs to KWin's screenedges kcm
The ScreenPreviewWidget doesn't make much sense any more for the general
useage as it's not QML based and thus not suited for any usage in Plasma.
This means that features like previewing the Plasma wallpaper cannot
work any more.

The Widget is only used in a few KCMs (KDM, Screensavers, Screenedges).
Currently we expect that KDM and legacy X Screensavers won't make it into
the next release, it makes sense to just move the widget to screenedges
where it's still useful.

This change has been discussed with notmart.
2013-09-29 10:27:47 +02:00
Martin Gräßlin
5d185a9adc Welcome back to kcmkwin - so far only desktop
Note to people compiling from source: it's only the default of the
cmake variable which got changed. You have to delete the variable
from the cache to get this change.
2013-09-27 13:45:25 +02:00
Martin Gräßlin
f8e4dcc115 Explicitly set verticalSpacing in QFormLayouts of kcm kwindesktop
Without a set verticalSpacing in QFormLayout the code hits an assert
in Qt.
2013-09-27 13:43:52 +02:00
Martin Gräßlin
72c76ce423 Port KCMDesktop to Qt 5 2013-09-27 13:43:15 +02:00
Thomas Lübking
22f0e62cb8 Merge branch 'KDE/4.11' 2013-09-26 19:44:35 +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
Martin Gräßlin
c2aacca735 Ensure that our compositing context is current when starting to render
With QtQuick2 KWin is no longer the only one having an OpenGL context
thus we need to ensure that our context is current. If not it results in
highly interesting crashes when our code is executed on the QtQuick
context.

The context is made current before we swap and before we start to render
a frame. During rendering a frame it's not made current again based on
the assumption that while we render there is no interference. If this
assumption doesn't hold, we need a more sophisticated solution at the
moment it seems to fix the crashes.
2013-09-26 11:13:40 +02:00
Martin Gräßlin
080113e04c Introduce a new backtab test handling in TabBox invokation
Our back shortcut is registered as Alt+Shift+Backtab but our converted
Qt key coming into the test method is Alt+Shift+Tab. The logic so far
made this always fire for the normal Alt+Tab shortcut as at some point
the Shift modifier gets removed to do the test.

To handle it properly we first have to extract all the modifiers to just
get the key. If the key is Tab, we replace it with Backtab, combine it
with the extracted mods so it will be Alt+Shift+Backtab which matches
the registered shortcut.

The existing backtab solution can probably be removed and is clearly
wrong as it uses the keys as flags which they aren't.
2013-09-26 09:50:27 +02:00
Martin Gräßlin
e448a4bfc1 Merge branch 'KDE/4.11'
Conflicts:
	kwin/main.cpp
2013-09-26 07:54:51 +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
3594550b14 Merge branch 'KDE/4.11'
Conflicts:
	kwin/eglonxbackend.cpp
	kwin/glxbackend.cpp
2013-09-25 23:21:36 +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
Martin Gräßlin
67590e7240 Use KF5::KInterProcessWindowing in target_link_libraries
Seems to have changed in frameworks. Unbreaks the build.
2013-09-25 10:18:06 +02:00
Martin Gräßlin
255140291f Only compare to last screenedge trigger time when triggered at least once
Greetings from the "wtf, how could that have ever worked" department.
This fixes the screenedge activation on Qt 5. The last trigger time is
only set after an activation so before activation it is invalid thus the
comparison to any value doesn't make sense.
2013-09-25 09:44:48 +02:00
Martin Gräßlin
be3a0cf4ca Fix reading of window properties from effects
That's what you get for changing code you cannot properly test. The
calculation was completely messed up. Now reads the correct byte size
for the byte array. In addition the usages in the effects are improved
to cast the data into the proper uint32_t values instead of the more
generic long. After all if the format is 32, the length is 32 and not
a long.
2013-09-25 09:12:31 +02:00
Thomas Lübking
feafbca941 Merge branch 'KDE/4.11' 2013-09-24 21:33:46 +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