9
9
on we run it from Xsession.d
10
10
* Automatic snapshot from revision 3644
12
-- Sam Spilsbury <smspillaz@interpol> Thu, 25 Apr 2013 11:13:32 +0800
13
* Opacify: Only dim the windows above the active window.(LP:
14
#1189374). (LP: #1189374)
15
* KWD: Fix compile errors with KDE 4.11. The KWin developers made
16
kdecorationbridge.h private. See:
17
http://lists.freedesktop.org/archives/compiz/2013-March/003479.html
18
(LP: #1193792). (LP: #1193792)
21
* When static switcher is enabled and has an option to show
22
application icon turned on the icons are expected to be ~1/3 of a
23
thumbnail (48px). Instead they are displayed in 512px size and
24
completely cover everything. This change addresses this issue. See
25
LP #1173914. (LP: #1173914, #1186426)
28
* Fixed the non-working Annotate 'Clear' Button. Moved this option's
29
CCSM position upwards to keep the button shortcuts together. (LP:
30
#1202907). (LP: #1202907)
33
* Added "move window to previous monitor" feature to compiz Put
34
plugin. (LP: #1178581)
37
* gtk-window-decorator: destroy action menu when any of the (close,
38
min, max) buttons on the title bar is pressed. (LP: #1101648)
39
* Remove redundant src/logmessage/include/core/logmessage.h (LP:
40
#1067246). (LP: #1067246)
43
* Fix for bug #763148 (with added test cases): when the desktop is
44
resized, windows should stay on their original workspace. (LP:
48
* Unrevert 3728, fix failing tests. Change the behaviour of
49
undecorating windows. Previously when a window was undecorated, we
50
would shift it back to an appropriate position according to its
51
gravity member. That behaviour was problematic because in the
52
StaticGravity case the window has to just stay in the same place.
53
But then if you had a window with StaticGravity which then did get a
54
decoration and later removed it, it would be placed as though it was
55
decorated and appear to be in the wrong place. The correct behaviour
56
is to place all windows as though they have decorations, and then
57
when decorations are removed, to move the window back to the corner
58
as indicated in its gravity and then expand its size to cover the
59
obscured regions no longer hidden because the decorations went away.
60
(LP: #1165343). 1. Completely remove decorOffsetMove and other
61
related code from decor.cpp. Put the logic to handle the
62
window->input () - window->border () placement offset inside of
63
setWindowFrameExtents instead. Now the window will always be
64
offset from its original non-decorated position to the new
65
decorated position, rather than having to guess between
66
decoration sizes. 2. Make saveGeometry and restoreGeometry work
67
relative to window->border () as opposed to including it in the
68
saved geometry. It is possible that the border size might
69
change during maximization, as such, we don't want to save the
70
position with the border before maximizing. Instead save the
71
position as if it were never decorated so that when the window
72
is restored it can be restored to its original position and
73
then adjusted for its new border size. 3. Fix a few typoes in the
74
tests. 4. Moved some commonly used matchers into compiz::testing
75
5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in
76
each one of them for the plugin 6. Set COMPIZ_PLUGIN_DIR
77
appropriately for each plugin that we wish to load on startup
78
so that we load locally built plugins as opposed to installed
79
ones. 7. Uncomment compiz_discover_tests for the acceptance
80
tests. Now they are run by default. (LP: #1195522). (LP:
82
* If we receive a stateNotifyChange, we check if we are in a max
83
state. If so, overwrite the xwc with either X | W, or Y | H
84
depending on the semi max state with the orig position before we
85
went into a semi max state. This way when we leave any sort of max
86
state the orig position is restored. If the window is being grabbed
87
we do not overwrite the position, which it gets its own value at
88
that point (instead of the orig pos). (LP: #892012)
90
[ Marco Trevisan (Treviño) ]
91
* OpenGL Screen: Ignore the MSAA configs during initialization This
92
fixes a crash with new MESA drivers and high monitor resolutions
93
caused by the fact that we're accidentally using some MSAA configs
94
with some drivers in Mesa 9.0. Taking in account the values of
95
GLX_SAMPLES and GLX_SAMPLE_BUFFERS fixes the issue. See mesa bug
96
https://bugs.freedesktop.org/show_bug.cgi?id=61182. (LP: #1174495)
97
* OpenGLES Screen: Ignore the MSAA configs during initialization.
98
* GLScreen: break the iteration as soon as we've found a valid egl
102
* Plugin wizard ported to OpenGL|ES. Use GLVertexBuffer. Enable
103
building for GLES. Enable architectures armel and armhf. (LP:
104
#1196003). (LP: #1196003)
107
* Fixed issue where minimizing an unredirect full screen window would
108
repaint the full screen window after minimizing it even though it
109
isn't really there. . (LP: #1053895)
112
* *Grid code: Prevent center and corner gridded windows from jumping
113
viewports. (Thanks and credits for this go to Sami Jaktholm) Prevent
114
top and bottom gridded windows from jumping viewports by making
115
those semi-maximize horizontally. As those are actually semi-
116
maximized horizontally, we will treat them as such and let core
117
handle the restoring, just like we already do for vertically semi-
118
maximized grid windows (left/right). Now "Strg+Super+Down" will
119
restore top and bottom gridded windows correctly as well. Also
120
multiple gridding to top, bottom, left or right will not overwrite
121
the stored original size anymore. Restore windows also when
122
workspace switcher (expo) is active. (Thanks and credits for this go
123
to Sami Jaktholm) Allow cycling for all gridded windows if
124
explicitly specified by the user in CCSM. Forbid cycling through
125
different sizes for corner and center-gridded windows also per
126
default, now fully fixing bug #878820 and following the design
127
specification by Ayatana Design there, making behaviour consistent.
128
Introduced 3 new bools: horzMaximizedGridPosition,
129
vertMaximizedGridPosition, anyMaximizedGridPosition Used these bools
130
inside the if condition checks. Simplified complicated if condition
131
by removing redundant additional size check. Cleanup all around.
132
*Grid xml: Added cycle_sizes bool option, which allows the user to
133
choose the prefered behaviour (fixed versus flexible sizes on
134
multiple presses on the same grid keyboard shortcut). Default of
135
this option is off, cycling disabled as specified by design. Added
136
punctuation where missing and removed it where usually is none.
137
Fixed typos, improved description and titles. *Expo code: Tell grid
138
when viewport change is in progress. (Thanks and credits for this go
139
to Sami Jaktholm) (fixes: LP: #878820, LP: #879218, LP: #882754 and
140
LP: #1082001, partially fixes: #1116538, #1164332). (LP: #882754,
141
#878820, #1164332, #1082001, #879218, #1116538)
142
* Grid: Check that composite and opengl ABIs are COMPIZ_COMPOSITE_ABI
143
and COMPIZ_OPENGL_ABI instead of CORE_ABIVERSION. (LP: #1181461)
144
* Fade: Fix a typo that causes fade to constantly damage windows with
145
a modified saturation. (LP: #1159054)
146
* Grid: Fix window misplacement if a window is restored but the size
147
doesn't change. - Set isGridResized to false before configuring the
148
window in GridScreen::restoreWindow. If the restored geometry is the
149
same as current geometry, configureXWindow will trigger moveNotify
150
instead of resizeNotify. As isGridResized is still true,
151
GridWindow::moveNotify blocks the restoration movement and the
152
pointer detaches from the decoration. - Don't use pointerBufs when
153
calculating position of the restored window with snapback windows
154
disabled. The window will be positioned a bit too high (or low) and
155
the pointer detaches from decoration if the movement was actually
156
tracked. This was a workaround for the first point and can be safely
157
removed. (LP: #1115344)
158
* Fix memory leaks in titleinfo plugin. (LP: #1101569, #1101454)
159
* Expo plugin: 1) Always fetch the dndButton action in dndFini. The
160
action given to dndFini might be a key or edge binding action if
161
expo was terminated during window DnD. We shouldn't set their state
162
to CompAction::StateInitButton or the bindings break. 2) Pass NULL
163
action to termExpo if invoked from handleEvent Previously we passed
164
the action of expoKey to termExpo which in turn passed it to
165
dndFini. DndFini changed the action state to
166
CompAction::StateInitButton that broke the keybinding. Now that
167
dndFini fetches the dndButton action itself, there's no need to
168
fetch it in handleEvent too as dndFini is the only one using the
169
action. (LP: #1131106)
170
* Expo: Cast denominators of integer divisions to floats before
171
performing a matrix translation to viewports with the results.
172
Otherwise rounding errors in cases the results are not an integers
173
cause the viewports to be painted offscreen. (LP: #438580)
174
* Port dbus introspection to compiz 0.9. - move xml creation to a
175
separate class (IntrospectionResponse) for easier memory management
176
(allocate buffer and writer in ctor, free in dtor). - move
177
duplicated response sending code to a separate method that takes
178
IntrospectionResponse and sends the resulting xml. - Refactor
179
handle*IntrospectMessage to work with compiz 0.9 interfaces. This
180
also fixes the broken list method which was a result of logic error.
181
The code to invoke list handler was never reached. This fixes most
182
of the issues noted in bug 749084. (LP: #749084)
183
* Bias the current viewport in addWindowSizeChanges. If window is
184
visible in the current viewport, use that viewport when calculating
185
geometries in addWindowSizeChanges. Otherwise the current method is
186
used. This way visible windows are maximized in the current
187
viewport. However, offscreen windows won't jump back to the active
188
viewport if window maximizes by itself or addWindowSizeChanges is
189
called for some other reason. (LP: #776435)
190
* Expo: Recompute glow quads if a desktop window is resized. (LP:
191
#1090713). (LP: #1090713)
192
* Decor: Use maximized border extents only if window is fully
193
maximized. The decorator draws a normal border around semi-maximized
194
windows. When maximized border extents were used for semi-maximized
195
windows, compiz didn't reserve any space for the border in its
196
geometry calculations. At least following problems are a result of
197
this behavior: - Semi-maximized windows have 1px borders drawn on
198
adjacent workspaces (LP: #986051). - Grid placed window overlaps the
199
adjacent viewport (LP: #898870). (LP: #986051, #898870)
202
* Adding a uniform to a GLVertexBuffer that uses AutoProgram causes
203
compiz to segfault. Example: gWindow->addShaders("cms", "",
204
fragment_shader); gWindow->vertexBuffer()->addUniform("cms_lut",
205
unit); // segfault happens later in PrivateVertexBuffer::render The
206
patch modifies PrivateVertexBuffer::render to set the uniform on the
207
generated AutoProgram instead of the provided program, which in this
208
case is NULL, causing a segfault. (LP: #1162598). (LP: #1162598)
211
* Cube-addon (Cube Reflection and Deformation): If the user disables
212
"Draw top face"/"Draw bottom face" we do not want to draw anything
213
(LP: #1162484). The original, non-deformed caps will only work for
214
the non-deformed cube, so we can just use the original function in
215
that case. We need to clear the texture if no texture files are
216
specified in "Image files", otherwise the old texture would still be
217
drawn, even if all image files are removed (LP: #1162711). Now we
218
will default back and use the cube cap colors and opacities defined
219
in the "Desktop Cube" plugin (if "Draw top/bottom face" are enabled
220
only, see above). This way the user can choose between (for
221
top/bottom): 1. Do not draw a cube cap face at all ("Draw top/bottom
222
face" option disabled) 2. Use color and opacity specified in
223
"Desktop Cube" (empty images list) 3. Use a texture for the cap
224
(image is in the list, which is default) Removed redundant mCurrent
225
= mCurrent % mFiles.size (); calculation, this has already been
226
done: cap->mCurrent = (cap->mCurrent + change + count) % count;
227
count and change both need to be != 0 for mCurrent to change. Fixed
228
indentation, removed redundant brackets and newlines, declaration
229
and assignment of local variables in one line, if possible, minor
230
cleanup. (LP: #1162484, LP: #1162711). (LP: #1162484, #1162711)
231
* Stack (Window) Switcher (currently excluded from compilation): Fixed
232
window title drawn although "Show Window Title" is disabled. (LP:
233
#1070782). (LP: #1070782)
234
* *Grid code: Prevent center and corner gridded windows from jumping
235
viewports. (Thanks and credits for this go to Sami Jaktholm) Prevent
236
top and bottom gridded windows from jumping viewports by making
237
those semi-maximize horizontally. As those are actually semi-
238
maximized horizontally, we will treat them as such and let core
239
handle the restoring, just like we already do for vertically semi-
240
maximized grid windows (left/right). Now "Strg+Super+Down" will
241
restore top and bottom gridded windows correctly as well. Also
242
multiple gridding to top, bottom, left or right will not overwrite
243
the stored original size anymore. Restore windows also when
244
workspace switcher (expo) is active. (Thanks and credits for this go
245
to Sami Jaktholm) Allow cycling for all gridded windows if
246
explicitly specified by the user in CCSM. Forbid cycling through
247
different sizes for corner and center-gridded windows also per
248
default, now fully fixing bug #878820 and following the design
249
specification by Ayatana Design there, making behaviour consistent.
250
Introduced 3 new bools: horzMaximizedGridPosition,
251
vertMaximizedGridPosition, anyMaximizedGridPosition Used these bools
252
inside the if condition checks. Simplified complicated if condition
253
by removing redundant additional size check. Cleanup all around.
254
*Grid xml: Added cycle_sizes bool option, which allows the user to
255
choose the prefered behaviour (fixed versus flexible sizes on
256
multiple presses on the same grid keyboard shortcut). Default of
257
this option is off, cycling disabled as specified by design. Added
258
punctuation where missing and removed it where usually is none.
259
Fixed typos, improved description and titles. *Expo code: Tell grid
260
when viewport change is in progress. (Thanks and credits for this go
261
to Sami Jaktholm) (fixes: LP: #878820, LP: #879218, LP: #882754 and
262
LP: #1082001, partially fixes: #1116538, #1164332). (LP: #882754,
263
#878820, #1164332, #1082001, #879218, #1116538)
264
* *Resizeinfo, xml changes: Added option for bold/normal font, default
265
is still bold. Added option to change the font size (10-14), default
266
is still 12 pixel. Enhanced and corrected a few tooltips.
267
*Resizeinfo, code changes: Choose between PANGO_WEIGHT_BOLD and
268
PANGO_WEIGHT_NORMAL. Use individual font size specified by the user
269
in CCSM. Fixed computation of wrong damageRegion, it was
270
additionally adding the window size, making it way too large.
271
Removed useless declaration of int width and height. Declaration and
272
assignment of local variables in one line, if possible. Minor
273
indentation fixes. (LP: #1166195, LP: #1166196 and LP: #1166245).
274
(LP: #1166195, #1166196, #1166245)
275
* *Move xml: Implemented options to configure: "Snapoff Distance"
276
"Snapback Semimaximized Windows" and "Snapback Distance" Improved a
277
few tooltips. *Move code: Replaced SNAP_BACK and SNAP_OFF hardcoded
278
constants and made those configurable. Implemented a strategy to
279
snap off horizontally maximized windows by dragging them along the x
280
axis. Implemented snapping back of horizontally maximized windows
281
and fixed the snapping for vertically maximized windows (wrong
282
cursor calculation). Fixed a few wrong calculations in the if
283
condition checks responsible for snapping off and back. Merged if
284
condition checks. Just compute various local variables if we do not
285
return false. Removed redundant brackets, fixed indentation and
286
improved readability. (LP: #1165198, LP: #1167933). (LP: #1167208,
288
* Freewins xml: Fixed False->false and True->true typos. Credits and
289
thanks for finding cause and fix go to raveit65 ! (LP: #1163606).
291
* Screenshot code cleanup: Used standard bool for mGrab. Merged a few
292
if condition checks. Declaration and assignment of local variables
293
in one line. Removed redundant brackets. Added and removed newlines
294
to improve readability. Added a missing break (just a style issue).
295
Fixed indentation. C++ style for comments.
296
* *Move xml: Slightly improved long description of the move plugin.
297
Implemented option to change the key move increment size. Removed
298
<precision> settings as they just work for floats. *Move code:
299
Removed hardcoded KEY_MOVE_INC variable. Introduced int
300
moveIncrement to not have to execute optionGetKeyMoveInc () to get
301
the value twice. (LP: #1167933, part 2). (LP: #1167933)
302
* Shift Switcher code cleanup: Merged a few if-if condition checks.
303
Declaration and assignment of local variables in one line. Removed
304
redundant brackets. Added and removed newlines to improve
305
readability. Fixed indentation.
306
* Composite code cleanup: Merged a few if-if condition checks.
307
Declaration and assignment of local variables in one line. Removed
308
redundant brackets. Added and removed newlines to improve
309
readability. Fixed indentation.
310
* *Grid code: Simplified bool GridScreen::restoreWindow (...): If Grid
311
has not touched the window we return false and let core do the dirty
312
work. (Thanks go to Sam Spilsbury for suggesting this solution.)
313
*Grid xml: Improved the CCSM Grid put_restore_key tooltip. (LP:
314
#1116538). (LP: #1116538)
315
* *Cube Gears: Added glDepthMask (GL_TRUE); and glDepthFunc (GL_LESS);
316
to void GearsScreen::cubePaintInside (...) to fix the culling on
317
multimonitor systems (green gear was always rendered in front). Also
318
fixed indentation and removed some redundant newlines. (LP:
319
#1168919). (LP: #1168919)
320
* *Showmouse code cleanup: Assignment and declaration of local
321
variables in one line. Removed redundant brackets. Fixed
322
indentation. Removed and added newlines for better readability.
323
*Showmouse code changes: Removed these redundant gl calls: glEnable
324
(GL_TEXTURE_2D); glDisable (GL_TEXTURE_2D); (partially fixes LP:
325
#1051290 and LP: #1051295). (LP: #1051290, #1051295)
326
* *Workspacenames: New Feature: Implemented option to adjust vertical
327
offset for top and bottom of screen workspacename placement. Set the
328
default offset to 50 pixel. Cleanup: Added brackets to for loop. Use
329
prefix increments. Indentation fixes. Added and removed newlines for
330
better readability. Added comment. Removed TEXT_BORDER constant.
331
Improved tooltips. (LP: #1172063). (LP: #1172063)
332
* *Screenshot, xml: Better plugin summary. Added option to disable the
333
drawing of the screenshot selection indicator. Added options to
334
change color and opacity of the outline and the inside of the
335
rectangle indicator, default colors have not been changed. Other
336
minor improvements. *Screenshot, code: Introduced the new variable
337
bool selectionSizeChanged, which is true if the size of the
338
selection has changed. We just want to draw the screenshot selection
339
box, if we are grabbed, the size has changed and the CCSM option to
340
draw it is enabled. Do not render anything if indicator is disabled.
341
Indicator colors are now configurable. Increased indicator box
342
outline line width to 2.0. Only damage the full screen once, if the
343
grab gets terminated, during grab just damage the region painted,
344
which is the screenshot selection box (LP: #1172234). *SCreenshot,
345
cleanup: Minor cleanup in the rendering code. Removed redundant
346
#ifndef USE_GLES compiler option, GLES can cope with enabling and
347
disabling GL_BLEND. Use prefix- instead of postfix increments.
348
Declaration and assignment of local variables in one line. Reduced
349
the scope of the variables x1, y1, x2 and y2. Replaced magic number
350
65535.0f with const float MaxUShortFloat = std::numeric_limits
351
<unsigned short>::max ();. Indentation fixes. C++ style for
352
comments, added comments. (LP: #1169353, LP: #1172234). (LP:
354
* Shift Switcher code cleanup: Use prefix instead of postfix increment
355
and decrement. Declaration and assignment of local variables in one
356
line. Merged if statements. Added brackets to for loops. Fixed
357
indentation. Added and removed newlines for better readability.
359
* Cube Addon .xml cleanup: Better plugin description. Uppercase
360
titles. Improved tooltips and names.
361
* Animation code cleanup: Use prefix- instead of postfix- in- and
362
decrements. Removed redundant brackets. Added and removed newlines
363
where appropriate. Fixed indentation.
364
* Grid, code cleanup: Merged if statements. Replaced magic number
365
65535.0f with const float MaxUShortFloat = std::numeric_limits
366
<unsigned short>::max ();. Use prefix- instead of postfix-increment.
367
Removed redundant (float) casts. Removed redundant brackets. Added
368
and removed newlines to improve readability. Minor indentation
370
* Workspacenames .xml cleanup: Better description of the plugin's
371
functionality. Improved tooltips.
372
* Cube .xml cleanup: Better plugin description. Uppercase titles.
374
* Shift Switcher .xml cleanup: Better description of the plugin's
375
function. Fixed load before "bs" plugin typo -> it is the obs
376
plugin. Created a "Switcher Mode" tab and moved Flip/Cover mode
377
settings there. Created a subgroup for mouse-specific settings.
378
Better tooltips with enhanced descriptions. Improved titles. Fixes
379
all around (typos, etc.).
380
* Refactor screenshot code to make it clearer and also to allow us to
381
take screenshots in glPaintOutput as opposed to paint (). Taking
382
screenshots in paint () was probably correct pre-GLES, but isn't
383
really correct now - we want to be able to read off of the currently
384
bound scratch framebuffer where we last painted the frame. Reading
385
off the frontbuffer is an imprecise operation because the contents
386
of both buffers are really undefined after a swap. In the case where
387
we are not painting to a scratch framebuffer object, we'll just end
388
up reading from the backbuffer anyways, which would be correct to do
389
mid-frame. Also added the new static const GLenums
390
DRAW_FRAMEBUFFER_BINDING and READ_FRAMEBUFFER_BINDING to opengl.h.
391
(LP: #771875). (LP: #771875)
392
* shift.h: Minor indentation fixes (mostly replaced tabs with spaces).
393
* Show Desktop .xml cleanup: Improved plugin description. Renamed
394
"Misc. Options" tab to "General" Improved tooltips.
395
* Stack Window Switcher (stackswitch): Declaration and assignment of
396
local variables in one line. Merged if condition checks. Use prefix
397
de- and increments. Removed redundant brackets. Fixed indentation.
398
Note: stackswitch is still excluded from compilation, because it has
399
not been ported to the new GLES-compatible modern post-r3320 Compiz
400
codebase yet, so this cannot really be tested at the moment (except
401
in Compiz pre-r3320). Nevertheless this MP is needed to reduce the
402
diff size for the GLES port of this plugin, which will follow soon.
403
* Ring Switcher .xml cleanup: Better description of the "Ring
404
Switcher". Uppercase for titles. More precise names for the tabs.
405
Improved tooltip wording and descriptions. Changed the order of
406
options in "General Options" tab: "Ring Windows" and "Overlay Icon"
407
options are now on top. No settings have been changed.
408
* *Shift Window Switcher, new features: Implemented new option to
409
adjust the vertical offset of the text placement and fixed vertical
410
placement calculation for top and bottom positions. The default
411
offset is 50 pixels now. Removed hardcoded and redundant float
412
border. Use 256x256 pixels resolution for icon textures, instead of
413
96x96. Minor indentation fixes. (LP: #1173684). (LP: #1173684)
414
* Opacity, Brightness and Saturation (obs) .xml cleanup: Better plugin
415
description. Improved setting names and tooltips.
416
* Opacity, Brightness and Saturation (obs) code cleanup: Replaced
417
#define MODIFIER_COUNT 3 with const unsigned short MODIFIER_COUNT =
418
3; (the variable MODIFIER_COUNT is needed in obs.h and obs.cpp). Use
419
prefix instead of postfix increment. Merged if condition checks.
420
Declaration and assignment of local variables in one line. Removed
421
redundant brackets. Added and removed newlines if appropriate.
423
* Improved and optimized ABI logic checks consistently for all
424
plugins. (LP: #1178228). (LP: #1178228)
425
* *Grid, code changes and fixes: Fixed segfault in Compiz when
426
unchecking "Snap windows back to original size". This option now
427
fully works and will snap back windows to current size, if they are
428
dragged off via mouse. Fixed segfault in Compiz when unchecking
429
"Snapoff Maximized/Semi-maximized Windows" - this option is now
430
removed as this setting is configurable via "Move" plugin already.
431
The snapoff threshold global setting is now configurable instead of
432
hardcoded. Fixed broken cursor y-coordinate calculation. Fixed
433
window placement cursor calculation for non-original-size-restored
434
windows. Make sure grid-maximizing will never overwrite the windows'
435
original size. Removed useless code until someone can convince me
436
that we need it (LP: #1020857). This fixes the weird positioning
437
(50, 50) when restoring mouse-grid-maximized windows via keyboard.
438
Added missing ABI checks of OpenGL and Composite. *Grid, xml changes
439
and fixes: Put Corners/Edges setting into own tab. New tab named
440
"Resize Actions". Removed hardcoded SNAPOFF_THRESHOLD and made it
441
configurable. Improved tooltips. Re-applied the quilt patch to the
442
changed grid.xml.in. Changed the put_restore_key to
443
"Ctrl+Super+Down" to fix restoring of grid-maximized windows for
444
Ubuntu as well. (LP: #1172641) *Grid, minor code cleanup: Removed
445
redundant (int) casts. Improved readability for the if condition
446
checks. Added and removed newlines, if appropriate. Added comments.
447
Indentation fixes. (LP: #745159, LP: #1020857, LP: #1172641). (LP:
448
#1020857, #745159, #1172641)
449
* Resize, minor code cleanup: Declaration and assignment of local
450
variables in one line. Added and removed newlines, if appropriate.
451
Removed redundant brackets. Indentation fixes.
452
* Wobbly Windows, code cleanup: Declaration and assignment of local
453
variables in one line. Merged if statements. Removed redundant
454
brackets. Added missing break. Removed and added newlines for better
455
readability. Fixed indentation.
456
* Ring, Shift and Stack Window Switcher: Increased the non-power-of-2
457
icon texture resolution from 96x96 to 512x512 pixels, in the case of
458
the ring switcher from 64 to 512. Static Switcher: Replaced #define
459
of MAX_ICON_SIZE with type-safe extern const unsigned short and set
460
the icon resolution to 512 as well. Compiztoolbox: Increased the
461
non-power-of-2 icon texture resolution const unsigned short
462
ICON_SIZE from 48 to 512 and const unsigned int MAX_ICON_SIZE from
463
256 to 512 as well. Changed the type of MAX_ICON_SIZE from const
464
unsigned int to const unsigned short. Scale: Increased the non-
465
power-of-2 icon texture resolution from 96x96 to 512x512 pixels. KDE
466
Compatibility: Increased the icon texture resolution from 256x256 to
467
512x512 pixels. (LP: #1173914). (LP: #1173914)
468
* Removed redundant Expo configuration changes from ubuntu-
469
config.patch: The reflection scale change, because reflection is
470
disabled by default anyway. The inactive viewport saturation change
471
from 100.0% to 40.0%, because this option does not work (and never
472
did AFAICR), but if it finally gets fixed Expo's look would
473
dramatically change. (LP: #1178965). (LP: #1178965)
474
* Expo plugin: Fixed inactive viewports saturation setting being
475
ignored. Let's "fade to grey"... :) (LP: #1179183). (LP: #1179183)
476
* compizconfig/*, libdecoration/*: Use prefix instead of postfix de-
478
* *Ring Switcher, new feature: Implemented "Vertical Offset" option
479
with a default of 50 pixels. This allows the CCSM user to easily and
480
exactly configure where the window title text should be displayed.
481
Ring Switcher, cleanup: Simplified
482
RingWindow::compareRingWindowDepth (...). Bail out of functions
483
ASAP, do not initialize anything you do not need, if you exit
484
anyway. Merged if condition checks. Declaration and assignment of
485
local variables in one line. Removed redundant brackets. Added and
486
removed newlines, if appropriate. Fixed indentation. (LP: #1173684).
488
* gtk/*, include/*, kde/*: Use prefix instead of postfix de- and
490
* Scale Addons code cleanup: Always bail out of functions ASAP, do not
491
calculate unnecessary stuff before. Merged if-condition checks.
492
Declaration and assignment of local variables in one line. Reduced
493
the scope of some variables. Use pre- instead of postfix in- and
494
decrements. Added and removed newlines where appropriate. Added
495
brackets to foreach macro loops and removed them otherwise (if
496
redundant). Fixed indentation. Note: This plugin has a huge chunk of
497
code, which has been commented out. (apparantly/according to the
498
comment, because it does not work) I was very cautious in
499
refactoring this part of the code, as it currently is excluded from
500
compilation and thus cannot be tested. TODO: Test, repair and
501
integrate this code (or remove it if it is redundant). TODO: Fix
502
half-broken "Exit Scale On Pull". TODO: Fix the scale-will-only-
503
terminate-if-initiate_key-is-defined bug.
504
* *EZoom (Enhanced Zoom Desktop) code cleanup: Optimized ABI check.
505
Use prefix- instead of postfix-increment. Assignment and declaration
506
of local variables in one line. Merged if statements. Removed
507
redundant brackets. Fixed indentation. Added and removed newlines to
508
improve readability. *EZoom (Enhanced Zoom Desktop) code changes:
509
Replaced #define WIDTH (x2 - x1) with int width = x2 - x1; and
510
#define HEIGHT (y2 - y1) with int height = y2 - y1; Replaced WIDTHOK
511
and HEIGHTOK macros with local variables: WIDTHOK and HEIGHTOK just
512
need to be calculated once and can then be used for all cases in
513
void EZoomScreen::ensureVisibilityArea (...). static_cast <float>
514
for int denominators in divisions. Removed these redundant gl calls:
515
glEnable (GL_TEXTURE_2D); glDisable (GL_TEXTURE_2D); Zoom Box fixes:
516
Enabled GL_BLEND for the zoom box to fix transparency issues. Made
517
outline and fill color and transparency of the zoom box
518
configurable. Outline width is 2.0 for the zoom box as well now.
519
(same like for grid preview and screenshot selector outlines) Fixed
520
zoom box damage handling. Minor restructuring in zoom box rendering
521
code. Minor ezoom.xml.in cleanup and enhancements. Load after
522
mousepoll. (fixes LP: #1171665, partially fixes LP: #1051290 and LP:
523
#1051295). (LP: #1171665, #1051290, #1051295)
524
* Wall: Fixed broken wall edge flipping functions: "Edge Flip Pointer"
525
"Edge Flip Move" Removed void WallScreen::updateScreenEdgeRegions ()
526
completely. This function not needed hereat all, no other plugin
527
needs to re-define the screen edge regions by itself - just core
528
should do that. The screen edge region updating also confused the
529
edge flipping functionality. case ConfigureNotify: just breaks out
530
now Added missing default: case and a break (just a style issue).
531
Minor cleanup in bool WallScreen::initiateFlip (...). One
532
declaration per line. Note: "Edge Flip DnD" still seems to be
533
broken, but will be fixed in a follow-up proposal. (LP: #771448, LP:
534
#858845). (LP: #771448, #858845)
535
* Wallpaper .xml.in cleanup: Better plugin description. Improved
536
option names. Better wording of tooltips. Removed redundant
537
newlines. Wallpaper code cleanup: Use prefix instead of postfix
538
increments. Declaration and assignment of variables in one line.
539
Added some newlines to improve readability. Removed redundant
540
brackets. Fixed indentation.
541
* EZoom plugin, code improvements: Bail out of functions ASAP, do not
542
calculate stuff you might not need. Replaced: if (zoom_level == 1.0f
543
&& zooms.at (out).newZoom == 1.0f) with: if (zoom_level == zooms.at
544
(out).newZoom) because we always want to get out of here if the
545
target level is the same as current zoom level, not only in the case
546
both are 1.0f. EZoom plugin, code cleanup: Assignment and
547
declaration of variables in one line, if possible. Added and removed
548
some newlines. Merged if condition checks. Indentation fixes.
549
* Mousepoll code cleanup: Removed the unused variables
550
MP_OPTION_MOUSE_POLL_INTERVAL and MP_OPTION_NUM. Declaration and
551
assignment of variables in one line. Added and removed newlines.
552
Removed redundant brackets. Fixed indentation.
553
* Annotate plugin, code cleanup: Use prefix instead of postfix
554
increment. Declaration and assignment of local variables in one
555
line. Removed redundant brackets. Added and removed newlines if
556
appropriate. Fixed indentation. Annotate plugin, fixes: Use
557
GL_LINE_LOOP to draw the rectangle outline as glRecti is not
558
supported on GLES. Simplified the coordinate calculation as the
559
offset is not really needed here.
560
* Titleinfo, minor code cleanup: Declaration and assignment of local
561
variables in one line. Removed redundant brackets. Added and removed
562
newlines. Fixed indentation.
563
* Text plugin code cleanup: Do not declare variables you do not need
564
if you return anyway. Use prefix instead of postfix increments.
565
Merged if condition checks. Declaration and assignment of variables
566
in one line. Added and removed newlines. Removed redundant brackets.
568
* ccp code cleanup: Declare variables if you need them, do not declare
569
them if you return. Declare CCSSettingValue *val; outside the
570
foreach loop. Use prefix instead of postfix increments. Merged if
571
condition checks. Declaration and assignment of variables in one
572
line. Removed redundant brackets. Added and removed newlines. Fixed
574
* Commands, minor code cleanup: Declaration and assignment of
575
variables in one line. Return ASAP. Added and removed newlines.
577
* Cube code cleanup: Replaced 0xffff with GLfloat MaxUShortFloat =
578
static_cast <GLfloat> (std::numeric_limits <unsigned short>::max
579
());. Use prefix instead of postfix de- and increments. Declaration
580
and assignment of variables in one line. Declare variables shortly
581
before you need them. Merged if condition checks. Added missing
582
breaks (just a style issue). Added and removed brackets. Added and
583
removed newlines. Fixed indentation.
584
* action.cpp and actions.cpp code cleanup: Use pre- instead of postfix
585
increment. Declaration and assignment of variables in one line.
586
Merged if condition checks. Removed redundant brackets. Added and
587
removed newlines. Fixed indentation.
588
* Rotate Cube code cleanup: Simplified a few calculations of this
589
type: (360.0 / (x * 2.0)) == 180 / x Declaration and assignment of
590
variables in one line. Use pre- instead of postfix de- and
591
increments. Merged if condition checks. Added and removed newlines
592
and brackets. Fixed indentation. Added TODO comments.
593
* Fade plugin, minor code cleanup: Declaration and assignment of local
594
variables in one line. Merged if condition checks. Use pre- instead
595
of postfix de- and increments. Removed redundant brackets. Added and
596
removed newlines. Fixed indentation.
597
* Opacify code cleanup: Declaration of local variables outside of
598
loops. Calculate activeOpacity and targetOpacity just once, not for
599
each window. Use prefix instead of postfix increments. Merged if
600
condition checks. Declaration and assignment of local variables in
601
one line. Added and removed newlines. Removed redundant brackets.
602
Fixed indentation. Opacify, functionality fix: Improved the toggling
603
logic by setting isToggle in the constructor according to the
604
startup setting, then calling setFunctions (isToggle);,which then
605
calls screen->handleEventSetEnabled (os, os->isToggle); to fix
606
Opacify ignoring the "Toggle Opacify on by default" setting. (LP:
607
#787814). (LP: #787814)
608
* Widget, minor code cleanup: Declaration and assignment of local
609
variables in one line. Merged if condition checks. Added and removed
610
newlines. Added default case to switch (just a style issue). Removed
611
redundant brackets. Fixed indentation.
612
* window.cpp code cleanup: Declare variables outside of loops. Reduced
613
the scope of variables. Do not assign values to variables if those
614
values are not used. Always bail out of functions ASAP, do not
615
calculate stuff you might not need. Use pre- instead of postfix de-
616
and increments. Declaration and assignment of variables in one line.
617
Merged if condition checks. Added and removed brackets. Added and
618
removed newlines. Fixed indentation. Added TODOs (removal of magic
620
* Fix for cube.cpp, regression r3720 - Inner sides of cube invisible
621
now. Wrong variable type was accidentially used, cullInv is of type
622
int, not bool. (LP: #1183852). (LP: #1184852, #1183852)
623
* src/output*.cpp cleanup: Return ASAP, do not calculate stuff you do
624
not need. Declaration and assignment of variables in one line.
625
Declare local variables outside of loops. Use prefix instead of
626
postfix increment. Added and removed newlines. Fixed indentation.
627
* Expo, code cleanup: Declaration of local variables outside of loops.
628
Use prefix instead of postfix increments. Declaration and assignment
629
of local variables in one line, if possible. Reduced the scope of
630
some variables. Removed redundant brackets. Used static_cast <>
631
(type) instead of (type) cast. Added and removed newlines if
632
appropriate. Fixed indentation. Added TODOs. Expo, speed
633
improvements: Do not calculate screen->vpSize ().width () and
634
screen->vpSize ().height () multiple times, instead save them in the
635
unsigned ints vpCountHorz and vpCountVert and use those variables
636
instead. Speed up the curve calculations by using additional
637
variables to save results to not have to re-calculate those all the
638
time. The new variables introduced are degToRad, screenWidth,
639
screenWidthSquared, curveDistSquaredPlusQuarter,
640
pOne2MinusCurveDist, v0Squared and v2Squared. Also introduced const
641
float halfGapX = gapX / 2.0 and used this variable in the
642
calculations of curveDistance and curveRadius. Simplified
643
calculations of this type: (M_PI / 180.0f) * curveAngle / 2.0, which
644
is equal to: (M_PI / 360.0f) * curveAngle Do not call
645
optionGetGroundSize (); twice, instead save the value in the float
646
groundSize and use that variable in the following calculations.
647
Removed the creation of the redundant bool hide, which is just used
648
once in an if-condition check. It does not help to have this bool.
649
Try to avoid redundant GL_BLEND state changes, they are expensive -
650
only enable GL_BLEND if it is disabled and just disable it, if it
651
was disabled before, otherwise do nothing. Try to avoid redundant GL
652
filter changes - just query the filter state if the mipmap option in
653
CCSM is enabled. Also just set back the filter to the previous state
654
if we actually changed it, otherwise do nothing. -5.5f * 2 = -11.0f.
655
No need to calculate M_PI / 180.0f 720 times: Calculate this value
656
once instead and save it in the const float mpi, use mpi in the
657
following looped calculations. Use const int scw in the same loop
658
instead of calling screen->width () 360 times. glow.cpp: Massively
659
increased calculation speed of the glow texture: No need for any
660
macros here -> removed them and replaced them with local variables.
661
Precalculate values, store them in local variables and use those in
662
the following calculations (new variables are the ints winRealX,
663
winRealY, winRealWidth, winRealHeight, halfWinRealWidth,
664
halfWinRealHeight, xPlusHalfWidth, yPlusHalfHeight, xPlusGlowOff,
665
yPlusGlowOff, xMinusGlowOff, yMinusGlowOff and the float glowPart).
666
Used w->geometry ().widthIncBorders () and w->geometry
667
().heightIncBorders () to determine winRealWidth and winRealHeight.
668
Expo, fixes: Do not force "One wall per output" on the user, if his
669
displays use different resolutions. "One big wall" makes a lot of
670
sense for many multi-screen configs, where not all of the screens
671
have exactly the same resolution, so if the user explicitely chooses
672
this mode, Compiz should respect the user's choice. (LP: #1009592).
674
* Compiz, redundant and outdated files cleanup: Removed outdated NEWS
675
files. Removed outdated AUTHORS and ChangeLog files. Removed
676
plugins/freewins/COPYING - we do not need another copy of the GPL v2
677
here. Removed another copy of the GPL v2 from plugins/workarounds.
678
This will reduce package sizes, download time and bring some order
680
* Expo, .xml.in fixes: Better description of the plugin. Improved and
681
fixed tooltips. Moved the "Curve Strength" option closer to
682
"Deformation". Refreshed the quilt patch for Ubuntu: There is no
683
need to set the default distance to 0.005 as this setting has no
684
effect without deformation. Set default multi-screen mode to "One
685
wall per output" for Ubuntu, because "One big wall" works now for
686
all display configurations and could potentially change the
687
appearance for Ubuntu users. (LP: #1074487). (LP: #1074487)
688
* Added contribute directory. Added QtCreatorConfig.xml, a
689
configuration file for Qt Creator, which adjusts Qt Creator's C++
690
indentation style to be the same that is used in the Compiz project
691
(X11, mixed spaces and tabs).
692
* Mousepoll: Fixed mousepoll version mismatch. (COMPIZ_MOUSEPOLL_ABI
693
was missing) (LP: #1195659). (LP: #1195659)
694
* Expo: Simplified the GL filter handling.
695
* Fixed broken text in all plugins (missing COMPIZ_TEXT_ABI). (LP:
696
#1196493). (LP: #1196493)
697
* CCSM: Fixed vertical alignment of the text on the stylized keys.
698
(Shift, Super, Ctrl, Alt) (LP: #1196345). (LP: #1196345)
699
* Thumbnail, cleanup: Merged if condition checks. Declaration of
700
variables when they are needed (C++ style). Removed redundant
701
brackets. Removed useless "/* Could someone please explain how this
702
works */" comment. Removed extern const unsigned short
703
TEXT_DISTANCE, because this variable does not exist anymore (value
704
is configurable already). Changed if (something > 0.0) to if
705
(something), 10 times. Changed pointedWin = 0; to pointedWin =
706
NULL;. Used centerX () and centerY () abstractions from
707
compiz::window::Geometry to determine the icon center coordinates.
708
Added and removed newlines, if appropriate. Fixed indentation.
709
Thumbnail, code speedup: Return ASAP, do not calculate stuff you
710
might not need. No need for WIN_W (w) and WIN_H (w) macros, removed
711
those and replaced them with the local variables int winWidth, int
712
winHeight, int dockWidth and int dockHeight. No need for WIN_X (w)
713
and WIN_Y (w) macros, replaced those with int dockX and int dockY.
714
Introduced int tHeight = thumb.height;, int tWidth = thumb.width;,
715
int halfTWidth = tWidth / 2; and int halfTHeight = tHeight / 2; and
716
used those variables in the following calculations. Use
717
igMidPoint[0] and igMidPoint[1] as arguments in the screen-
718
>outputDeviceForPoint (arg1, arg2) function, instead of re-
719
calculating the arguments again. Thumbnail, GL speedup: Introduced
720
GLfloat wxPlusWidth = wx + width;, GLfloat wyPlusHeight = wy +
721
height;, GLfloat wxPlusWPlusOff = wxPlusWidth + off;, GLfloat
722
wyPlusHPlusOff = wyPlusHeight + off;, GLfloat wxMinusOff = wx - off;
723
and GLfloat wyMinusOff = wy - off; and used those coordinates in the
724
vertexData arrays. No need to re- calculate those values multiple
725
times. Just query optionGetShowDelay () once and use int showDelay
726
later. We just enable blending if it is currently disabled and
727
disable blending only, if it was disabled before.
728
* src/session.cpp cleanup: Declaration and assignment of local
729
variables in one line. (this *should* fix bug #1101405) Use pre-
730
instead of postfix increments. Added and removed newlines. Added
731
missing break (just a style issue). Fixed indentation. (LP:
732
#1101405). (LP: #1101405)
733
* Firepaint, code cleanup: Declare variables outside of loops.
734
Declaration and assignment of local variables in one line. Use pre-
735
instead of postfix increment. Removed redundant newlines. Removed
736
redundant casts. (from (float) optionGetFireColor) Removed redundant
737
brackets. Added missing break (style issue only). Added comment and
738
TODO. Fixed indentation. Firepaint, speedup: We just enable GL_BLEND
739
if it is disabled and we just disable GL_BLEND if it was disabled
740
before. Introduced the GLfloats xMinusW, xPlusW, yMinusH and yPlusH
741
to store calculated coordinates instead of recalculating them
742
multiple times. Introduced float fireLife = optionGetFireLife ();,
743
float fireWidth = optionGetFireSize ();, float fireHeight =
744
fireWidth * 1.5f; and bool mystFire = optionGetFireMystical (); and
745
used those variables inside the loop. Firepaint, .xml.in cleanup:
746
Firepaint now has 2 tabs, 'General' and 'Particle Settings'. The
747
name of this plugin is Firepaint, <short> should not contain the
748
description. Better description of the plugin. Uppercase option
749
titles. Punctuation for tooltips. Improved tooltips. Firepaint,
750
fixes: Initialize all class member variables in the ParticleSystem::
751
ParticleSystem () ctor (LP: #1101512, LP: #1101580). (LP: #1101512,
753
* img* plugins code cleanup: Always bail out of function ASAP, do not
754
calculate stuff you might not need. Declare variables outside of
755
loops so they won't be re-declared in each loop. Use prefix instead
756
of postfix increments. Declaration and assignment of variables in
757
one line. Merged if condition checks. Added and removed brackets.
758
Added and removed newlines, if appropriate. Minor code structure
759
improvements, declare variables when you need them, not much
760
earlier. Fixed indentation.
761
* Text, speed improvements: Introduced const float halfPi = PI / 2.0f;
762
and const float triHalfPi = halfPi * 3; and used those to draw the
763
rounded background. Introduced GLfloat xPlusWidth = x + width; and
764
GLfloat yMinusHeight = y - height; and used those coordinates for
765
the vertexData array. Text, cleanup: Declaration of local variables
766
outside of loops. Fixed indentation.
767
* cube.cpp, code cleanup: #include "privates.h", not <privates.h>.
768
Merged if condition checks. Declaration of variables, where you need
769
them to improve the code structure and readability. Use C++ standard
770
bool for topDir, bottomDir, allCaps and mCapsPainted[output] (bool
771
true/false instead Bool TRUE/FALSE). Initialize all of the class
772
member variables in the constructor. Replaced if (priv->mSky.size ()
773
> 0) with if (!priv->mSky.empty ()). Removed redundant brackets.
774
Fixed indentation. Added TODO. cube.cpp, code speedup: Do not call
775
optionGetInactiveOpacity () twice, instead save the value as float
776
inactiveOpacity and use this variable in the following calculation.
777
Introduced the variables float halfHsize = hsize / 2.0; and float
778
tsSize = 360.0f / size; and used those in following calculations to
779
not have to recalculate those values multiple times. Do not
780
calculate M_PI / sides and 2 * M_PI / sides multiple times in loops,
781
instead save those values in the GLfloats mps and tmps and use those
782
values inside the loops. Use GLdouble mDist2 = 0.5 / mDistance; in
783
the GLdouble clipPlane* arrays, instead of recalculating this value
784
multiple times. Use GLfloat oneMinusFStepX = 1.0f - fStepX; and
785
GLfloat oneMinusFStepY = 1.0f - fStepY; instead of calculating those
786
values multiple times. Use float outputWidth = outputPtr->width ();
787
and float outputHeight = outputPtr->height (); instead of calling
788
the functions multiple times. Introduced the GLfloat normInvert =
789
0.5f * invert; and used this variable instead of recalculating this
790
value multiple times. Introduced the GLfloats mSkyWidth and
791
mSkyHeight and used those in the following loops instead of calling
792
mSkySize.width () and mSkySize.height () multiple times. Try to
793
avoid redundant GL_BLEND state changes, because OpenGL will blindly
794
change the global state, no matter what it currently is set to and
795
that state change is expensive. So we query and save the actual
796
blending state in the variable GLboolean glBlendEnabled =
797
glIsEnabled (GL_BLEND); and just enable it if it isn't already and
798
just disable it, if it was disabled before. (LP: #1101422, LP:
799
#1195977) cube.cpp, other fixes: Return false in function
800
PrivateCubeScreen::updateGeometry (int, int) if sides should ever be
801
0, which should never happen, but should make Coverity happy. (LP:
802
#1101541) Initialize all class member variables in the
803
PrivateCubeScreen:: PrivateCubeScreen (CompScreen *) constructor.
804
(mTc, mNOutput, mOutput, mOutputMask, mCleared, mCapsPainted) (LP:
805
#1101575). (LP: #1195977, #1101541, #1101422, #1101575)
806
* plugins/ezoom/src/ezoom.cpp: Also initialize xtrans and ytrans in
807
the ctors. Just just enable blending if it is disabled and just
808
disable it if it was disabled before. Introduced the variables
809
oWidth, oHeight, halfOWidth and halfOHeight to speed up following
810
calculations. Return ASAP, do not calculate possibly redundant
811
stuff. Declaration and assignment of local variables in one line.
812
Improved readability. Added and removed newlines. Minor indentation
813
fixes. plugins/ezoom/ezoom.xml.in: Removed redundant whitespaces
814
from a tooltip. (LP: #1101572). (LP: #1101572)
816
[ Hu Kang stevenhooke11@gmail.com ]
817
* workarounds.cpp: Fix typo in call to XShapeSelectInput. (LP:
818
#1167284). (LP: #1167284)
819
* Use XIDefineCursor rather than XDefineCursor. compiz should show a
820
busy cursor during the application startup stage. the corresponding
821
code is in scr/screen.cpp:
822
cps::StartupSequenceImpl::updateStateFeedback () the patch changes
823
all XDefineCursor to XIDefineCursor (see XInput2 extension) (LP:
824
#1179155). (LP: #1179155)
826
[ Łukasz 'sil2100' Zemczak ]
827
* Qt is stupid since it uses the stupid X11 protocol - let's not set
828
all the attributes (especially override_redirect) every time, only
829
in cases when it's actually needed (LP: #1141079). (LP: #1141079)
832
* Satisfy matchers on getProperty as soon as they are set. The order
833
of evaluation for matchers in Google Mock appears to be undefined -
834
this means that we can't rely on the first argument being matched
835
first and the second argument being matched afterwards. In turn,
836
this means that any GValue may be passed to a GValueMatch which, by
837
a design flaw, is unable to handle any values of a type it does not
838
expect (at least not without an API change). It will silently pass
839
the incorrect type to g_type_get_* which causes internal assertion
840
failures. At the moment we're just interleaving the calls to
841
getProperty and get_property - that way the expectations are
842
satisfied and go away as soon as they're set. This in turn means
843
that Google Mock only has to traverse one matcher rather than
844
multiple matchers. (LP: #1187468). (LP: #1187468)
845
* Extends invisible borders to the title bar too. (LP: #717444). (LP:
847
* Disable grid/put_maximize_key on ubuntu.
848
* Port to new gmock. Disable some faling tests because of weird leaks.
850
* Update window geo only on new decoration size only if mapped. (LP:
851
#1198000). (LP: #1198000)
852
* Disable show_desktop_key by default on ubuntu. Will provide the same
853
option under the unityshell panel. (LP: #1204664)
854
* Use Glib::RefPtr<Glib::Source> in glib_integration_test and compiz
855
core too. After the fix of bug
856
https://bugzilla.gnome.org/show_bug.cgi?id=561885
857
Glib::Source::~Source is called when both Source::unreference() and
858
SourceCallbackData::destroy_notify_callback() are called. (LP:
862
* Also take into account the gravity requirements when validating
863
reposition requests. Get most of that code under test too. (LP:
864
#1159324). (LP: #1159324)
865
* Install compizconfig backends to the correct libdir (LP: #1163611).
867
* Don't timeout after 3000ms when asking compiz for a startup message.
868
It can sometimes take longer in the valgrind case. Also timeouts are
869
bad design for tests. (LP: #1169170). (LP: #1169170)
870
* Check for USE_GCONF if USE_GSETTINGS is unavailable when
871
instantiating different types of settings objects. (LP: #1169172).
873
* Link in CMAKE_THREAD_LIBS_INIT through GTEST_BOTH_LIBRARIES so it
874
gets included in everything. Remove redundant links. Require
875
FindThreads.cmake. (LP: #1171364). (LP: #1171364)
876
* Explicitly check if the smart pointers are null rather than
877
converting implicitly to bool as boost 1.53 now marks the bool
878
operator as explicit (LP: #1172601). (LP: #1172601)
879
* Rewrite screen size change tests. 1. Rename the overly-terse
880
variables names to variables names that have some significance 2.
881
Split the giant three-test structure into multiple tests each with
882
only one assert 3. Remove a lot of redundant calculation 4. Remove
883
magic numbers peppered throughout the code. Use constants and
884
express asserts as relationships between those constants. 5.
885
Refactor some of the more common test-advancement code (such as
886
changing the screen size) into the test fixture as common methods.
887
(LP: #1167983). (LP: #1167983)
888
* Refactor screenshot code to make it clearer and also to allow us to
889
take screenshots in glPaintOutput as opposed to paint (). Taking
890
screenshots in paint () was probably correct pre-GLES, but isn't
891
really correct now - we want to be able to read off of the currently
892
bound scratch framebuffer where we last painted the frame. Reading
893
off the frontbuffer is an imprecise operation because the contents
894
of both buffers are really undefined after a swap. In the case where
895
we are not painting to a scratch framebuffer object, we'll just end
896
up reading from the backbuffer anyways, which would be correct to do
897
mid-frame. Also added the new static const GLenums
898
DRAW_FRAMEBUFFER_BINDING and READ_FRAMEBUFFER_BINDING to opengl.h.
899
(LP: #771875). (LP: #771875)
900
* Set libcompizconfig_libdir before the modules get a chance to see
901
it. (LP: #1173799). (LP: #1173799)
902
* Try to launch tests on another server if there's tests running in
903
parallel. Provide our own compiz_xorg_gtest_main and subclass
904
xorg::testing::Environment to try and launch tests on another
905
display if there's tests running on one already. This isn't by any
906
means perfect - there are still race conditions surrounding
907
XOpenDisplay and parallel test runs but it makes a more smaller time
908
gap for conditions such as: 1. Client has a server grab on the
909
display we're checking and won't let go. 2. Two servers get
910
launched on one port and one set of tests interfere with the
911
other. It also means that we're now unable to configure the display
912
port, log file and config file on the command line. But we weren't
913
using that anyways. Finally, the logs now point to
914
/tmp/Compiz.Xorg.GTest.displaynum.log (LP: #1178514). (LP: #1178514)
915
* Fix some files not installing: 1. gsettings schemas never get added
916
to the install_manifest list because we use install (CODE) so we
917
need to add a custom uninstall target for those, and also need to
918
recompile on uninstall too 2. Run the gtk-update-icon-cache stage
919
during install for ccsm and also add icon-theme.cache to the
920
uninstall target (LP: #1168475). (LP: #1168475)
921
* Wall: Fixed broken wall edge flipping functions: "Edge Flip Pointer"
922
"Edge Flip Move" Removed void WallScreen::updateScreenEdgeRegions ()
923
completely. This function not needed hereat all, no other plugin
924
needs to re-define the screen edge regions by itself - just core
925
should do that. The screen edge region updating also confused the
926
edge flipping functionality. case ConfigureNotify: just breaks out
927
now Added missing default: case and a break (just a style issue).
928
Minor cleanup in bool WallScreen::initiateFlip (...). One
929
declaration per line. Note: "Edge Flip DnD" still seems to be
930
broken, but will be fixed in a follow-up proposal. (LP: #771448, LP:
931
#858845). (LP: #771448, #858845)
932
* Add a small compiz_autopilot_acceptance_tests binary based on gtest.
933
This will find autopilot and run a predefined list of tests, wrapped
934
up in the familiar google test format. The predefined list is
935
basically a bunch of tests which effectively interact with the
936
window manager. (LP: #1170013). (LP: #1170013)
937
* Change the behaviour of undecorating windows. Previously when a
938
window was undecorated, we would shift it back to an appropriate
939
position according to its gravity member. That behaviour was
940
problematic because in the StaticGravity case the window has to just
941
stay in the same place. But then if you had a window with
942
StaticGravity which then did get a decoration and later removed it,
943
it would be placed as though it was decorated and appear to be in
944
the wrong place. The correct behaviour is to place all windows as
945
though they have decorations, and then when decorations are removed,
946
to move the window back to the corner as indicated in its gravity
947
and then expand its size to cover the obscured regions no longer
948
hidden because the decorations went away. (LP: #1165343). (LP:
950
* Added some new hooks to PluginClassHandler to allow a VTable to
951
specify if loaded. PluginClassHandler::get () was designed to simply
952
instantiate an instance of that class for the core structure, but it
953
did this without checking if the plugin was loaded. Added some new
954
methods to PluginClassHandler exposed by LoadedPluginClassBridge and
955
only accessible by those who implement PluginKey to specify globally
956
whether or not a plugin is actually loaded, so that
957
PluginClassHandler can return accordingly. Integration and unit
958
tests added as appropriate (LP: #1169620) (LP: #1101026). (LP:
960
* Satisfy matchers on getProperty as soon as they are set. The order
961
of evaluation for matchers in Google Mock appears to be undefined -
962
this means that we can't rely on the first argument being matched
963
first and the second argument being matched afterwards. In turn,
964
this means that any GValue may be passed to a GValueMatch which, by
965
a design flaw, is unable to handle any values of a type it does not
966
expect (at least not without an API change). It will silently pass
967
the incorrect type to g_type_get_* which causes internal assertion
968
failures. At the moment we're just interleaving the calls to
969
getProperty and get_property - that way the expectations are
970
satisfied and go away as soon as they're set. This in turn means
971
that Google Mock only has to traverse one matcher rather than
972
multiple matchers. (LP: #1187468). (LP: #1187468)
973
* Revert revision 3278.
974
* Immediately update the window matrices and regions if the number of
975
textures changed. (LP: #1189369). (LP: #1189369)
976
* Provide a basic decor plugin acceptance test suite. This change
977
provides a simple acceptance test suite for the decor plugin. It
978
creates a fake window decorator (cdt::FakeDecorator) and allows
979
users to create fake decorations (eg cdt::FakePixmapDecoration)
980
which can be serialized as decoration properties and set on windows
981
under xorg-gtest. It also launches compiz with the opengl, composite
982
and decor plugins loaded and runs some basic tests. Among them:
983
BaseDecorAcceptance. Startup: Basic canary "can we start compiz with
985
FakeDecoratorSessionOwnerNameSetOnSelectionOwner: Create a fake
986
decorator, ensure that libdecoration sets our session name "fake" on
987
the selection owner FakeDecoratorReceiveClientMessage: Create fake
988
decorator, ensure that libdecoration posts a client message to the
989
root window announcing that the new decorator exists.
990
DecorationSupportsWindowType: Create a fake decorator, announce
991
support for the WINDOW type decorations and ensure that the correct
992
atom is set on the session owner window.
993
DecorationSupportsPixmapType: Create a fake decorator, announce
994
support for the PIXMAP type decorations and ensure that the correct
995
atom is set on the session owner window.
996
DecorFakeDecoratorAcceptance. WindowDefaultFallbackNoExtents: By
997
default, newly created windows should recieve a fallback decoration
998
but they should not have any frame extents.
999
DecorWithPixmapDefaultsAcceptance. These tests create a default
1000
pixmap decoration to use in the hypothetical situation that the
1001
window decorator hasn't yet generated a decoration for this window.
1002
FallbackRecieveInputFrameNotify: Verify that we get a
1003
_COMPIZ_WINDOW_DECOR_INPUT_FRAME property set on the client when it
1004
is created and mapped (eg, an input frame window was annonuced to be
1005
created) FallbackHasInputFrameInParent: Verify that a second window
1006
exists in the frame window after this message was recieved.
1007
FallbackNormalWindowExtentOnDecoration: Verify that
1008
_NET_FRAME_EXTENTS is set to the default window extents for the
1009
default decoration when the window was mapped.
1010
FallbackNormalWindowInputOnFrame: Verify that the input window
1011
matches the extents set. PixmapDecoratedWindowAcceptance. These
1012
tests create a new window and an associated unique decoration for
1013
that window. MaximizeBorderExtentsOnMaximize: Maximize the window
1014
and ensure that the correct border extents are used.
1015
MaximizeBorderExtentsOnVertMaximize: Vertically maximize the window
1016
and ensure that the correct border extents are used.
1017
MaximizeBorderExtentsOnHorzMaximize: Horizontally maximize the
1018
window and ensure that the correct border extents are used.
1019
MaximizeFrameWindowSizeEqOutputSize: Maximie the window and ensure
1020
that the frame window exactly equals the output size.
1021
VertMaximizeFrameWindowSizeEqOutputYHeight: Maximize the window and
1022
ensure that the frame window's Y and Height values are consistent
1023
with the output size. HorzMaximizeFrameWindowSizeEqOutputXWidth:
1024
Ditto horizontal maximization.
1025
DISABLED_VertMaximizeFrameWindowSizeSameXWidth: Maximize the window
1026
vertically and ensure that the frame window's border-relative X
1027
position and width does not change. This test is disabled, as the
1028
behavior in compiz is currently broken, (but it means that we can
1029
fix it later and enable the test).
1030
DISABLED_HorzMaximizeFrameWindowSizeSameYHeight Maximize the window
1031
horizontally and ensure that the frame window's border-relative Y
1032
position and height does not change. This test is disabled, as the
1033
behavior in compiz is currently broken, (but it means that we can
1034
fix it later and enable the test). (LP: #1188900). (LP: #1188900)
1035
* Only mark for no further instantiations once we've finished
1036
destructing the plugin (LP: #1193596). (LP: #1193596)
1037
* Add more acceptance tests for the decor plugin.
1038
PixmapDecoratedWindowAcceptance. UndecoratedWindowExpandToOrigSize
1039
Test that upon undecoration, the window has exactly the same
1040
geometry as it did before decoration.
1041
DISABLED_UndecorateStaticGravityWindow Tests that for windows with a
1042
static gravity, the window has exactly the same geometry as it did
1043
before decoration. Disabled, as core is currently not moving the
1044
window with the static gravity back to where it started.
1045
AdjustmentExtents/PixmapDecorationAdjustment.
1046
AdjustRestoredWindowBorderMovesClient/P Test that changing the
1047
border extents causes the client window's absolute geometry to
1048
change. DISABLED_AdjustRestoredWindowBorderShrinkClient/P Tests that
1049
changing the border extents causes the client window's absolute
1050
geometry to shrink by the amount of border. Disabled, as the current
1051
behavior is to expand the frame window as opposed to shrinking the
1052
client (but this will be changed).
1053
DISABLED_ClientExpandsAsBorderShrinks/P Tests that as the border
1054
shrinks away, the client expands back to its original size.
1055
Disabled, as the current behavior is to expand the frame window as
1056
opposed to shrinking the client (but this will be changed).
1057
DISABLED_ClientExpandsAsBorderShrinksWhilstMaximized/P Tests that
1058
even if the client is maximized, if the restored border shrinks away
1059
it demaximizes back to the same position while also accounting for
1060
any change in the restored window border size. Disabled, as the
1061
current behavior is to expand the frame window as opposed to
1062
shrinking the client (but this will be changed).
1063
DISABLED_ClientExpandsAsBorderShrinksWhilstUndecorated/P Tests that
1064
even when the client is not permitted to be decorated because the
1065
decoration hint was removed, when it is redecorated it will be moved
1066
to the correct position taking into account any changes in its
1067
border size. Disabled, as the current behavior is to expand the
1068
frame window as opposed to shrinking the client (but this will be
1069
changed). DISABLED_AdjustRestoredWindowInputNoMoveClient/P Tests
1070
that adjusting the input extents (as independent from the border
1071
extents) of the client does not cause the client to move. Disabled,
1072
as this behavior appears to be broken in core. Move the
1073
"GetImmediateParent" function into the compiz::testing namespace so
1074
that it can be used by other tests. (LP: #1188900)
1075
* Unrevert 3728, fix failing tests. Change the behaviour of
1076
undecorating windows. Previously when a window was undecorated, we
1077
would shift it back to an appropriate position according to its
1078
gravity member. That behaviour was problematic because in the
1079
StaticGravity case the window has to just stay in the same place.
1080
But then if you had a window with StaticGravity which then did get a
1081
decoration and later removed it, it would be placed as though it was
1082
decorated and appear to be in the wrong place. The correct behaviour
1083
is to place all windows as though they have decorations, and then
1084
when decorations are removed, to move the window back to the corner
1085
as indicated in its gravity and then expand its size to cover the
1086
obscured regions no longer hidden because the decorations went away.
1087
(LP: #1165343). 1. Completely remove decorOffsetMove and other
1088
related code from decor.cpp. Put the logic to handle the
1089
window->input () - window->border () placement offset inside of
1090
setWindowFrameExtents instead. Now the window will always be
1091
offset from its original non-decorated position to the new
1092
decorated position, rather than having to guess between
1093
decoration sizes. 2. Make saveGeometry and restoreGeometry work
1094
relative to window->border () as opposed to including it in the
1095
saved geometry. It is possible that the border size might
1096
change during maximization, as such, we don't want to save the
1097
position with the border before maximizing. Instead save the
1098
position as if it were never decorated so that when the window
1099
is restored it can be restored to its original position and
1100
then adjusted for its new border size. 3. Fix a few typoes in the
1101
tests. 4. Moved some commonly used matchers into compiz::testing
1102
5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in
1103
each one of them for the plugin 6. Set COMPIZ_PLUGIN_DIR
1104
appropriately for each plugin that we wish to load on startup
1105
so that we load locally built plugins as opposed to installed
1106
ones. 7. Uncomment compiz_discover_tests for the acceptance
1107
tests. Now they are run by default. (LP: #1195522). (LP:
1109
* Add a simple script for making releases.
1110
* Port to new gmock. Disable some faling tests because of weird leaks.
1112
* Don't add the frame to the toplevel stack if it hasn't been created
1113
yet. In the event that a window is unreparented or destroyed, we
1114
usually need to add its frame window to the toplevel window stack
1115
until the time at which we recieve a DestroyNotify for it, as there
1116
may be incoming ConfigureNotify events puporting to stack other
1117
windows relative to that frame. However, this does not apply in the
1118
case where we have not yet received a CreateNotify for the frame
1119
window. In that case, it is not possible for any stacking requests
1120
to be made relative to this window, so it does not need to be added
1121
immediately. Instead, we can add it at the time that we recieve a
1122
CreateNotify for it as a regular override redirect window until the
1123
time that it is later destroyed. (LP: #1171314). (LP: #1171314)
1124
* Remove redundant src/logmessage/include/core/logmessage.h (LP:
1125
#1067246). (LP: #1067246)
1126
* Adjust acceptance tests for the fix to LP: #1198000 1. Always set
1127
frame extents before updating the frame 2. Added
1128
COMPIZ_NO_CONFIGURE_BUFFER_LOCKS so that we don't have to deal with
1129
the delayed configure requests logic in the tests where it does not
1130
help 3. Split restoredDecorationSize in to
1131
restoredDecorationBorderSize and restoredDecorationInputSize so that
1132
we can measure the size of the decoration both in terms of its
1133
visible and invisible border 4. Wait for the default decoration
1134
properly 5. Capture the initial geometry of the window with and
1135
without decorations when the window gets its first decoration. Use
1136
these values to calculate the size changes in the window from then
1137
on instead of its creation values 6. Just flag when the window was
1138
first decorated in setWindowFrameExtents rather than checking if it
1139
is mapped. We only want to not resize the window once. (LP:
1141
* Release version 0.9.10.0
1142
* Bump VERSION to 0.9.10.2
1144
[ Ubuntu daily release ]
1145
* Automatic snapshot from revision 3781
1147
-- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 22 Aug 2013 06:58:07 +0000
14
1149
compiz (1:0.9.9~daily13.04.18.1~13.04-0ubuntu4) saucy; urgency=low