Commit graph

8001 commits

Author SHA1 Message Date
Thomas Lübking
dd19f5e1a7 Unlink maximization state from actual geometry
Since clients with restricted geometry now cannot cover the entire screen by default it was necessary to unlink the state from the actual geometry to re-provide the "restore" feature.
The patch also extends the protection of the maximized state to unilateral maximizations (emacs issue)

BUG: 265568
BUG: 252314
CCBUG: 252255
review request https://git.reviewboard.kde.org/r/100606/
2011-03-08 21:48:08 +01:00
Martin Gräßlin
75d0b8403f Add KAuth support to KWin process killer
See http://svn.reviewboard.kde.org/r/4460/
Thanks to Mikael Gerdin for the patch.
CCMAIL: mikael.gerdin@gmail.com
FEATURE: 129476
FIXED-IN: 4.7.0
2011-03-07 18:03:28 +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
dcebc7481b ClientGroupItem* become signals
This needs to be improved in core. Currently ClientGroup does not yet
emit signals, as it would be difficult to connect them. Nevertheless
the effects dependency should be removed.
2011-03-06 21:15:09 +01:00
Martin Gräßlin
747afb4225 NumberDesktopsChanged becomes a signal
TODO: connect DesktopChangeOSD also to the signal
2011-03-06 20:10:11 +01:00
Martin Gräßlin
3529c34934 End PresentWindows effect after last window closed
Thanks to Marus Hähnel for this contribution to KDE.
CCMAIL: marcus@mh-development.info
FEATURE: 262540
FIXED-IN: 4.7.0
REVIEW: 100627
2011-03-06 19:08:14 +01:00
Thomas Zander
5d5cf7c1dd Usability fixes
Make the edit area disabled until the user selects he wants custom
positions.
Its a source of confusion if the user can edit the positions but doesn't
see anything happen in his decorations upon apply.  This gives immediate
feedback that the checkbox should be enabled.

Conflicts:

	kwin/kcmkwin/kwindecoration/buttonsconfigdialog.cpp
2011-03-06 14:40:13 +01:00
Martin Gräßlin
15757e953a TabBox uses signals to notify the effects
EffectsHandlerImpl just forwards the signals from TabBox. In order
to have a valid pointer to the TabBox, the TabBox is now initialized
before compositing in Workspace.
2011-03-06 12:15:16 +01:00
Martin Gräßlin
94c301a089 Move connection code to Client and unmanged into own method
--Code Duplication
2011-03-06 11:13:11 +01:00
Martin Gräßlin
a404ec4259 WindowUnminimized becomes a signal 2011-03-06 11:08:19 +01:00
Martin Gräßlin
012222037e WindowMinimized becomes a signal 2011-03-06 10:55:27 +01:00
Martin Gräßlin
edd0950f96 WindowOpacityChanged becomes a signal 2011-03-06 10:30:23 +01:00
Martin Gräßlin
a728823fbe Fix passing matrixes to the shaders
QMatrix4x4 accepts data in row-major order, but returns them in
column-major order, which is not documented and because of that
I expected them to be in row-major order.
This commit fixes it and rewrites the shaders to apply the matrix
multiplications in the right order.
REVIEW: 100759
2011-03-06 09:13:31 +01:00
Luboš Luňák
13e6ead66e do not show hostname in titlebar if it's FQDN of localhost 2011-03-04 16:22:23 +01:00
Lamarque V. Souza
b0c43762e2 Fix two problems with one commit:
1. The I18N_ARGUMENT_MISSING that appears when moving or resizing one
window. The problem happens because when declaring the variables
myResizeString, myCoordString[0] and myCoordString_[1] i18nc tries to
replace %1, %2, %3, and %4, but those arguments are not passed here.
Using #define we avoid the argument passsage.

2. Replace QString::arg() with direct formating, which is better for
performance.

I know we should avoid #define but in this case I think it is the best
option. If anyone has a better alternative feel free to change this
commit.
2011-03-03 00:37:17 -03:00
Script Kiddy
14fa13943a SVN_SILENT made messages (.desktop file) 2011-03-02 08:40:15 +01:00
Martin Gräßlin
eeb10c69d5 Signal for windowUserMovedResize
In core a new signal is added for maximizedState change of client.
Other function calls remain as direct calls for the moment.
2011-02-28 21:03:13 +01:00
Martin Gräßlin
e355700e6e EffectsHandler emits windowDeleted signal
Workspace emits a deletedRemoved signal which the EffectsHandlerImpl translates
into a windowDeleted signal.
2011-02-27 10:47:42 +01:00
Martin Gräßlin
0795ae89ac EffectsHandler emits signal on windowActivated
EffectsHandlerImpl connects to the Workspace signal clientActivated.
The emitting of the signal is slightly moved from before the activation logic
to after the activation logic. This might change behavior in the scripting
component, but the previous code looked wrong.
2011-02-27 10:05:04 +01:00
Martin Gräßlin
0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Script Kiddy
718680dfba SVN_SILENT made messages (.desktop file) 2011-02-27 08:11:47 +01:00
Martin Gräßlin
ab6f2ba1fd EffectsHandler emits windowAdded signal
All previously existing windowAdded methods are renamed to slotWindowAdded.
EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
emitted a little bit earlier than the previous direct method call. This might
change behavior.
Another signal is added to Workspace to signal that an unmanaged is added.
2011-02-25 22:06:02 +01:00
Martin Gräßlin
c3a076b6a5 EffectsHandler emits desktopChanged signal
The first signal used between EffectsHandler and Effects.
The signal is actually emitted by the EffectsHandlerImpl and only
the interested effects connect to this signal.
EffectsHandlerImpl itself is also notified by a signal from Workspace,
allowing to remove one of the many if (effects) checks.
2011-02-25 20:41:10 +01:00
Martin Gräßlin
b3a5639967 EffectsHandler and Effect become QObjects
This is in preparation for allowing to connect effects with signals and slots.
2011-02-25 20:25:21 +01:00
Hugo Pereira Da Costa
a190d65790 more variable names cleanup 2011-02-24 19:11:12 +01:00
Hugo Pereira Da Costa
3c290e07cd cleanup variable names. 2011-02-24 17:47:38 +01:00
Hugo Pereira Da Costa
0960942f4e cleanup variable names for consistency 2011-02-24 17:37:04 +01:00
Hugo Pereira Da Costa
1aeb5fedcc ::(Style/Deco/)Helper - variable names cleanup
moved all caches to Private; added protected accessor, and updated daughter classes
accordingly. Also renamed variables for consistency with other classes
2011-02-24 17:08:41 +01:00
Hugo Pereira Da Costa
3c5c517220 Oxygen::Config - fixed writting of shadowMode. 2011-02-24 08:24:00 +01:00
Hugo Pereira Da Costa
98b415db93 Oxygen::Config - Fixed saving of ShadowCacheMode. 2011-02-24 08:22:49 +01:00
Jammy Zhou
d9d97a471b Integrate patch for gles and glsl-es version detection
Integrate Martin Gräßlin's commit b578d in http://gitweb.kde.org/scratch/graesslin/kwin-gles.git
to support GLES and GLSL-ES version detection.
2011-02-24 09:42:03 +08:00
Nicolás Alvarez
d3f9a3418c Merge KDE/4.6 into master.
Looks like everything that needed merging (66de4e47..1021789c) was already
backported or forward-ported by hand (or was a scripty commit), so this
merge does no changes, just as if I had used -s ours.
2011-02-23 20:24:42 -03:00
Hugo Pereira Da Costa
cf7f1a378a Factory: properly account for shadow configuration change when return changed status. 2011-02-23 11:21:46 +01:00
Hugo Pereira Da Costa
4abee2e112 perform all shadow configuration in ShadowCache::readConfig.
This will avoid code duplication between style and decoration.
2011-02-23 11:14:21 +01:00
Hugo Pereira Da Costa
2099e9dab0 moved Oxygen::ShadowCache and Oxygen::ShadowConfiguration from kwin/clients/oxygen to libs/oxygen
This is necessary to implement client-side shadows (for menus and drop-down lists)
2011-02-23 10:04:00 +01:00
Hugo Pereira Da Costa
c9899372ba use Oxygen::Helper rather than Oxygen::DecoHelper. 2011-02-23 09:59:31 +01:00
Hugo Pereira Da Costa
b35d3c7b65 clean-up headers to make shadow cache and configuration decoration independent. 2011-02-23 09:46:17 +01:00
Martin Gräßlin
4f12f43d5d Clean up documentation in KWin
* COMPOSITE_TODO lists many tasks already implemented or not valid any more,
  it's easier to just write a new document with concrete tasks in the wiki
* NEWCOLORSCHEME.README has been unchanged since it's first introduction in 2000.
  Does not sound any "new" to me and lists changes compared to KWM
* clients/PORTING: all important clients have been ported and what is not yet
  ported will probably never get ported. The unported decos have been moved
  to unmaintained some time ago.
* clients/REQUIREMENTS_FOR_CVS: well the requirements are not valid any more.
2011-02-20 18:22:10 +01:00
Martin Gräßlin
b57e343500 Improve message extraction
Messages from kdecorations library are extracted to libkdecorations.pot.
Messages from kwineffects library are extracted to libkwineffects.pot.
Currently there are no messages yet in kwineffects, so it's for future use.
2011-02-20 16:02:33 +01:00
Martin Gräßlin
90bebd853d Drop COMPOSITE_HOWTO
Nowadays compositing just works, we do not need a howto anymore and
it's outdated anyway.
2011-02-20 14:35:28 +01:00
Martin Gräßlin
aee7dab1a6 Forward declaration++ 2011-02-20 14:19:51 +01:00
Martin Gräßlin
9d9bd615fc HACKING moves to community.kde.org 2011-02-19 17:17:03 +01:00
Jammy Zhou
f970eab391 return correct GLSL version 2011-02-19 21:03:04 +08:00
Martin Gräßlin
0827c2903b Use GLPlatform to decide whether shaders are supported
Dropping the static methods from GLShader and use supports()
where it was used before.
2011-02-19 11:08:43 +01:00
Martin Gräßlin
2920715d4d Remove unneeded HACK for NVIDIA
This hack was already removed with da3d880b8af35c97c5a46f9ed253b5885eb9a462

I do not understand what readded it
2011-02-19 10:32:11 +01:00
Martin Gräßlin
57d11c134a Move kwineffects library into own directory
Second part of cleaning up the lib directory: the effects library
now lives in libkwineffects/ directory.

For existing effects nothing changes as the install path is unchanged.
The change obsoletes the lib/ directory.

As glplatform.h has not yet been exported I dared to export it and
adjust the places where it is used.
CCMAIL: kwin@kde.org
2011-02-19 10:01:31 +01:00
Martin Gräßlin
fa5ab21002 Move kdecorations library into an own subdirectory
The KDecoration library lives in libkdecorations/ now.

Installation pathes are unchanged, so this does not influence 3rd party
decorations.

The changes in the KWin main directory are required due to incorrect
includes.
CCMAIL: kwin@kde.org
2011-02-19 10:01:31 +01:00
Martin Gräßlin
b265537962 Drop dependency to libplasma from kwineffects library
Since the EffectFrames have been moved into KWin core nothing in the
Effects lib actually used Plasma. The only remaining method is moved
to core as it's not used in the Effects. The Effects itself still
link against Plasma, so nothing changes for them.

The Plasma includes in the kwineffects header seemed to pull in
quite some additional headers, so the includes in some effects have
to be adjusted (most often KConfigGroup). This should speed up the
compilation of the library and the effects.
2011-02-17 19:38:42 +01:00
Fredrik Höglund
af92a4efd4 kwin: Rename sample to sampler in all shaders
A sample is not the same thing as a sampler.
2011-02-17 19:19:40 +01:00
Fredrik Höglund
d2078d4b9b kwin: Refactor the screen transformation code
Move the code that computes the transformation matrix to its
own method, and rewrite it to improve readability.
2011-02-17 19:19:40 +01:00