Commit graph

54 commits

Author SHA1 Message Date
Casian Andrei
01adbe6dc5 Implement color correction (per output)
Add an option to kcmcompositing in the 'Advanced' tab, to enable or
disable color correction. It is specified that it's experimental and it
needs Kolor Manager.

Before painting for a particular screen, ColorCorrection::setupForOutput
should be called.

A screen property is added for WindowPaintData.

In kwinglutils, The fragment shaders are intercepted before being
compiled and they get a couple of lines of code inserted in order to do
the color correction. This happens only when color correction is enabled, of
course.

For D-Bus communication with KolorServer, everything is async.

The implementation basically manages a set of color lookup tables for
different outputs and for different window regions. These are taken via
D-Bus. Each lookup table has around 700 KB.

This commit reintroduces the changes from the former merge with the
"color2" branch. In this form, it can be easily reverted.

REVIEW: 106141
2012-11-13 22:47:09 +02:00
Casian Andrei
a46d247702 Revert "Merge branch 'color2'"
This merge is incomplete and it does not include the review number of
the associated review request. It should have been pushed as a single
commit, because the merged commits were not intended to be published in
their form.

This reverts commit dcba90263069a221a5489b1915c5cf1ca39d090c, reversing
changes made to 50ae07525c7fde07794e7548c3d6e5a69cb1a89d.

Conflicts:
	kwin/scene_opengl.cpp
	kwin/scene_opengl.h
2012-11-13 22:19:32 +02:00
Kai-Uwe Behrmann
479be668d7 Merge branch 'color2'
Conflicts:
	kwin/libkwineffects/kwinglplatform.cpp
2012-11-07 23:54:18 +01:00
Martin Gräßlin
6417246358 Add GHNS support for Scripted KWin Effects
BUG: 296773
FIXED-IN: 4.10
REVIEW: 107051
2012-10-28 09:49:02 +01:00
Casian Andrei
fadb6636af CC: No html translatable text. Only <p> and <strong> remaining 2012-08-24 17:07:13 +03:00
Casian Andrei
a417888b0e Implement color correction support
The implementation consists of a class in libkwineffects.

There are some slight modifications in the compositor. Regions for
different outputs are drawn at different times.

Currently only per output color correction is implemented. However, the
grounds are prepared for implementing per window color correction
easily.

The ColorCorrection class needs to communicate via D-Bus with a KDED
module, KolorServer, which is a part of KolorManager.

The only visible part for the user consists of a check box in the
advanced tab for the compositing KCM.

The actual correction is done by injecting a piece of code in the
fragment shader, code that does a 3D lookup into a special color lookup
texture. The data for these textures is obtained from KolorServer. All
D-Bus calls are async.
2012-08-20 20:37:25 +03:00
Martin Gräßlin
d14cf2da92 Show detailed information why an effect cannot be loaded
Effects can specify their minimum requirements in their
desktop file:
* OpenGL
* OpenGL 2 (GLSL required)
* Shaders (either ARB or OpenGL 2)

The configuration module uses this information in combination
with which backend KWin is currently using. So if e.g. OpenGL
is used and an effect requires OpenGL 2 a detailed error
message can be showed that OpenGL 2 is required.

BUG: 209213
FIXED-IN: 4.9.0
REVIEW: 104847
2012-05-15 18:02:57 +02:00
Yuri Chornoivan
42aa574e6b fix various typos 2012-01-29 12:39:02 +02:00
Thomas Lübking
19fceb5216 add GUI config for graphicssystem
REVIEW: 103431
2012-01-24 22:42:49 +01:00
Martin Gräßlin
95430bc741 Remove window switching combo box from compositing UI
Reduces duplication of settings in different areas and was only
providing a small subset of the possible window switching capabilities.
With BoxSwitch being possible to be rendered as a "normal" window
switcher it does not make much sense anyway.
2011-11-10 21:29:45 +01:00
Chusslove Illich (Часлав Илић)
34a397e048 i18n: Contexts. 2011-08-27 11:41:53 +02:00
Martin Gräßlin
5213c4aff6 Drop direct rendering setting
The advanced compositing option "direct rendering" could only
correctly be honored in the case of proprietary NVIDIA drivers.
In all other cases playing with the setting was most likely
harmful as it could result in inconsistent states and the
option not to be honored at all.

This patch resolves this issue by moving the detection whether
to use a direct rendering context completely into the hands of
 the set environment variables or the helper program:
* if LIBGL_ALWAYS_INDIRECT is set, we use an indirect context
* if KWIN_DIRECT_GL is set, we use a direct context
* if none of the two are set, we use the helper program, if it
  returns 0 we create a direct context, otherwise we set
  LIBGL_ALWAYS_INDIRECT and create an indirect context

If a user really wants to influence the behavior the
environment variables can be used.

REVIEW: 102074
2011-07-31 17:40:03 +02:00
Martin Gräßlin
6cfdbfe1dc Remove compositing self-check
Removes the last bits of the self-check at compositing startup.
It seems like they were only added to XRender because they were
in OpenGL and there they are not available for quite some time.

Also removes the now obsolete disable functionality checks from UI.

REVIEW: 101756
2011-06-26 09:19:22 +02:00
Thomas Lübking
364ce6fbfc Allow the user to rearm OpenGLIsUnsafe KWIn autocrash protection
Also add a usable "doesn't work why" info and WARN! the user about clicking the rearm button.
Merge "OpenGLIsUnsafe" and "CheckIsSafe" config keys
Move the entire checking into CompositingPrefs

BUG:250865
FIXED-IN:4.7
2011-05-11 20:16:08 +02:00
Albert Astals Cid
b1cb75e52b Convert these extracomment to comment
Because:
* We have a bug in our scripts that makes extracomment not work (will try to fix this asap)
* Makes sense to be a comment since we want it to be a disambiguation text
* KUIT markers (e.g. @label) need to be in comment
2011-05-10 22:38:46 +01:00
Yuri Chornoivan
65f0763df4 fix typo: perfomed->performed 2011-05-02 10:00:49 +03:00
Martin Gräßlin
c37b7cdcba GUI option to control new GLLegacy option
Needs to be removed when compiled against GLES.
2011-05-01 13:04:29 +02:00
Martin Gräßlin
b7a0b1f97f Add some translation context for a technical combo box
Read the German translation today and it nearly started to cry :-(
I hope some context can help to translate minimization not as
ressource wasting.
2011-03-16 22:35:48 +01:00
Thomas Lübking
0c5d47f3ae unify composite activation, 'Enable' only controls initial state 2011-03-06 22:35:13 +01:00
Martin Gräßlin
cf03487331 Remove Shadow Effect.
The shadow effect is known to be broken since at least 4.5.
It is unfortunately in a state which makes it difficult to maintain
and the architecture has some serious drawbacks. Therefore it is the
best solution to replace the effect with a new and better
implementation. For more information about the new implementation
please see the discussion on KWin mailinglist:
http://lists.kde.org/?l=kwin&m=129607406517609&w=2

This also "fixes" all existing bug reports about the shadow effect.
Most of the bugs will really be fixed when the new shadow system is
implemented, if not it is a new bug and a new report should be created
for it.

Please excuse that we go this unnormal approach to mark bugs as
fixed with code removal.
BUG: 164084
BUG: 160948
BUG: 189241
BUG: 229164
BUG: 258663
BUG: 216709
BUG: 243890
FIXED-IN: 4.7.0
2011-01-30 14:26:58 +01:00
Martin Gräßlin
2f56415a21 Removing SHM and Fallback OpenGL Compositing modes.
Our primary target is Texture From Pixmap and it is supported
by all important drivers nowadays. If a driver is not able to
support TFP using OpenGL at all is probably no good idea and
XRender is more suited.
2011-01-30 14:24:48 +01:00
Aaron J. Seigo
2a86232b40 missing label; won't backport as it introduces a string and it isn't a massively critical flaw
svn path=/trunk/KDE/kdebase/workspace/; revision=1210955
2011-01-02 19:05:34 +00:00
Andrew Coles
52fa585956 Proof-reading, changing one string slightly:
* typo fix: brightning -> brightening.
* you'll -> you will (see the HIG note on contractions I mentioned in the
  previous edit)
* some grammar changes, adding a period at the end of the final message,
  and fixing the fragmented sentence beginning '(From..'.

CCMAIL: kde-i18n-doc@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=1203511
2010-12-04 12:22:11 +00:00
Andrew Coles
92737a54d9 Proof-reading, changing one string slightly.
Avoid contractions, in this case "you'll".  See the HIG for more details:

http://techbase.kde.org/Projects/Usability/HIG/Contractions

(I also changed 'have to try' to 'have to try it', to make it clearer what
it was that needed to be tried. Though, I have to admit, even I would not
have changed the string for that alone... ;). )

CCMAIL: kde-i18n-doc@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=1203508
2010-12-04 12:18:15 +00:00
Thomas Lübking
029f93127f kick trilinear filtering if favor of the lanczos filter (now default, unless blacklisted)
make the scale method configurable and align the UI for GL and Xrender

CCBUG: 243181


svn path=/trunk/KDE/kdebase/workspace/; revision=1195698
2010-11-11 19:53:19 +00:00
Martin Gräßlin
5dc513e6a4 Adding checkbox for unredirecting fullscreen windows.
FEATURE: 232532
CCBUG: 177495
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/workspace/; revision=1176432
2010-09-17 17:46:34 +00:00
Martin Gräßlin
e990055770 Less Krazy warnings please: QComboBox -> KComboBox
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1160053
2010-08-06 21:35:39 +00:00
Lucas Murray
2c6dccdb99 Make KWin system setting panels consistent with the rest of KDE again by
reverting part of r986282.
CCMAIL: christoph@maxiom.de

svn path=/trunk/KDE/kdebase/workspace/; revision=987069
2009-06-25 13:34:36 +00:00
Christoph Feck
58b9127b3e Fix layout issues in kwin kcm
* remove fixed layout spacing and margin
* respect style's QFormLayout field policy
* reduce vertical space in compositing "General" tab
* layout desktop names in two columns


svn path=/trunk/KDE/kdebase/workspace/; revision=986282
2009-06-24 13:09:58 +00:00
Martin Gräßlin
63edbaff81 Show current compositing state (disabled/suspended/active) in Desktop Effects KCM and add a button to resume/suspend compositing. So it should be easier for the user to resume compositing if he does not know about the shortcut.
CCBUG: 188118

svn path=/trunk/KDE/kdebase/workspace/; revision=955636
2009-04-18 10:07:16 +00:00
Lucas Murray
466201db06 State in the GUI that minimization breaks when always keeping taskbar
thumbnails updated.
CCBUG: 189435

svn path=/trunk/KDE/kdebase/workspace/; revision=952987
2009-04-13 05:59:02 +00:00
Lucas Murray
ac9c37c64d Merged "active screen edges" and "active desktop borders" into a single
GUI panel. This panel is currently located in System Settings -> Desktop
-> Screen Edges.
BUG: 174709

svn path=/trunk/KDE/kdebase/workspace/; revision=932929
2009-02-27 15:40:53 +00:00
Stephan Binner
7929582374 i18n style guide fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=885677
2008-11-17 18:35:18 +00:00
Lucas Murray
c00589e6d7 Added message to help users find the advanced desktop borders setting.
Allow all large labels to word wrap, fixes resizing minimum size.

svn path=/trunk/KDE/kdebase/workspace/; revision=884234
2008-11-14 13:28:13 +00:00
Lucas Murray
2cfcdf66f7 Moved desktop effect advanced options GUI from a dialog into a tab.
svn path=/trunk/KDE/kdebase/workspace/; revision=884186
2008-11-14 12:36:59 +00:00
Lucas Murray
a3f7f13f70 Cleaned up desktop effect GUI, moved screen edges to a separate tab.
svn path=/trunk/KDE/kdebase/workspace/; revision=884135
2008-11-14 11:53:25 +00:00
Martin Gräßlin
585addb450 Add a widget to assign an effect to screen edges in the kwincompositing dialog.
Remove the previous configuration for assigning screen edges from the config dialogs of the single effects.

svn path=/trunk/KDE/kdebase/workspace/; revision=880728
2008-11-06 10:42:36 +00:00
Lucas Murray
6152c37c77 Use grid layouts instead of form layouts.
svn path=/trunk/KDE/kdebase/workspace/; revision=872999
2008-10-18 13:50:32 +00:00
Lucas Murray
63ed33a219 GUI touch-ups, tab fixes and other pretty stuff.
svn path=/trunk/KDE/kdebase/workspace/; revision=872862
2008-10-18 11:34:54 +00:00
Davide Bettio
ae957480a0 usability++
see "kwin's KCM usability" mail.

svn path=/trunk/KDE/kdebase/workspace/; revision=871309
2008-10-14 13:23:50 +00:00
Luboš Luňák
2a87593638 Add a global configuration option for animation speed. See description
of Effect::animationTime() for how-to-use.
TODO: Effects need to reload config after doing the change in the kcm.
NOTE: Default TimeLine constructor now creates invalid object, it is
necessary to explicitly call setDuration() in order to ensure all
animations respect this setting.

CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=854690
2008-08-30 07:25:54 +00:00
Martin Gräßlin
e197a53ca9 Easy to use config options to select the effect for window switching (alt+tab) and for desktop switching. So now more searching through all effects to enable one effect and disable the conflicting effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=852627
2008-08-26 07:31:57 +00:00
Nick Shaforostoff
4e9d2d3a25 improvement: make systemsettings more 1024x600 netbooks friendly
svn path=/trunk/KDE/kdebase/workspace/; revision=851963
2008-08-25 02:22:56 +00:00
Malcolm Hunter
8fa1dffde8 Typo fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=794131
2008-04-06 16:29:45 +00:00
Stephan Binner
32272e9613 i18n style guide fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=757261
2008-01-04 15:26:42 +00:00
Stephan Binner
8ff45a283d i18n style guide fixes, the capitalization rules are explained at
http://developer.kde.org/documentation/standards/kde/style/basics/labels.html

svn path=/trunk/KDE/kdebase/workspace/; revision=757238
2008-01-04 14:51:24 +00:00
Rivo Laks
d351752811 Use "settings" instead of "options", that's in sync with the text on buttons
svn path=/trunk/KDE/kdebase/workspace/; revision=736291
2007-11-13 21:35:39 +00:00
Stephan Binner
3bff5f0ab2 i18n style guide fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=725921
2007-10-16 15:36:27 +00:00
Rivo Laks
c71b5539cf Show a message when compositing isn't supported
svn path=/trunk/KDE/kdebase/workspace/; revision=717750
2007-09-27 13:26:55 +00:00
Rivo Laks
86831ca7a8 Add Effects tab to the compositing config module.
It contains the list of all effects which has it's separate module ATM.

svn path=/trunk/KDE/kdebase/workspace/; revision=713933
2007-09-18 10:09:07 +00:00