Commit Graph

10471 Commits (8b2a5f993699dc617b4d1d7fe3e6b4bc98fc18e6)

Author SHA1 Message Date
Martin Gräßlin 8b2a5f9936 Support for cursor change tracking in KWin::Cursor
KWin::Cursor can track changes to the cursor image. It supports a
start/stop tracking to not handle these events if nobody is interested in
them. When enabled and the cursor image changes a signal is emitted with
the serial number of the new cursor image.

To track cursor image changes xcb_xfixes_select_cursor_input is used (see
XFixes Version 5.0 protocol, section 7).

This could be useful for the zoom effect when it replaces the cursor.

REVIEW: 110519
2013-05-28 08:02:59 +02:00
Martin Gräßlin 17e38f3357 Remove "Block global shortcuts" global shortcut
This shortcut did not make any sense to me, because you could block the
global shortcuts for KWin, but not re-enable them again. So once blocked,
it was blocked for ever till kwin --replace &.

This is in opposite to the commit message which introduced it
(see BUG 108961).

REVIEW: 110364
2013-05-28 08:02:12 +02:00
Martin Gräßlin 92bc318e45 Only execute kwin_opengl_test if OpenGL/GLX is going to be used
* don't execute OpenGL test app if user selected XRender
* don't execute OpenGL test app if user forces to EGL

If a user selected XRender because OpenGL is failing badly it might not
be the best idea to call an OpenGL application.

If the user enforces EGL it's kind of pointless to call a testapp which
uses GLX.

REVIEW: 110659
2013-05-28 07:39:17 +02:00
Martin Gräßlin 2be7da70e0 Adding support information for Decorations
Unfortunately only information available through the factory can be read.
As Factory is not a QObject we cannot use the Q_SLOT trick to get further
information dynamically from the loaded decoration plugin.

REVIEW: 110665
2013-05-28 07:37:42 +02:00
Martin Gräßlin bd01bfefb4 Improve multi-head detection for OpenGLIsUnsafe
This was currently basically broken:
* Screen number got always attached
* openGLIsBroken did not check for screen number
-> KCM reported "everything is fine" while it wasn't

Now changed to:
* only attach screen number if it is a multi-head setup
* use same logic in both Composite and CompositingPrefs

Still problematic:
* kcm is not multi-head aware so it will report everything is fine in
  case of a broken multi-head setup

REVIEW: 110631
2013-05-27 08:16:21 +02:00
l10n daemon script 79d09f5336 SVN_SILENT made messages (.desktop file) 2013-05-25 04:07:51 +00:00
l10n daemon script 3a0999688f SVN_SILENT made messages (.desktop file) 2013-05-24 03:35:07 +00:00
Martin Gräßlin 4f2f8bda11 Use GLSL 1.40 shaders as GLSL 300 es shaders for effects
Like for the scene shaders. Makes the effects work again when using
GLES 3.
2013-05-23 09:55:16 +02:00
Martin Gräßlin 5c78f7eabe GLSL 1.40 shader for lookingglass effect
REVIEW: 110574
2013-05-23 09:45:26 +02:00
Martin Gräßlin c00d468f0f GLSL 1.40 shader for CoverSwitch Reflection
Shader moved to 1.10 subdirectory and a new version for 1.40 added.
At the same time call to glPolygonMode removed as it caused errors with
core context (and seems to not be needed).

REVIEW: 110572
2013-05-23 09:43:43 +02:00
Martin Gräßlin c1486596fb GLSL 1.40 shaders for cube effect
Shaders are moved into dedicated directories 1.10 and 1.40. 1.10 contains
the already existing versions, 1.40 copies of them adjusted to GLSL 1.40.

REVIEW: 110571
2013-05-23 09:39:35 +02:00
Martin Gräßlin 2bee9a0ee0 Use generic fragment shader for Cylinder and Sphere
Shaders were broken. Issue mentioned in the TODO seems to no longer be
present (at least not on the system I used for testing).

REVIEW: 110570
2013-05-23 09:38:14 +02:00
Martin Gräßlin 58ffb7b627 GLSL 1.40 shader for invert effect
REVIEW: 110573
2013-05-23 09:34:51 +02:00
Martin Gräßlin 95656c3936 Remove the u_forceAlpha
It's unused nowadays.
2013-05-23 09:34:50 +02:00
Martin Gräßlin 769c746a06 Use GLSL 1.40 shaders as GLSL 300 es shaders
In case OpenGL ES 3 is provided by the driver we can use the GLSL 1.40
shaders as GLSL 300 ES shaders. The #version declarative is rewritten in
such a case.

REVIEW: 110590
2013-05-23 09:06:21 +02:00
Martin Gräßlin ad1203e3b2 Add defines from EXT_robustness
Seem to be missing in the headers used on build.kde.org.
2013-05-23 08:38:16 +02:00
Yuri Chornoivan 0ef7822d65 Fix typos 2013-05-23 08:34:36 +03:00
Fredrik Höglund 041be646b5 kwin: Detect and handle graphics resets
Reset compositing when the GL context state has been lost as a result
of a graphics reset.
2013-05-22 23:38:51 +02:00
Fredrik Höglund 7f0d0436e9 kwin/glx: Add support for GLX_ARB_create_context_robustness
Request a context with robust buffer access behavior, and set the reset
notification strategy to GLX_LOSE_CONTEXT_ON_RESET_ARB.
2013-05-22 23:37:15 +02:00
Thomas Lübking f2dd6d02b1 add previous screen shortcuts
REVIEW: 110521
BUG: 303083
FIXED-IN: 4.11
2013-05-22 22:25:15 +02:00
Thomas Lübking b3d8ce9044 make minimized windows first of minimized
instead of last, causingding to  general LIFO

REVIEW: 110567
2013-05-22 22:24:35 +02:00
Thomas Lübking e5028bb7fc redesign focus config GUI
REVIEW: 110001
2013-05-22 22:24:23 +02:00
Martin Gräßlin cb77b468f8 Use GlSwapStrategy in property definition
At least supportInformation did not like a char there at all.
2013-05-22 09:26:04 +02:00
Martin Gräßlin 1446fd6a38 Fix printing of GLSL version in supportInformation
If GLSL was supported, but not limited the information did not get added
to the output.
2013-05-22 09:18:05 +02:00
Martin Gräßlin 561a4f437a Enable Lanczos for IvyBridge and Mesa 9.2 again
Performance regression is fixed in Mesa 9.2. See Bug report
https://bugs.freedesktop.org/show_bug.cgi?id=61554

CCBUG: 313613
REVIEW: 110569
2013-05-22 08:20:49 +02:00
l10n daemon script a3b09b7ac4 SVN_SILENT made messages (.desktop file) 2013-05-22 03:36:01 +00:00
Martin Gräßlin 0ccb774309 Fix Typo 2013-05-21 09:27:38 +02:00
Fredrik Höglund 19796b8263 kwin: Use the robust access functions
Use glReadnPixels() instead of glReadPixels(), and glGetnUniformfv()
instead of glGetUniformfv().
2013-05-21 00:22:57 +02:00
Fredrik Höglund 2f87b7542f kwin/es: Resolve functions for GL_EXT_robustness 2013-05-21 00:22:57 +02:00
Fredrik Höglund adc581d2ab kwin: Resolve functions for GL_ARB_robustness
Only the subset of functions available in core contexts is resolved,
except for glGetnTexImageARB() and glGetnUniformivARB(), which are
not used by kwin.

Instead of setting the function pointers to NULL when the extension isn't
supported, kwin provides its own implementations that call the non-robust
versions of the functions.  This is so callers don't have to check if the
extension is supported before calling the functions.
2013-05-21 00:22:55 +02:00
Thomas Lübking 69ef2f9c16 tidy up
REVIEW: 109785
2013-05-20 16:09:27 +02:00
Thomas Lübking b7e6a334da rebase measuring to nano res + fix vsync padding
REVIEW: 109784
2013-05-20 16:09:27 +02:00
Thomas Lübking 9446abc696 hasWaitSync -> blocksForRetrace and syncsToVBlank
since that's not the same.
also autodetect triple buffering

REVIEW: 109783
2013-05-20 16:09:27 +02:00
Oliver Henshaw 2a726bb289 Merge remote-tracking branch 'origin/KDE/4.10' into master
Conflicts:
	CMakeLists.txt
	kcontrol/style/kcmstyle.cpp
	kwin/effects/boxswitch/boxswitch.desktop
	kwin/effects/slideback/slideback.desktop
	kwin/kcmkwin/kwinoptions/kwinactions.desktop
	kwin/kwin.notifyrc
	libs/solid/control/backends/fakenet/solid_fakenet.desktop
	libs/solid/control/solidmodemmanager.desktop
	libs/solid/control/solidnetworkmanager.desktop
	libs/solid/control/solidremotecontrolmanager.desktop
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
	plasma/generic/applets/notifications/contents/ui/LastNotificationPopup.qml
	plasma/generic/scriptengines/google_gadgets/plasma-packagestructure-googlegadgets.desktop
	plasma/generic/scriptengines/google_gadgets/plasma-scriptengine-googlegadgets.desktop
	solid/kcm/kcm_solid.desktop
	solid/modemmanager-0.4/solid_modemmanager04.desktop
	solid/networkmanager-0.7/solid_networkmanager07.desktop
	solid/networkmanager_fake-0.9/solid_networkmanager09_fake.desktop
	solid/wicd/solid_wicd.desktop
2013-05-20 14:18:21 +01:00
Kai Uwe Broulik 8a637e87fd Drop "effectsnotsupported" notification. It is no longer used.
BUG: 320020
2013-05-19 20:34:26 +02:00
Martin Gräßlin fca3814fd9 Fix build error without screenedges
TabBox missed an ifdef.
2013-05-19 14:12:14 +02:00
Martin Gräßlin ca5032e9d6 Drop explosion effect
It has been unmaintained and mostly broken for years.

BUG: 312176
FIXED-IN: 4.11
REVIEW: 110513
2013-05-19 09:56:04 +02:00
Script Kiddy 7e1386f415 SVN_SILENT made messages (.desktop file) 2013-05-18 10:23:03 +02:00
Script Kiddy d2c32dc36e SVN_SILENT made messages (.desktop file) 2013-05-17 14:36:18 +02:00
Martin Gräßlin 59690ee625 Revert the change for when to emit the maximizedChanged signal
It broke the maximize window effect.

REVIEW: 110468
2013-05-17 11:09:49 +02:00
Martin Gräßlin 76d96506dc Remove damage argument in Toplevel::resetDamage
We always reset with the complete window geometry, so the subtracting
doesn't make any sense. We can just always set the damage to an empty
region.

REVIEW: 110438
2013-05-17 10:07:45 +02:00
Script Kiddy e5316fa9d9 SVN_SILENT made messages (.desktop file) 2013-05-17 09:43:27 +02:00
Ralf Jung d54176f52a Change default refresh rate to 60Hz
This changes the default refresh rate (which KWin uses if it cannot get the rate from the screen) from 50Hz to 60Hz.
There are two reasons for this:
- When plugging out the last active screen, even without calling xrandr the X server changes the screen geometry to some built-in minimum (320x200), with, of course, no information about the refresh rate. As a result, KWin assumes 50Hz and restarts the compositor to accommodate for this change, only to change it again soon thereafter when there's a screen again.
- I know of nobody using a 50Hz screen. Most people use 60Hz, some use 120Hz, but 50Hz seems pretty rare to me.

REVIEW: 110454
2013-05-16 16:53:42 +02:00
Aurélien Gâteau 9aea91166b Improve kwin_killer_helper dialog
Simplify dialog text, using different text for local and remote
processes.

Replace "KWin" in the dialog name with "Window Manager".

REVIEW: 110363
2013-05-16 09:39:11 +02:00
Thomas Lübking 8f4b3c33a8 connect toplevel to in-loop screenCount() signal
required because Screens::changed is emitted queued in case of timer shortcut
since a direct signal would cause problems on screen resizes (or rotations,
for that matter) since at that time QDesktopWidget::screenGeometry(int) -xrandr-
is updated, but QDesktopWidget::screen(int)->geometry() (root window) is NOT,
resulting in an invalid value in geometry.cpp/Workspace::desktopResiized(),
thus a "capped" overlay window

However, w/o the count updated we re-encounter what RR 110119 was supposed to fixed
in the first place ...

REVIEW: 110385
BUG: 319848
FIXED-IN: 4.11
2013-05-15 22:18:29 +02:00
Thomas Lübking 18332d3ddb revert to NON obosolete signtature
the signature is obsolete in KF5 but mandatory in KDE4
not using it so far breaks the protocol thus kstart temp.
rules fail

REVIEW: 110386
2013-05-15 22:18:29 +02:00
Thomas Lübking b3a12c513e add mnemonics to tabbing and "more actions"
BUG: 302833
FIXED-IN: 4.11
REVIEW: 110402
2013-05-15 22:18:29 +02:00
Thomas Lübking 7efc42774f delay withdraw of support props
The CM selecton withdraw delay was introduced to mostly unburden
plasma from recreating the theme on temporary changes, but since
plasma also watches some properties hinting supported features
and acts in consequence, this isn't sufficient and actually causes
two theme changes instead of one in the case of a regular suspend

REVIEW: 110232
CCBUG: 179042
2013-05-15 22:18:29 +02:00
Thomas Lübking dc1a489f91 don't RE-claim CM selection
stealing it from ourself is reported to be able
to confuse KWindowSystem about the state.
Also it causes minor but unnecessary overhead.

REVIEW: 110231
CCBUG: 179042
2013-05-15 22:18:28 +02:00
Script Kiddy f668277b1b SVN_SILENT made messages (.desktop file) 2013-05-14 17:36:07 +02:00