lp://staging/~ivenvd/compiz/compiz.fix_1193792
- Get this branch:
- bzr branch lp://staging/~ivenvd/compiz/compiz.fix_1193792
Branch merges
- PS Jenkins bot (community): Approve (continuous-integration)
- Sam Spilsbury: Approve
- MC Return: Approve
-
Diff: 148 lines (+122/-0)3 files modifiedkde/window-decorator-kde4/kdecorationbridge.h (+115/-0)
kde/window-decorator-kde4/window.cpp (+6/-0)
kde/window-decorator-kde4/window.h (+1/-0)
Related bugs
Bug #1193792: kde-window-decorator: Not compatible with KDE 4.11 | Critical | Fix Released |
Related blueprints
Recent revisions
- 3742. By Sam Spilsbury
-
Provide a basic decor plugin acceptance test suite.
This change provides a simple acceptance test suite for the decor plugin. It
creates a fake window decorator (cdt::FakeDecorator) and allows users to
create fake decorations (eg cdt::FakePixmapDecoration) which can be serialized
as decoration properties and set on windows under xorg-gtest. It also launches
compiz with the opengl, composite and decor plugins loaded and runs some
basic tests. Among them:BaseDecorAccept
ance.
Startup:Basic canary "can we start compiz with these plugins" test
FakeDecorator
SessionOwnerNam eSetOnSelection Owner: Create a fake decorator, ensure that libdecoration sets our
session name "fake" on the selection ownerFakeDecorator
ReceiveClientMe ssage: Create fake decorator, ensure that libdecoration posts a client
message to the root window announcing that the new decorator exists.DecorationSup
portsWindowType : Create a fake decorator, announce support for the WINDOW type decorations
and ensure that the correct atom is set on the session owner window.DecorationSup
portsPixmapType : Create a fake decorator, announce support for the PIXMAP type decorations
and ensure that the correct atom is set on the session owner window.DecorFakeDecora
torAcceptance.
WindowDefaultFallbackNoExten ts: By default, newly created windows should recieve a fallback decoration
but they should not have any frame extents.DecorWithPixmap
DefaultsAccepta nce. These tests create a default pixmap decoration to use in the hypothetical
situation that the window decorator hasn't yet generated a decoration
for this window.FallbackRecie
veInputFrameNot ify: Verify that we get a _COMPIZ_
WINDOW_ DECOR_INPUT_ FRAME property set on
the client when it is created and mapped (eg, an input frame window
was annonuced to be created)FallbackHasIn
putFrameInParen t: Verify that a second window exists in the frame window after this
message was recieved.FallbackNorma
lWindowExtentOn Decoration: Verify that _NET_FRAME_EXTENTS is set to the default window extents
for the default decoration when the window was mapped.FallbackNorma
lWindowInputOnF rame: Verify that the input window matches the extents set.
PixmapDecorated
WindowAcceptanc e. These tests create a new window and an associated unique decoration for
that window.MaximizeBorde
rExtentsOnMaxim ize: Maximize the window and ensure that the correct border extents are used.
MaximizeBorde
rExtentsOnVertM aximize: Vertically maximize the window and ensure that the correct border extents
are used.MaximizeBorde
rExtentsOnHorzM aximize: Horizontally maximize the window and ensure that the correct border
extents are used.MaximizeFrame
WindowSizeEqOut putSize: Maximie the window and ensure that the frame window exactly equals
the output size.VertMaximizeF
rameWindowSizeE qOutputYHeight: Maximize the window and ensure that the frame window's Y and Height
values are consistent with the output size.HorzMaximizeF
rameWindowSizeE qOutputXWidth: Ditto horizontal maximization.
DISABLED_
VertMaximizeFra meWindowSizeSam eXWidth: Maximize the window vertically and ensure that the frame window's
border-relative X position and width does not change.This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).DISABLED_
HorzMaximizeFra meWindowSizeSam eYHeight Maximize the window horizontally and ensure that the frame window's
border-relative Y position and height does not change.This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).(LP: #1188900). Fixes: https:/
/bugs.launchpad .net/bugs/ 1188900. Approved by PS Jenkins bot, Andrea Azzarone, MC Return.
- 3741. By Andrea Azzarone
-
Disable grid/put_
maximize_ key on ubuntu. Approved by PS Jenkins bot, MC Return, Sam Spilsbury.
- 3740. By MC Return
-
Expo, code cleanup:
Declaration of local variables outside of loops.
Use prefix instead of postfix increments.
Declaration and assignment of local variables in one line, if possible.
Reduced the scope of some variables.
Removed redundant brackets.
Used static_cast <> (type) instead of (type) cast.
Added and removed newlines if appropriate.
Fixed indentation.
Added TODOs.Expo, speed improvements:
Do not calculate screen->vpSize ().width () and screen->vpSize ().height ()
multiple times, instead save them in the unsigned ints vpCountHorz and
vpCountVert and use those variables instead.
Speed up the curve calculations by using additional variables to save results
to not have to re-calculate those all the time. The new variables introduced
are degToRad, screenWidth, screenWidthSquared, curveDistSquaredPlusQuarter,
pOne2MinusCurveDist, v0Squared and v2Squared.
Also introduced const float halfGapX = gapX / 2.0 and used this variable in the
calculations of curveDistance and curveRadius.
Simplified calculations of this type:
(M_PI / 180.0f) * curveAngle / 2.0, which is equal to: (M_PI / 360.0f) * curveAngle
Do not call optionGetGroundSize (); twice, instead save the value in the float
groundSize and use that variable in the following calculations.
Removed the creation of the redundant bool hide, which is just used once in an
if-condition check. It does not help to have this bool.
Try to avoid redundant GL_BLEND state changes, they are expensive - only enable
GL_BLEND if it is disabled and just disable it, if it was disabled before, otherwise
do nothing.
Try to avoid redundant GL filter changes - just query the filter state if the mipmap
option in CCSM is enabled. Also just set back the filter to the previous state if
we actually changed it, otherwise do nothing.
-5.5f * 2 = -11.0f.
No need to calculate M_PI / 180.0f 720 times:
Calculate this value once instead and save it in the const float mpi, use mpi
in the following looped calculations.
Use const int scw in the same loop instead of calling screen->width () 360 times.glow.cpp:
Massively increased calculation speed of the glow texture:
No need for any macros here -> removed them and replaced them with local variables.
Precalculate values, store them in local variables and use those in the following
calculations (new variables are the ints winRealX, winRealY, winRealWidth, winRealHeight,
halfWinRealWidth, halfWinRealHeight, xPlusHalfWidth, yPlusHalfHeight, xPlusGlowOff,
yPlusGlowOff, xMinusGlowOff, yMinusGlowOff and the float glowPart).
Used w->geometry ().widthIncBorders () and w->geometry ().heightIncBorders ()
to determine winRealWidth and winRealHeight.Expo, fixes:
Do not force "One wall per output" on the user, if his displays use different
resolutions.
"One big wall" makes a lot of sense for many multi-screen configs, where not
all of the screens have exactly the same resolution, so if the user explicitely
chooses this mode, Compiz should respect the user's choice.(LP: #1009592). Fixes: https:/
/bugs.launchpad .net/bugs/ 1009592. Approved by PS Jenkins bot, Sam Spilsbury, Sami Jaktholm.
- 3739. By MC Return
-
src/output*.cpp cleanup:
Return ASAP, do not calculate stuff you do not need.
Declaration and assignment of variables in one line.
Declare local variables outside of loops.
Use prefix instead of postfix increment.
Added and removed newlines.
Fixed indentation.Approved by PS Jenkins bot, Sam Spilsbury.
- 3738. By Sam Spilsbury
-
Immediately update the window matrices and regions if the number of
textures changed.(LP: #1189369). Fixes: https:/
/bugs.launchpad .net/bugs/ 1189369. Approved by PS Jenkins bot, MC Return.
- 3737. By Iven Hsu
-
Opacify: Only dim the windows above the active window.(LP: #1189374). Fixes: https:/
/bugs.launchpad .net/bugs/ 1189374. Approved by PS Jenkins bot, Sam Spilsbury, MC Return.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/compiz/0.9.10