12006-06-21 David Reveman <davidr@novell.com> 2 3 * src/window.c: Add updateTransientHint to protect against circular 4 transient dependencies. (bnc 186825) 5 62006-06-20 David Reveman <davidr@novell.com> 7 8 * src/window.c (addWindowSizeChanges): Constrain window 9 dimensions if they are too large. 10 11 * gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop): 12 Trap X errors. 13 142006-06-20 Dan Winship <danw@novell.com> 15 16 * configure.ac (ALL_LINGUAS): Add pl 17 182006-06-16 David Reveman <davidr@novell.com> 19 20 * plugins/compiz.schemas.in.in: Regen. 21 22 * plugins/switcher.c: 23 * plugins/scale.c: Add modal dialogs and fullscreen windows 24 to default window types. (bnc 185749) 25 26 * gnome/window-decorator/gnome-window-decorator.c: Track motif 27 WM hints and disable decorations when application wants no 28 titlebar. (bnc 185852) 29 302006-06-15 David Reveman <davidr@novell.com> 31 32 * plugins/cube.c (cubePaintTransformedScreen): Remove 33 PAINT_SCREEN_CLEAR_MASK from mask. 34 35 * plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK 36 when zooming. (bnc 183676) 37 38 * src/paint.c (paintTransformedScreen): Clear color buffer if 39 PAINT_SCREEN_CLEAR_MASK is present. 40 41 * include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK. 42 43 * gnome/window-decorator/gnome-window-decorator.c: Add DM selection 44 support and --repalce option so it's possible to replace an 45 existing window decorator in the same way as it's possible to replace 46 a window manager. (bnc 185296) 47 (close_button_event): 48 (max_button_event): 49 (min_button_event): De-highlight on NotifyGrab. (bnc 185293) 50 512006-06-12 Dan Winship <danw@novell.com> 52 53 * plugins/cube.c: 54 * plugins/switcher.c: Mark cube as needing to load before switcher 55 rather than marking switcher as requiring cube. bnc #183676. 56 57 * plugins/gconf-dump.c (dumpPluginOptions): Output load_before and 58 requires for all plugins, even if the list is empty, to ensure 59 that an empty value in a new release overrides a non-empty value 60 in an older release. 61 62 * plugins/compiz.schemas.in.in: regen 63 642006-06-09 Dan Winship <danw@novell.com> 65 66 * configure.ac: add translations 67 682006-06-09 David Reveman <davidr@novell.com> 69 70 * plugins/move.c (moveHandleMotionEvent): Handle shaded windows 71 better. 72 73 * src/window.c (maximizeWindow): 74 * src/event.c (handleEvent): Allow windows to be both maximized 75 and shaded. 76 77 * src/window.c: Update addWindowSizeChanges so it can be used by 78 moveResizeWindow. 79 (updateWindowAttributes): Add missing sendSyncRequest call. 80 (addWindowSizeChanges): Make maximized window placement a bit better. 81 (moveResizeWindow): Adjust window geometry using 82 addWindowSizeChanges. (bnc 183121) 83 84 * src/window.c: Only allow shading on windows with top decoration. 85 86 * src/event.c (handleEvent): Check that shade action is allowed 87 before shading a window. 88 892006-06-08 David Reveman <davidr@novell.com> 90 91 * plugins/decoration.c (decorInitWindow): 92 * plugins/minimize.c (minInitWindow): 93 * src/window.c (addWindow): Handle initially shaded windows 94 correctly. 95 96 * plugins/switcher.c (switchTerminate): Only use hideWindow 97 if switcher window is managed and mapped. 98 (switchInitiate): Only use showWindow if switcher window is 99 hidden. (bnc 182519) 100 101 * plugins/minimize.c (minHandleEvent): Make sure we adjust the window 102 region correctly when it's being unshaded. 103 1042006-06-07 David Reveman <davidr@novell.com> 105 106 * configure.ac: Bump version to 0.0.13. 107 108 * plugins/compiz.schemas.in.in: Regen. 109 110 * src/window.c: Add window shading support. 111 112 * src/screen.c: 113 * src/paint.c: 114 * src/event.c: Adjust for window shading support. 115 (handleEvent): Handle RESTACK client messages with sibling None 116 correctly. 117 118 * src/event.c: 119 * src/display.c: Add toggle window shade binding. 120 121 * plugins/minimize.c: Add window shading animation support. 122 123 * plugins/fade.c: 124 * plugins/place.c: 125 * plugins/resize.c: 126 * plugins/scale.c: 127 * plugins/switcher.c: 128 * plugins/decoration.c: Adjust for window shading support. 129 130 * include/compiz.h: Add window shading support. 131 132 * gnome/window-decorator/gnome-window-decorator.c: lower_window -> 133 restack_window and change it so it can be used for both 134 raising and lowering a window. 135 Add support for double_click_titlebar setting. 136 (title_event): Don't activate window on titlebar click only 137 raise it. Use double_click_action to determine what should be 138 done when titlebar is double clicked. 139 (update_event_windows): Remove vertical resize event windows 140 when top level window is shaded. 141 (window_state_changed): Update event windows when window state 142 changed. 143 144 * gnome/window-decorator/gnome-window-decorator.c: 145 * gnome/compiz-window-manager.c: Add support for shade double click 146 setting. 147 148 * plugins/compiz.schemas.in.in: Regen. 149 150 * plugins/cube.c (cubePaintTransformedScreen): 151 * plugins/wobbly.c (wobblyDrawWindowGeometry): 152 * plugins/switcher.c (switchPaintWindow): 153 * src/paint.c (drawWindowGeometry): Disable client-side texture 154 coordinate arrays that are not used. (bnc #182430) 155 156 * plugins/compiz.schemas.in.in: 157 * plugins/resize.c: 158 * plugins/move.c: Add initiate_keyboard binding which is more 159 appropriate for key-binding as it moves the cursor to middle of 160 window. 161 1622006-06-06 David Reveman <davidr@novell.com> 163 164 * plugins/switcher.c: Track thumbnail damage correctly. 165 (switchPaintScreen): Only intercept paintScreen when screen is 166 grabbed or we're zooming and ss->translate > 0.001. 167 (switchPaintScreen): Paint switcher window correctly when we're 168 not zooming. 169 Add cube as a dependency to make sure background is rendered 170 correctly when zooming. 171 (bnc #181909) 172 173 * src/window.c (moveResizeWindow, ensureWindowVisibility): 174 Don't make sure fullscreen windows are in workarea. 175 (fdo #7115) (bnc #181907) 176 177 * src/event.c (handleEvent): Track XA_WM_CLASS property changes. 178 179 * src/window.c: 180 * include/compiz.h: remove updateWindowClass and update 181 updateWindowClassHints. 182 1832006-06-02 David Reveman <davidr@novell.com> 184 185 * configure.ac: Bump version to 0.0.12. 186 187 * src/event.c (handleEvent): Fix typo. 188 189 * gnome/window-decorator/gnome-window-decorator.c: 190 Hide tooltips on NotifyGrab. (bnc #180692) 191 1922006-06-01 Dan Winship <danw@novell.com> 193 194 * src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP 195 request with no window set, set the flag on all screens. (Fixes 196 the KDE "show desktop" applet.) Also, don't allow a client to 197 change its _NET_WM_DESKTOP. 198 199 * src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to 200 0; KDE's pager and tasklist require this to be set. (bnc 178320) 201 2022006-06-01 David Reveman <davidr@novell.com> 203 204 * include/compiz.h: 205 * src/window.c: Add updateWindowClass. 206 2072006-05-31 David Reveman <davidr@novell.com> 208 209 * include/compiz.h: 210 * src/screen.c: 211 * src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055) 212 213 * include/compiz.h: 214 * src/window.c: Add getStartupId. 215 216 * src/screen.c: Save initial viewport when startup notification 217 is received. Fix implementation of applyStartupProperties. 218 (bnc 180224) 219 220 * src/event.c (handleEvent): Handle startup ID property changes. 221 222 * plugins/place.c: Adjust work area to initial viewport. 223 224 * plugins/cube.c (cubePaintTransformedScreen): Disable skydome 225 animation while cube is unfolded. (bnc 179833) 226 227 * plugins/switcher.c (switchPaintWindow): Make sure selected window is 228 not clipped incorrectly when some window is transformed. (bnc 179828) 229 230 * plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot. 231 (bnc 179902) 232 233 * src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work) 234 2352006-05-30 Dan Winship <danw@novell.com> 236 237 * configure.ac: Check libwnck for wnck_window_has_name (new in 238 HEAD). 239 240 * gnome/window-decorator/gnome-window-decorator.c 241 (wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME, 242 redefine wnck_window_get_name to return NULL if the window only 243 has a fallback name. bnc 173059. 244 245 * src/event.c (handleEvent): call moveInputFocusToOtherWindow() 246 before destroyWindow() when processing a DestroyNotify, or else 247 the input focus can get stranded. 248 2492006-05-26 David Reveman <davidr@novell.com> 250 251 * plugins/compiz.schemas.in.in: Regen. 252 253 * plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE. 254 255 * plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration 256 on windows with below state. 257 258 * src/window.c (recalcWindowType): Treat dock windows with below state 259 as normal windows. (bnc #178316) 260 261 * plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case 262 when more than 4 cube sides. 263 2642006-05-25 David Reveman <davidr@novell.com> 265 266 * plugins/compiz.schemas.in.in: Regen. 267 268 * src/window.c (moveResizeWindow): Don't adjust position for NorthWest 269 gravity. (bnc 178765) (fdo #6992) 270 271 * plugins/compiz.schemas.in.in: 272 * include/compiz.h: 273 * src/event.c (handleEvent): 274 * src/display.c: Add maximize_window_horizontally, 275 maximize_window_vertically, toggle_window_maximized, 276 toggle_window_maximized_horizontally, 277 toggle_window_maximized_vertically. 278 279 * src/event.c (handleEvent): Track changes to maximizeWindow function. 280 281 * plugins/move.c (moveHandleMotionEvent): Make sure we have a saved 282 width before we use it. Track changes to maximizeWindow function. 283 284 * plugins/wobbly.c (wobblyHandleEvent): Handle the case where 285 window is not both vertically and horizontally maximized better. 286 287 * include/compiz.h: Add MAXIMIZE_STATE macro. 288 289 * include/compiz.h: 290 * src/window.c: Remove unmaximizeWindow and make maximizeWindow 291 take a state mask so it can be used for both maximizing and 292 unmaximizing. 293 294 * plugins/switcher.c: Don't add windows that appear after the switcher 295 is popped up. (bnc 178350) 296 (switchWindowRemove): Don't create a new list. Instead remove 297 window from the existing list and make sure we're positioned 298 correctly. 299 3002006-05-24 David Reveman <davidr@novell.com> 301 302 * plugins/scale.c (scaleMoveFocusWindow): When moving to window on 303 left, make sure the window we're moving to is completely left of 304 currently selected window. And same thing when moving to window on 305 right, top, bottom. 306 (layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216) 307 3082006-05-23 David Reveman <davidr@novell.com> 309 310 * plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on 311 MSBFirst machines. 312 313 * src/texture.c: Include config.h before compiz.h so that 314 IMAGE_BYTE_ORDER is defined correctly. (bnc 178171) 315 316 * include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER, 317 BITMAP_BIT_ORDER. (bnc 178171) 318 3192006-05-23 Dan Winship <danw@novell.com> 320 321 * plugins/switcher.c (switchToWindow): use ss->windows here as 322 well so that multiple activeNum==0 windows don't get skipped. 323 (switchTerminate): Remove the screen grab right away so that 324 keystrokes don't get dropped. bnc 177650 325 (switchPreparePaintScreen, switchPaintScreen, 326 switchDonePaintScreen): update for that 327 3282006-05-22 Dan Winship <danw@novell.com> 329 330 * src/window.c (moveResizeWindow): deal with both vertical and 331 horizontal struts; but not when moving a dock window 332 333 * plugins/switcher.c (switchHandleEvent): Check init_all binding 334 before init, so you can bind "<Alt>" to init_all and so end up 335 with "<Alt>Tab" being init_all rather than init (but with no way 336 to get "init"...). bnc 173376 337 3382006-05-21 David Reveman <davidr@novell.com> 339 340 * src/display.c (addDisplay): Select for button events on root windows. 341 342 * configure.ac: Bump version to 0.0.11. 343 344 * gnome/window-decorator/gnome-window-decorator.c: Fix shadow 345 performance by separating the convolution filter into one vertical and 346 one horizontal pass. 347 348 * src/window.c (mapWindow): Give sync request on map another try, it 349 seems to be working now. 350 351 * src/window.c (addWindow): Allow XGetWindowAttributes to fail. 352 (bnc 173416). 353 354 * src/window.c (addWindow): Initialize managed to false. Set managed 355 to true if widows is viewable. 356 357 * src/event.c (handleEvent): Set managed to false when window 358 transitions to withdrawn state. 359 (handleEvent): Set managed to true when we get MapRequest. 360 (handleEvent): Constrain configure request if window is managed. 361 362 * include/compiz.h: Add "managed" variable that is true while 363 windows is managed. 364 3652006-05-19 David Reveman <davidr@novell.com> 366 367 * plugins/switcher.c (ICON_SIZE): Allow use of larger window icons. 368 3692006-05-18 Dan Winship <danw@novell.com> 370 371 * plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to 372 match wobblyInitScreen() so that it actually works right. 373 374 * plugins/compiz.schemas.in.in: regen 375 3762006-05-18 Dan Winship <danw@novell.com> 377 378 * src/session.c (saveYourselfCallback): if we have a 379 RestartCommand registered with the session manager, update the 380 --sm-client-id in it to match the id we were assigned. bnc 176746 381 382 * src/main.c (main, usage): remove unused --sm-save-file arg and 383 fix documentation of --sm-client-id. 384 3852006-05-17 David Reveman <davidr@novell.com> 386 387 * plugins/compiz.schemas.in.in: Regen (Overlay Icon). 388 389 * plugins/switcher.c (switchPaintScreen): Don't remove switcher 390 from window list, just temporarily mark it as destroyed. This fixes 391 issue with switcher decorations disappearing when some window is 392 unmapped. 393 394 * src/screen.c (updateDefaultIcon): width and height should be 395 unsigned. 396 397 * gnome/window-decorator/gnome-window-decorator.c: Add minimal 398 option that can be used to run g-w-d with drop-shadows but without full 399 window decorations. 400 401 * plugins/minimize.c (minHandleEvent): Restore window position 402 when transitioning to withdrawn state. 403 404 * plugins/scale.c: Remove next_window binding and fix so that arrow 405 keys can be used to select window. 406 Focus new window when pointer enter window decorations and sloppy focus 407 is used. 408 Remove scaleSelectWindow. 409 410 * plugins/scale.c: Icon support (Nat Friedman). 411 4122006-05-17 Dan Winship <danw@novell.com> 413 414 * src/display.c (handleSelectionClear, eventLoop): don't process 415 exit-on-selection-clear until the event queue is empty, or else 416 MapRequest and ConfigureRequest events could get lost. bnc 175558 417 4182006-05-14 David Reveman <davidr@novell.com> 419 420 * src/event.c (handleEvent): mapNum might be 0 if we found the window 421 unmapped when trying to bind it to a texture. 422 4232006-05-12 David Reveman <davidr@novell.com> 424 425 * src/screen.c (enterShowDesktopMode): Only go into show desktop mode 426 when some window is being hidden. 427 428 * src/event.c (handleWindowDamageRect): Make sure placed is set to true 429 when no plugin is doing placement. 430 (handleEvent): Don't set WM_STATE on override redirect windows. 431 432 * plugins/switcher.c (isSwitchWin): Don't show windows that ask not to 433 be in tasklists. 434 435 * plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window 436 has been placed. 437 438 * plugins/minimize.c (minHandleEvent): Reset everything when going 439 into withdrawn state. 440 441 * src/window.c (moveResizeWindow): Handle west and north gravity 442 correctly. 443 4442006-05-11 David Reveman <davidr@novell.com> 445 446 * src/display.c (addDisplay): 447 * src/screen.c (addScreen): Move server grab to addDisplay to make 448 sure that no windows are created between XSelectInput and XQueryTree 449 as that would result in them being added two times. 450 451 * src/window.c (moveResizeWindow): Fix typo, CWY should be CWX. 452 (moveResizeWindow): Constrain Y position so that window titlebar is 453 visible. 454 (restoreWindowGeometry): Fix issue with going from maximized state 455 to non-maximized state without changing the window size. 456 457 * gnome/window-decorator/gnome-window-decorator.c 458 (max_window_name_width): Make sure title text fit in titlebar. 459 4602006-05-11 Dan Winship <danw@novell.com> 461 462 * plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as 463 meaning "disabled" 464 4652006-05-11 David Reveman <davidr@novell.com> 466 467 * gnome/window-decorator/gnome-window-decorator.c (action_menu_map): 468 Don't show window action menu on desktop and dock windows. 469 470 * src/event.c (handleEvent): Allow click on window decorations 471 to trigger window action menu. 472 473 * plugins/place.c (placeWindow): Place fullscreen and maximized 474 windows correctly. 475 (placeWindow): Only clip dialog position to screen if parent is 476 visible in current viewport. 477 4782006-05-09 David Reveman <davidr@novell.com> 479 480 * plugins/switcher.c (switchPaintThumb): Rearrange code so we handle 481 the case when bindWindow fails. 482 483 * src/paint.c (paintWindow): Bail out if window is not mapped. 484 485 * src/window.c (bindWindow): Make sure window is mapped when 486 getting the window pixmap. (bnc 173248) 487 488 * plugins/compiz.schemas.in.in: Regen. 489 490 * plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as 491 performance seem to be OK now when new mipmaps are only generated 492 when necessary. 493 494 * src/texture.c (enableTexture): Don't generate new mipmaps 495 every time the texture is used. 496 4972006-05-08 David Reveman <davidr@novell.com> 498 499 * plugins/switcher.c: Allow switcher to be initiated with prev 500 bindings. (Quinn Storm) 501 5022006-05-07 David Reveman <davidr@novell.com> 503 504 * plugins/compiz.schemas.in.in: Regen. 505 506 * plugins/switcher.c: Add icon support, minimized windows support 507 and allow switcher to show up when only one selectable window exist. 508 509 * images/Makefile.am: Add default icon image. 510 511 * include/compiz.h: 512 * src/texture.c: 513 * src/event.c (handleEvent): 514 * src/screen.c: 515 * src/display.c: 516 * src/window.c: Add WM icon interface. 517 518 * gnome/window-decorator/gnome-window-decorator.c: Compute 519 switcher title text width correctly. 520 521 * src/event.c (handleEvent): Insert windows correctly when 522 reparenting. 523 5242006-05-07 Dan Winship <danw@novell.com> 525 526 * configure.ac: Add --with-scale-corner option and make 527 compiz.schemas reflect it; the best corner to use depends on where 528 the panels are and what's on them, so distros will want to 529 override this to match their default panel layout. 530 531 * src/event.c (eventMatches): Fix the the "water plugin gets 532 mysteriously activated when activating some other keybinding" bug. 533 5342006-05-05 Dan Winship <danw@novell.com> 535 536 * Makefile.am: 537 * autogen.sh: 538 * configure.ac: require intltool for option-description 539 translation 540 541 * plugins/Makefile.am: translate compiz.schemas.in into 542 compiz.schemas 543 5442006-05-05 Dan Winship <danw@novell.com> 545 546 * src/display.c (COMMAND_OPTION): Put numbers into the shortDescs 547 of the command and run_command options 548 549 * plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift 550 rather than Control, for consistency with Metacity, and to remove 551 the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube" 552 or "move with snapping". (bnc 169402) 553 554 * plugins/compiz.schemas: regen 555 5562006-05-05 David Reveman <davidr@novell.com> 557 558 * plugins/compiz.schemas: Regen. 559 560 * gnome/window-decorator/gnome-window-decorator.c: Forward 561 metacity's bell settings to compiz. 562 563 * plugins/water.c: 564 * plugins/wobbly.c: 565 * plugins/fade.c: Add visual bell. 566 567 * include/compiz.h: 568 * src/display.c: Add audible bell option. 569 5702006-05-04 David Reveman <davidr@novell.com> 571 572 * src/window.c (getModalTransient): Avoid infinite recursion when more 573 than one group transient got modal state. 574 5752006-05-03 David Reveman <davidr@novell.com> 576 577 * plugins/move.c: 578 * plugins/resize.c (resizeHandleMotionEvent): Don't constrain the 579 cursor. 580 581 * plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow 582 to figure out which viewport we should move to. (bnc 152677) 583 584 * src/window.c (addWindowSizeChanges): Offset x coordinate with 585 default viewport coordinate. (bnc 171465) 586 (updateWindowAttributes): Always add windows size changes. (bnc 171465) 587 588 * include/compiz.h: 589 * src/window.c (defaultViewportForWindow): Add defaultViewportForWindow 590 function that computes the default viewport for a window. 591 5922006-05-02 David Reveman <davidr@novell.com> 593 594 * plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more 595 to make sure the cube unfolds completely. 596 597 * src/event.c (handleEvent): Not constraints should be applied to 598 ConfigureRequests for withdrawn windows. (bnc 171143) 599 600 * src/window.c (syncWindowPosition): We never need to send synthetic 601 ConfigureNotify events as we're not reparenting windows. 602 6032006-05-02 Dan Winship <danw@novell.com> 604 605 * plugins/gconf-dump.c: rewrite to make compiz.schema regeneration 606 a little easier, and to make it possible to generate schema files 607 for third-party plugins. Include plugin descriptions and 608 dependency information in the schema. 609 610 * plugins/Makefile.am: add a rule to generate compiz.schemas 611 612 * plugins/compiz.schemas: regen 613 614 * plugins/cube.c, plugins/decoration.c, plugins/fade.c, 615 plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c: 616 s/expose/scale/ in dependencies 617 6182006-05-02 David Reveman <davidr@novell.com> 619 620 * include/compiz.h: 621 * configure.ac: Don't require glproto, include necessary enums in 622 compiz.h. 623 624 * src/texture.c: 625 * include/compiz.h: Update to latest EXT_tfp spec. Requires an 626 X server that has also been updated. 627 628 * configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens. 629 6302006-05-01 David Reveman <davidr@novell.com> 631 632 * src/window.c (circulateWindow): 633 * src/event.c (handleEvent): Use getTopWindow instead of 634 reverseWindows->id as reverseWindows might be a destroyed window. 635 636 * include/compiz.h: 637 * src/screen.c: Add getTopWindow function that returns top window. 638 6392006-04-30 David Reveman <davidr@novell.com> 640 641 * plugins/compiz.schemas: Regen. 642 643 * plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen 644 windows. 645 646 * plugins/cube.c: Add initial support for unfolding the cube. Default 647 key-binding is <Control><Alt>Down. 648 649 * plugins/rotate.c (rotateHandleEvent): Fix absolute rotation. 650 651 * plugins/switcher.c: Fix so that bring-to-front doesn't change 652 the actual stacking order. 653 Add zoom option, enable it by default so it gets some testing. 654 Made bring-to-front enabled by default as it makes zoom functionality 655 more useful. 656 Made switcher window always rendered above all other windows and 657 not affected by screen transformations. 658 659 * src/event.c (handleEvent): Send configure notify before mapping 660 window if PPosition or USPosition is set. 661 662 * src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to 663 be mapped. This change seem to currently by causing the 664 stacking order of some override-redirect windows to be incorrect. 665 Don't insert window when aboveId doesn't match an existing window. 666 (removeScreenGrab): ifdef DEBUG around abort. 667 668 * src/event.c (handleEvent): Only update active window property 669 when it's changing. 670 671 * src/window.c (sendConfigureNotify): Make sure the latest 672 window attributes are put in the ConfigureNotify. 673 (moveResizeWindow): Only send sync request if window is mapped. 674 675 * plugins/rotate.c: Add support for edge-flipping when using 676 drag-and-drop. Remove edge_flip and flip_move options and add 677 edge_flip_pointer, edge_flip_move, edge_flip_dnd. 678 679 * src/screen.c: 680 * src/display.c: 681 * include/compiz.h: 682 Make screen edges drag-and-drop aware. 683 684 * plugins/zoom.c: 685 * plugins/water.c: 686 * plugins/switcher.c: 687 * plugins/scale.c: 688 * plugins/rotate.c: 689 * plugins/resize.c: 690 * plugins/move.c: 691 * src/scren.c: 692 * include/compiz.h: 693 Variable argument list to otherScreenGrabExist, last argument must 694 be 0. 695 696 * src/event.c: 697 * src/display.c: 698 * include/compiz.h: Add raise-on-click option. 699 700 * gnome/window-decorator/gnome-window-decorator.c (title_event): 701 Activate window when clicking titlebar. 702 7032006-04-28 David Reveman <davidr@novell.com> 704 705 * gnome/window-decorator/gnome-window-decorator.c: Back out last change 706 as it clearly didn't fix anything. XFixed being defined as "int" 707 is perfectly fine of course. libXrender is currently broken on 64bit. 708 See Bug #6774 for a fix. 709 (XRenderSetPictureFilter_wrapper): Add workaround for 64bit 710 issue in libXrender. (Dan Winship) 711 712 * src/event.c (handleEvent): 713 * src/display.c: 714 * include/compiz.h: 715 Add show desktop binding. (Martin Szulecki) 716 717 * plugins/rotate.c: Reset timout handle correctly. 718 719 * plugins/move.c: 720 * plugins/resize.c: 721 * plugins/rotate.c: 722 * plugins/scale.c: 723 * plugins/switcher.c: 724 * plugins/water.c: 725 * plugins/zoom.c: Track screen grab changes changes. 726 727 * src/screen.c: 728 * include/compiz.h: Associate all screen grabs with a name. Add 729 otherScreenGrabExist function which can be used to check if screen 730 is grabbed by other plugins. 731 7322006-04-28 Dan Winship <danw@novell.com> 733 734 * src/event.c (eventMatches): new method that replaces EV_KEY and 735 EV_BUTTON. Tests if an event matches a binding, being more precise 736 about modifier state than EV_KEY and EV_BUTTON were. 737 (eventTerminates): Tests if an event is "the opposite" of a 738 binding. (Eg, button or modifier key release.) Replaces 739 CompReleaseMask and "terminate" bindings. 740 (handleEvent): Use eventMatches 741 742 * src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab, 743 updatePassiveKeyGrabs): When passed a keybinding containing just 744 modifiers, grab/ungrab every keypress event that would result in 745 that modifier state (eg, both left and right modifier keys, and 746 allow them to be pressed in any order). 747 748 * src/display.c: Remove CompPressMask from default bindings. 749 (eventLoop): don't add virtual modifiers to event state. 750 (updateModifierMappings): store the XModifierKeymap for later 751 use. 752 753 * plugins/*.c: Use eventMatches and eventTerminates. Remove 754 CompPressMask and "terminate" bindings (except from scale, which 755 is different from the others). 756 757 * plugins/switcher.c: Make initiate_all be just the modifier key 758 used in addition to the initiate binding ("<Control>"). Remove 759 next_window since it doesn't make a lot of sense to have it be 760 different from initiate_all, and make prev_window be just a 761 modifier key as well. ("<Shift>"). 762 (SwitchScreen): add extra options to store the fully-composed 763 initiate_all, prev, and prev_all bindings. 764 (switchScreenInitOptions, switchSetScreenOption): Generate and 765 regenerate initiate_all, prev, and prev_all bindings as needed. 766 (switchHandleEvent): update 767 768 * plugins/gconf-compiz-utils.c: Remove "<Release>" handling. 769 770 * plugins/compiz.schemas: regen, dropping the terminate bindings 771 and updating a few others. 772 773 * include/compiz.h: remove CompPressMask, CompReleaseMask, 774 EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and 775 keycodeToModifiers. Add modMap field to CompDisplay. 776 7772006-04-28 David Reveman <davidr@novell.com> 778 779 * plugins/water.c: Handle enter/leave notify events. 780 781 * plugins/decoration.c (decorInitWindow): Check for window specific 782 decoration on both mapped and unmapped windows so that initially 783 minimized windows get properly decorated. (Dan Winship) 784 785 * gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t 786 instead of XFixed to avoid 64bit issue with XFixed being defined as 787 "int". 788 789 * configure.ac: xrender 0.8.4 is good enough. 790 7912006-04-27 Dan Winship <danw@novell.com> 792 793 * plugins/rotate.c (rotateHandleEvent): for the 794 rotate-to-specific-face keys, rotate counterclockwise when that's 795 faster. (bnc 169427) 796 797 * plugins/scale.c (scaleHandleEvent): Make the corners toggle 798 scale mode rather than only activating it. (bnc 169408) 799 8002006-04-27 David Reveman <davidr@novell.com> 801 802 * configure.ac: Bump version to 0.0.10. 803 804 * plugins/decoration.c: Remove debug variable. 805 806 * src/window.c (addWindow): Check if window is minimized. (Dan Winship) 807 808 * plugins/compiz.schemas: Regen (snapoff and maximize_effect). 809 810 * plugins/wobbly.c: Add maximize effect. 811 812 * plugins/zoom.c: 813 * plugins/water.c: 814 * plugins/rotate.c: 815 * plugins/resize.c: 816 * plugins/move.c: 817 * src/event.c: 818 * src/screen.c: 819 * src/display.c: 820 * include/compiz.h: Add proper warp pointer interface and update 821 all plugins to use it. 822 8232006-04-26 Dan Winship <danw@novell.com> 824 825 * src/event.c (handleEvent): activate window on Button2 click in 826 addition to Button1 and Button3. 827 828 * plugins/gconf.c (gconfSetOption): gconf_value_compare against 829 the old value for list-type options too. 830 (gconfInitOption): Change the call to gconf_client_get_entry to 831 request the default value again; the fix to gconfSetOption will 832 prevent the infinite loops that happened before. 833 8342006-04-26 David Reveman <davidr@novell.com> 835 836 * gnome/window-decorator/gnome-window-decorator.c (update_shadow): 837 Remove comment that is no longer valid. 838 839 * plugins/move.c: Support for maximized windows snap-off. Based on 840 patch by Colin Guthrie. 841 842 * plugins/rotate.c (rotateHandleEvent): Don't do edge flipping 843 when a horizontally maximized or fullscreen window is grabbed. 844 845 * plugins/zoom.c: 846 * plugins/rotate.c: 847 * plugins/resize.c: 848 * plugins/move.c: 849 * src/screen.c: 850 * include/compiz.h: Add warpPointerToScreenPos and use it everywhere 851 we want to invisibly warp the pointer. 852 8532006-04-25 David Reveman <davidr@novell.com> 854 855 * gnome/window-decorator/gnome-window-decorator.c: 856 * plugins/decoration.c: Add clamp and min size. 857 858 * plugins/decoration.c (decorReleaseDecoration): Fix memory leak. 859 860 * plugins/scale.c: Click on background leaves scale mode and enters 861 show desktop mode. (Dan Winship) 862 863 * plugins/minimize.c (minHandleEvent): Initialize scale and 864 translate properly. 865 866 * src/window.c (activateWindow): 867 * src/event.c (handleEvent): 868 * src/screen.c: Add window parameter to leaveShowDesktopMode and 869 use this function for making one window leave show desktop mode. 870 Fixes so that we're leaving show desktop mode when no windows 871 are longer hidden. 872 873 * plugins/scale.c (scaleSetScreenOption): Add missing break statement. 874 875 * plugins/rotate.c (rotateInitScreen): Initialize rotateHandle. 876 877 * src/paint.c (paintScreen): Only paint windows that have been 878 damaged. 879 8802006-04-24 Dan Winship <danw@novell.com> 881 882 * plugins/scale.c: 883 * plugins/switcher.c: clarify the "initiate" descriptions 884 885 * plugins/compiz.schemas: regen 886 8872006-04-24 David Reveman <davidr@novell.com> 888 889 * src/paint.c (paintScreen): Always call paintWindow when window 890 is visible. Fixes so that window animations (fade, minimize...) aren't 891 paused when if window becomes invisible. 892 (paintWindow): Return early if region is empty. 893 894 * plugins/switcher.c: Use hideWindow and showWindow so that the 895 decoration doesn't have to be redrawn every time the switcher window 896 is mapped. 897 898 * src/window.c: 899 * include/compiz.h: Add hidden flag, that can be used to hide windows 900 without minimizing them. 901 902 * plugins/compiz.schemas: Regen (drop-shadow options). 903 904 * configure.ac: xrender 0.9, required for g-w-d. 905 906 * gnome/window-decorator/gnome-window-decorator.c: 907 * plugins/decoration.c: Add configurable drop-shadows. A minor issue is 908 that shadows around "tiny" windows are not rendered correctly when 909 large shadow offsets are used. Solution is to have the decorator set 910 a minimum size for which a decoration can be used so that no shadows 911 are rendered around "tiny" windows. 912 9132006-04-20 Dan Winship <danw@novell.com> 914 915 * plugins/rotate.c: add 12 go-directly-to-cube-face and 12 916 go-directly-to-cube-face-with-window bindings. 917 918 * src/display.c (compDisplayInitOptions): fix the binding type on 919 WINDOW_MENU. 920 921 * plugins/compiz.schemas: Regen. (lower_window, window_menu, 922 scale_image, images, resize, flip_move, move_window_types, and the 923 new rotate bindings) 924 9252006-04-20 David Reveman <davidr@novell.com> 926 927 * src/window.c: 928 * src/event.c (handleEvent): 929 * src/display.c: 930 * include/compiz.h: 931 * gnome/window-decorator/gnome-window-decorator.c: Add force quit 932 dialog. 933 934 * plugins/resize.c: Changed default binding to Button2. 935 936 * src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6. 937 938 * gnome/window-decorator/gnome-window-decorator.c: 939 * include/compiz.h: 940 * src/event.c (handleEvent): 941 * src/display.c: Add window menu binding. 942 943 * gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit 944 actions from compiz and send gnome panel actions for "main menu" and 945 "run dialog" actions. 946 947 * src/event.c (handleEvent): 948 * src/screen.c: 949 * include/compiz.h: 950 * src/display.c (addDisplay): panel action -> toolkit action. 951 952 * src/window.c (getModalTransient): Group transient must not be an 953 ancestor to the window we've currently found as the window to focus. 954 (getModalTransient): Check for child modal transient. 955 9562006-04-19 David Reveman <davidr@novell.com> 957 958 * gnome/compiz-window-manager.c: Be nice to gnome-theme-manager 959 and return a theme even though we currently don't support it. 960 961 * include/compiz.h: 962 * src/main.c: Remove window-image option. 963 964 * include/compiz.h: 965 * plugins/water.c: 966 * plugins/cube.c: 967 * src/texture.c: 968 * src/paint.c: 969 * src/main.c: Add strict-binding option. 970 9712006-04-18 Dan Winship <danw@novell.com> 972 973 * src/event.c (handleEvent): Fix a crasher in the screenshot 974 binding code (and rename some of the #defines to make them not so 975 ridiculously long). Also temporarily hack around a bug in EV_KEY 976 by putting the check for WINDOW_SCREENSHOT before the check for 977 SCREENSHOT. 978 979 * plugins/scale.c: Change the keybinding again, now to "Pause". 980 (F11 is the "fullscreen mode" binding for many apps.) 981 982 * plugins/compiz.schemas: update 983 984 * plugins/gconf.c: 985 * plugins/gconf-compiz-utils.c: 986 * plugins/gconf-dump.c: Rearrange #includes to prevent warning 987 about TRUE and FALSE being redefined 988 9892006-04-18 David Reveman <davidr@novell.com> 990 991 * plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE. 992 993 * src/window.c (recalcWindowActions): Remove maximize and fullscreen 994 actions when resizing isn't allowed. 995 996 * gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning 997 of window buttons. 998 999 * plugins/cube.c (readSvgToTexture): Fix typo. 1000 1001 * plugins/resize.c: Constrain cursor movement to min/max window size. 1002 1003 * src/window.c (constrainNewWindowSize): Fix aspect ratio calculations. 1004 10052006-04-17 David Reveman <davidr@novell.com> 1006 1007 * plugins/cube.c: Put PNG on top face by default. 1008 1009 * images/Makefile.am: Remove window.png. 1010 Add novell.png. 1011 1012 * include/compiz.h: 1013 * src/readpng.c: Add openImageFile. 1014 1015 * plugins/cube.c: Support for PNGs on top face. 1016 Add scale image option which is used to determine if top face 1017 image should be scaled or not. 1018 10192006-04-15 David Reveman <davidr@novell.com> 1020 1021 * plugins/wobbly.c: Add modal dialog type to default list of windows 1022 that should be wobbly when moved. 1023 1024 * plugins/water.c (SET): +1 for border. 1025 10262006-04-14 Dan Winship <danw@novell.com> 1027 1028 * plugins/gconf-dump.c: add "water" to gconfDeps 1029 1030 * plugins/compiz.schemas: regen including the water options 1031 10322006-04-14 David Reveman <davidr@novell.com> 1033 1034 * src/event.c (handleWindowDamageRect): Ignore damage from windows 1035 that aren't redirected. 1036 1037 * include/compiz.h: 1038 * src/window.c: 1039 * src/display.c (eventLoop): 1040 * src/screen.c: Add support for automatic unredirecting of fullscreen 1041 windows. 1042 1043 * plugins/scale.c (scaleInitiate): Layout thumbnails before we 1044 grab the screen to make sure some window exist. 1045 1046 * plugins/resize.c: Allow 4-way resize. (Mike Hearn) 1047 10482006-04-13 Dan Winship <danw@novell.com> 1049 1050 * src/screen.c (panelAction): take a timestamp and pass that to 1051 the panel rather than using CurrentTime 1052 1053 * src/event.c (handleEvent): update for that 1054 1055 * src/window.c (moveResizeWindow): fix the gravity handling so 1056 self-resizing windows don't dance (although I'm pretty sure this 1057 is a symptom of mishandling gravity somewhere else). 1058 1059 * plugins/gconf.c (gconfInitOption): Request the default value of 1060 the key from gconf, rather than initializing the key to the 1061 internal default value if it hasn't yet been set by the user. 1062 Notably, this makes it so that "compiz gconf" on a new account 1063 will use the default value of active_plugins rather than the 1064 (effectively empty) list of plugins on the command line. (It also 1065 makes it so that the sysadmin can override defaults via sabayon or 1066 whatever.) 1067 10682006-04-13 David Reveman <davidr@novell.com> 1069 1070 * src/window.c (mapWindow): Maybe not, disable it again. :( 1071 1072 * src/window.c (mapWindow): Enable draw synchronization on map 1073 again. Should be working correctly with CVS version of X server. 1074 10752006-04-12 Dan Winship <danw@novell.com> 1076 1077 * src/window.c (moveResizeWindow): move duplicated code from 1078 _NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to 1079 here, and handle gravity as well. (Fixes bnc 163058.) 1080 (updateWindowAttributes): Do nothing if the window is 1081 override_redirect (and remove a few now-redundant checks of that 1082 elsewhere). Previously we were forgetting to check 1083 !override_redirect in the case where the motif hints changed. (bnc 1084 163931) 1085 (getWindowUserTime): fix a cut-and-paste-o that caused a crash on 1086 64bit machines. 1087 1088 * src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit 1089 manipulation to correspond to what the EWMH means rather than what 1090 it says, and use moveResizeWindow for that and for 1091 ConfigureRequest. 1092 1093 * plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with 1094 "None" bindings. 1095 1096 * gnome/window-decorator/gnome-window-decorator.c (title_event): 1097 if the user right-clicks on the titlebar while the context menu is 1098 popped up, just pop it down and eat the click, like all other 1099 GNOME context menus do. 1100 (style_changed, value_changed): Don't add decorations to 1101 previously-undecorated windows. (bnc 165393) 1102 11032006-04-11 David Reveman <davidr@novell.com> 1104 1105 * src/screen.c (addScreen): Fix typo. 1106 11072006-04-10 Dan Winship <danw@novell.com> 1108 1109 * src/window.c (focusWindowOnMap): new function to decide whether 1110 or not to focus a newly-mapped window. In addition to the old 1111 checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow 1112 a window to explicitly request to not get focus. 1113 1114 * src/event.c (handleEvent): use focusWindowOnMap when processing 1115 MapRequest. 1116 1117 * plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW 1118 handling so this doesn't interfere with focusable panel applets. 1119 1120 * plugins/compiz.schemas: regen (fixing cube top/bottom color) 1121 1122 * plugins/gconf-dump.c: Handle CompOptionTypeColor. 1123 1124 * configure.ac: Add --enable-gconf-dump so that the gconf-dump 1125 plugin doesn't get built in normal builds 1126 1127 * plugins/Makefile.am: make gconf-dump optional. 1128 11292006-04-09 Dan Winship <danw@novell.com> 1130 1131 * plugins/gconf-dump.c: add plugin options, and add information 1132 about restrictions (numeric ranges, specific string values) to the 1133 long description. Make gconf-dump refuse to run if gconf is 1134 running (since you want the defaults it writes out to be coming 1135 from the defaults in the source code, not from any gconf 1136 overrides). 1137 1138 * plugins/compiz.schemas: regen 1139 1140 * plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption 1141 from here, or we'll get an infinite loop when anything changes 1142 11432006-04-09 David Reveman <davidr@novell.com> 1144 1145 * include/compiz.h: 1146 * src/display.c: 1147 * src/main.c: 1148 * src/screen.c: 1149 * src/texture.c: 1150 * src/window.c: Remove test mode. 1151 1152 * plugins/Makefile.am: Remove schema from CLEANFILES. 1153 1154 * plugins/compiz.schemas: 1155 * src/display.c: 1156 Improve documentation for runcommand keys slightly. (Mike Hearn) 1157 1158 * include/compiz.h: 1159 * src/texture.c: 1160 * src/screen.c (addScreen): Switch to using GLX 1.3 functions. 1161 (James Jones) 1162 1163 * src/main.c: Indirect rendering option. (James Jones) 1164 11652006-04-08 David Reveman <davidr@novell.com> 1166 1167 * plugins/water.c: Add rain delay option. (Emilie Roberts) 1168 11692006-04-07 David Reveman <davidr@novell.com> 1170 1171 * plugins/gconf-dump.c: Dump list options correctly. 1172 1173 * plugins/rotate.c: Add flip_move option, edge flipping is only 1174 used when moving windows if this option is enabled. 1175 (rotateHandleEvent): Make we don't rotate when some other plugin 1176 has grabbed the screen. 1177 1178 * plugins/scale.c: Change default key-binding to F11. 1179 (scaleInitiate): Make sure screen isn't grabbed by some other plugin. 1180 (scaleInitScreen): Initialize darkenBack properly. 1181 1182 * configure.ac: Bump version to 0.0.9. 1183 1184 * plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix. 1185 1186 * plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5. 1187 11882006-04-07 Dan Winship <danw@novell.com> 1189 1190 (Much of this patch was written by Radek Doulik 1191 <rodo@novell.com>.) 1192 1193 * src/display.c: 1194 * src/event.c: 1195 * src/screen.c: Move keybinding stuff to CompDisplay, making it no 1196 longer settable per-screen. Add bindings for screenshots (for 1197 compatibility with metacity, which handles that keybinding in 1198 GNOME for historical reasons). 1199 1200 * include/compiz.h: add an explicit CompBindingTypeNone rather 1201 than relying on modifiers==0 to mean none. Update bindings stuff. 1202 1203 * src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab): 1204 Fix these to remove the right grab rather than always removing the 1205 most-recently-added one. 1206 (addScreenBinding): deal with CompBindingTypeNone 1207 1208 * plugins/gconf-dump.c: hacky plugin to dump information about the 1209 other plugins to a gconf schemas file (used to regenerate 1210 compiz.schemas) 1211 1212 * plugins/gconf-compiz-utils.c: shared code between gconf.c and 1213 gconf-dump.c 1214 1215 * plugins/Makefile.am: add gconf-dump plugin and compiz.schemas, 1216 and code to install compiz.schemas. 1217 1218 * configure.ac: Update gconf test to set macros needed for schema 1219 install. 1220 12212006-04-07 David Reveman <davidr@novell.com> 1222 1223 * plugins/rotate.c: Add edge flipping support. 1224 1225 * plugins/scale.c: Allow corner screen edges to be used for 1226 initiating scale mode. 1227 1228 * src/option.c (compSetBoolOption): Only return TRUE if value changed. 1229 1230 * src/screen.c: 1231 * src/window.c: 1232 * plugins/minimize.c: 1233 * plugins/decoration.c: 1234 * include/compiz.h: Add immediate argument to MoveNotify, immediate 1235 means that any animations should be avoided. 1236 1237 * src/screen.c: 1238 * plugins/water.c: 1239 * plugins/resize.c: 1240 * plugins/place.c: 1241 * plugins/move.c: 1242 * plugins/zoom.c: 1243 * plugins/rotate.c: 1244 * plugins/scale.c: 1245 * src/event.c: 1246 * include/compiz.h: 1247 Add previous pointer position that can be shared between multiple 1248 plugins. 1249 12502006-04-06 David Reveman <davidr@novell.com> 1251 1252 * include/compiz.h: 1253 * src/screen.c: Add screen edges and simple interface for enabling 1254 and disabling them. 1255 1256 * plugins/switcher.c (switchDamageWindowRect) 1257 (switchWindowRemove): Update switcher list even when screen isn't 1258 grabbed. 1259 1260 * plugins/switcher.c (switchDamageWindowRect): 1261 * include/compiz.h: 1262 * src/event.c (handleEvent): 1263 * src/window.c: Made it possible to select if window should be 1264 stacked above fullscreen windows or not. 1265 1266 * src/window.c (findSiblingBelow): Only find a fullscreen sibling 1267 if aboveFs is TRUE. 1268 (activateWindow): Allow stacking of window above fullscreen windows 1269 when being activated. 1270 12712006-04-05 David Reveman <davidr@novell.com> 1272 1273 * plugins/water.c (fboEpilogue): Reset raster position. Avoids 1274 an FBO/raster-position issue found in newer nvidia drivers. 1275 1276 * plugins/move.c: Add constrain_y option that constrains window 1277 movement so that top of window is always visible (on by default). 1278 1279 * src/event.c (handleEvent): Change active window property even though 1280 it's not different than the window we currently have as active. 1281 1282 * src/window.c (moveInputFocusToWindow): Set focus even though 1283 the window is considered the active window. 1284 12852006-04-03 David Reveman <davidr@novell.com> 1286 1287 * plugins/water.c: Use char everywhere instead. 1288 Fix offset direction (P-a Bäckström). 1289 Add offset scale option. 1290 1291 * plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte. 1292 (loadWaterProgram): char -> GLbyte. 1293 (loadBumpMapProgram): char -> GLbyte. 1294 Use char everywhere. 1295 1296 * configure.ac: Bump version to 0.0.8. 1297 1298 * plugins/water.c: Add simple rain effect. 1299 (loadFragmentProgram): Clear any previous error. 1300 1301 * src/display.c: Change so that timeouts are not only triggered 1302 when we're idle. 1303 13042006-04-02 David Reveman <davidr@novell.com> 1305 1306 * plugins/water.c: Add scale and bias to normal so that light can be 1307 computed correclty. Offset texture coordinates for nice refraction 1308 effect. (P-a Bäckström) 1309 (waterDrawWindowTexture): Add scaling after setting up texture 1310 coordinate generation. 1311 Fix up loading of bump map programs. 1312 (softwareUpdate): Improve performance of software fall-back code a bit. 1313 (waterDrawWindowTexture): Always use filter for when window is 1314 transformed. 1315 1316 * plugins/gconf.c (gconfGetValue): Fix typo that caused color 1317 parsing to be incomplete (Quinn Storm). 1318 13192006-04-01 David Reveman <davidr@novell.com> 1320 1321 * plugins/switcher.c: Add "initiate all" binding which brings up the 1322 switcher window with all mapped windows and "initiate" binding will 1323 now bring up the switcher window with only the visible windows. 1324 13252006-03-31 David Reveman <davidr@novell.com> 1326 1327 * plugins/minimize.c (minDamageWindowRect): Never leave windows 1328 in scaled state. 1329 1330 * src/screen.c (moveScreenViewport): Move hidden windows as well. 1331 1332 * src/window.c (addWindow, activateWindow, hideWindow) 1333 (showWindow): 1334 * src/screen.c (enterShowDesktopMode, leaveShowDesktopMode): 1335 * src/event.c (handleEvent): 1336 * include/compiz.h: Fix up show desktop mode. 1337 1338 * plugins/water.c (fboVertices): return 1. 1339 13402006-03-30 David Reveman <davidr@novell.com> 1341 1342 * src/texture.c (enableTexture): Always make sure mipmaps are up to 1343 date when using GL_LINEAR_MIPMAP_LINEAR filter. 1344 13452006-03-29 David Reveman <davidr@novell.com> 1346 1347 * gnome/window-decorator/gnome-window-decorator.c: Draw outline around 1348 window title text and buttons instead of small shadow. 1349 1350 * src/event.c (handleEvent): 1351 * include/compiz.h: 1352 * src/window.c: Set allowed window actions more correctly. 1353 1354 * plugins/move.c: Add opacity option. 1355 1356 * plugins/Makefile.am: Add water plugin. It's not very useful yet 1357 and it needs more work but it's a good example of how to use 1358 GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual 1359 effects. 1360 1361 * src/screen.c (addScreen): Fix light position. 1362 1363 * src/paint.c (paintWindow): 1364 * plugins/switcher.c (switchPaintThumb): 1365 * plugins/decoration.c (decorPaintWindow): 1366 * include/compiz.h: Make drawWindowTexture a screen function so that 1367 plugins can wrap it. 1368 1369 * src/texture.c (enableTexture): 1370 * src/screen.c (addScreen): 1371 * include/compiz.h: GL_EXT_framebuffer_object and 1372 GL_ARB_fragment_program support. 1373 13742006-03-21 David Reveman <davidr@novell.com> 1375 1376 * gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't 1377 try to lower a window below hidden windows or desktop windows. 1378 13792006-03-20 David Reveman <davidr@novell.com> 1380 1381 * plugins/wobbly.c (wobblyHandleEvent): 1382 xunmap -> xmap (François Ingelrest). 1383 1384 * src/screen.c (isClientListWindow): All type of windows should go into 1385 the client lists (Thanks to Quinn Storm). 1386 1387 * src/window.c (freeWindow): Destroy frame window. 1388 (mapWindow): Fix so the sync requests are sent correctly when a window 1389 is mapped but disable it for now as it seems to be causing problems 1390 with some applications. 1391 (recalcWindowActions): Allow dialog window actions on util and 1392 toolbar windows. 1393 1394 * src/event.c (handleEvent): Remove event mask and button grabs 1395 when window is reparented. 1396 (handleEvent): Update client list when window type changes. 1397 (handleEvent): Use constrainNewWindowSize on move/resize client 1398 messages and configure requests. 1399 1400 * gnome/window-decorator/gnome-window-decorator.c (window_closed): 1401 Delete decor property when window is closed. 1402 14032006-03-17 Jeremy C. Reed <reed@reedmedia.net> 1404 1405 reviewed by: David Reveman 1406 1407 * autogen.sh: 1408 Be consistent with rest of modular xorg by using same 1409 autogen.sh. This allows it to be run using a different 1410 work directory. 1411 14122006-03-17 Jeremy C. Reed <reed@reedmedia.net> 1413 1414 reviewed by: David Reveman 1415 1416 * INSTALL: 1417 Mention startup-notification requirement. 1418 14192006-03-17 David Reveman <davidr@novell.com> 1420 1421 * plugins/scale.c: Add opacity option. 1422 1423 * configure.ac: Bump version to 0.0.7. 1424 14252006-03-17 Radek Doulik <rodo@novell.com> 1426 1427 * src/session.c: added all mandatory SM client callbacks, handle 1428 ICE connection and process ICE messages 1429 1430 * src/display.c (compAddWatchFd): new function, adds new fd watch 1431 - for poll io multiplexing 1432 (compRemoveWatchFd): new function, remove fd watch added by 1433 compAddWatchFd 1434 (doPoll): new helper function, does call poll and calls callbacks 1435 for watch fd's. returns the value of poll call 1436 (eventLoop): use doPoll, we use NULL for display fd watch so that 1437 it doesn't call anything and just use return value from poll as 1438 before 1439 14402006-03-17 David Reveman <davidr@novell.com> 1441 1442 * plugins/switcher.c (switchDamageWindowRect): Update window 1443 attributes for popup window. We never get a MapRequest for this 1444 window so it most be done here. 1445 Add "bring to front" option. (Greg) 1446 1447 * src/window.c (stackAncestors): Never raise desktop windows. 1448 Made restackWindowAbove and restackWindowBelow smarter. 1449 14502006-03-16 David Reveman <davidr@novell.com> 1451 1452 * plugins/minimize.c: 1453 * src/event.c (handleEvent): 1454 * src/window.c: 1455 Handle window state changes correctly. 1456 (maximizeWindow): Use actions to determine if we're allowed maximize 1457 window. 1458 1459 * src/event.c (handleEvent): 1460 * src/window.c: Send configure notifies correctly. 1461 14622006-03-15 David Reveman <davidr@novell.com> 1463 1464 * plugins/switcher.c (switchPaintWindow): Fix paint attribute 1465 calculations. 1466 1467 * include/compiz.h: 1468 * src/event.c (handleEvent): 1469 * src/window.c: Add restackWindowBelow. 1470 14712006-03-14 David Reveman <davidr@novell.com> 1472 1473 * plugins/switcher.c: Opacity, brightness and saturation as adjustable 1474 options. (Greg) 1475 1476 * src/window.c (syncWindowPosition): Move frame window now instead of 1477 waiting for client window to change before moving it. 1478 1479 * plugins/move.c (moveTerminate): Sync window position before 1480 releasing pointer grab so that the EnterNotify event from the release 1481 go to the correct window. 1482 1483 * src/window.c (unmapWindow): Put window in withdrawn state when 1484 being unmapped. Should make it work better with KDE. (Tim Northover) 1485 1486 * src/screen.c (addScreen): Fix ambient and diffuse light. 1487 1488 * src/main.c (main): Add --version command line option. 1489 1490 * src/event.c: 1491 * src/screen.c: 1492 * include/compiz.h: Add bindings for changing window opacity. 1493 14942006-03-14 Radek Doulik <rodo@novell.com> 1495 1496 * src/event.c (handleEvent): handle minimize/maximize/unmaximize 1497 window keybindings 1498 1499 * src/screen.c: added minimize/maximize/unmaximize window 1500 options/keybindings 1501 1502 * src/window.c (maximizeWindow): new helper function 1503 (unmaximizeWindow): ditto 1504 15052006-03-14 David Reveman <davidr@novell.com> 1506 1507 * plugins/scale.c: Add darken background option (Daniel G. Taylor). 1508 15092006-03-13 David Reveman <davidr@novell.com> 1510 1511 * src/display.c (eventLoop): 1512 * include/compiz.h: 1513 * src/screen.c (addScreen): CopySubBufferMESA support. 1514 15152006-03-07 David Reveman <davidr@novell.com> 1516 1517 * gnome/window-decorator/gnome-window-decorator.c (lower_window): 1518 Remove unused variable tmp. 1519 1520 * src/event.c: 1521 * src/display.c: 1522 * src/window.c: 1523 * src/screen.c: 1524 * include/compiz.h: Better window stacking support. 1525 1526 * gnome/window-decorator/gnome-window-decorator.c: Lower window 1527 when clicking button 2 on titlebar. 1528 1529 * src/window.c (ensureWindowVisibility): Only ensure that window is 1530 visible if it isn't a override redirect window, dock window or 1531 window with struts. 1532 15332006-03-06 David Reveman <davidr@novell.com> 1534 1535 * configure.ac: Bump version to 0.0.6. 1536 1537 * plugins/cube.c: Skydome update. (MacSlow) 1538 1539 * src/window.c: Ensure window visibility when activating window. 1540 15412006-03-05 David Reveman <davidr@novell.com> 1542 1543 * src/window.c (closeWindow): Use protocol mask to determine if 1544 Client Message should be send or if we should kill the client. 1545 1546 * plugins/decoration.c: Don't draw shadow only decorations around 1547 windows with alpha channel. 1548 15492006-03-03 David Reveman <davidr@novell.com> 1550 1551 * src/texture.c (readImageBufferToTexture): 1552 (readImageToTexture): Check that returnWidth and returnHeight are 1553 not NULL. 1554 1555 * plugins/cube.c: Skydome support. Thanks to MacSlow. 1556 1557 * plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque 1558 when fading out. 1559 Stop fading if window is resized. 1560 1561 * src/window.c (resizeWindow): Only verify pixmap size if window is 1562 mapped. 1563 (resizeWindow): Check XGetGeometry result. 1564 1565 * plugins/switcher.c: Make sure switcher is correctly updated 1566 even though the previously selected window isn't selectable by 1567 switcher. 1568 1569 * src/event.c (handleEvent): Avoid panel actions when screen is 1570 grabbed. 1571 15722006-03-03 Radek Doulik <rodo@novell.com> 1573 1574 * src/main.c (main): init and close session when sm is not 1575 disabled. Enable sm by default. 1576 1577 * src/session.c: added minimal session support so that compiz at 1578 least register with session manager to avoid registering timeouts 1579 15802006-03-03 David Reveman <davidr@novell.com> 1581 1582 * src/screen.c (removeScreenGrab): Use correct cursor when changing 1583 actvie pointer grab. 1584 15852006-03-02 David Reveman <davidr@novell.com> 1586 1587 * plugins/rotate.c (rotateHandleEvent): 1588 * plugins/zoom.c (zoomHandleEvent): Make sure no pending motion 1589 notify events exists when warping the pointer. 1590 1591 * plugins/rotate.c (rotateHandleEvent): Reset movement. 1592 1593 * plugins/switcher.c: Always send activate request when selecting a 1594 window. 1595 1596 * plugins/cube.c (cubePaintTransformedScreen): Reset color. 1597 1598 * plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK 1599 if opacity isn't opaque. 1600 (switchPaintWindow): Reset color. 1601 16022006-03-01 David Reveman <davidr@novell.com> 1603 1604 * configure.ac: Bump version to 0.0.5. 1605 1606 * plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing 1607 display modal dialogs. 1608 1609 * plugins/switcher.c (switchPreparePaintScreen): Continue adjusting 1610 window selection even though we're not grabbing the screen. 1611 (switchPaintWindow): Use last used paint attributes for thumbnails. 1612 (switchPaintWindow): Use blending when drawing selection rectangle. 1613 1614 * plugins/fade.c (fadeHandleEvent): unmap. -> map. 1615 (fadeDamageWindowRect): Only zero opacity if we're not already 1616 fading the window. 1617 1618 * src/window.c (unmapWindow): 'placed' variable should be reset on 1619 first call to unmapWindow. 1620 1621 * src/screen.c: 1622 * src/event.c (handleEvent): 1623 * src/display.c (eventLoop): 1624 * include/compiz.h: Add slow animation option. 1625 1626 * src/window.c (recalcNormalHints): Constrain window dimensions to 1627 max texture size. 1628 1629 * src/screen.c (addScreen): Get max texture size. 1630 1631 * gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow 1632 on windows without decorations. 1633 1634 * src/window.c (addWindow): Move initialization of sync alarm. 1635 1636 * plugins/cube.c: 1637 * plugins/decoration.c: 1638 (decorCreateDecoration): Fix minimum size check. 1639 1640 * src/main.c: 1641 * include/compiz.h: 1642 * src/paint.c: 1643 * src/screen.c: Ligthing support. 1644 1645 * compiz.pc.in: Fix. 1646 16472006-02-23 David Reveman <davidr@novell.com> 1648 1649 * src/window.c (unmapWindow): Not minimized and not part of showing 1650 desktop mode. 1651 1652 * plugins/wobbly.c: Fix handling of scaled windows. 1653 Update options so that user gets more control over which windows 1654 that should wobble and when. 1655 1656 * configure.ac: Bump version to 0.0.4. 1657 1658 * gnome/window-decorator/gnome-window-decorator.c (window_opened): Make 1659 sure decoration property for switcher window is set. 1660 1661 * plugins/decoration.c (decorHandleEvent): 1662 * src/event.c (handleEvent): 1663 * plugins/switcher.c: 1664 * src/screen.c (addScreen, setScreenOption) 1665 (compScreenInitOptions): 1666 * src/texture.c: 1667 * include/compiz.h: Mipmap support. Add more RUN_COMMAND options. 1668 16692006-02-22 David Reveman <davidr@novell.com> 1670 1671 * src/display.c (realToVirtualModMask): Remove modifiers that should 1672 be ignored. 1673 (addDisplay): Select ButtonPress and ButtonRelease events on root 1674 window. 1675 1676 * include/compiz.h (EV_KEY): 1677 (EV_BUTTON): Modifiers should match exactly. 1678 1679 * plugins/switcher.c: Add binding for selecting previous window. 1680 1681 * plugins/decoration.c: Remove sync hack. 1682 1683 * gnome/window-decorator/gnome-window-decorator.c 1684 (draw_shadow_background): Fix drawing of bottom and bottom right 1685 shadow rectangle. 1686 Add switcher window decorations. 1687 Remove sync hack. 1688 Always use double buffering. 1689 1690 * plugins/switcher.c: Remove background color option. 1691 Use property instead of client message to indicate change of selected 1692 window. 1693 16942006-02-21 David Reveman <davidr@novell.com> 1695 1696 * plugins/cube.c (cubeHandleEvent): Only load new SVG when available. 1697 16982006-02-20 David Reveman <davidr@novell.com> 1699 1700 * plugins/decoration.c (decorWindowUpdate): Decorate window 1701 MwmDecorTitle is present. 1702 1703 * src/window.c (focusWindow): 1704 (moveInputFocusToWindow): 1705 Allow focusing windows with input hint set to false. 1706 (activateWindow): Fix so that dock windows can be active. 1707 1708 * src/screen.c (isClientListWindow): Don't put destroyed windows in 1709 client lists. 1710 1711 * src/event.c (handleEvent): Fix so that dock windows can be active. 1712 (handleEvent): Avoid focusing windows with input hint set to false 1713 when mapped. 1714 17152006-02-18 David Reveman <davidr@novell.com> 1716 1717 * src/window.c (unmapWindow): Windows not being minimized should be 1718 placed again at next map. 1719 1720 * plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage 1721 if any window is in initial wobbly state. 1722 17232006-02-17 David Reveman <davidr@novell.com> 1724 1725 * configure.ac: Bump version to 0.0.3. 1726 1727 * plugins/zoom.c (zoomIn): Translate less. 1728 (zoomPaintScreen): Use selected filter. 1729 (adjustZoomVelocity): Made zoom animation nicer. 1730 (zoomPreparePaintScreen): Don't zoom to much. 1731 ADd filter selection option. 1732 1733 * plugins/decoration.c (decorPaintWindow): 1734 * src/paint.c (drawWindowTexture): Use screen filters. 1735 1736 * include/compiz.h: Add support for adjusting filters. 1737 1738 * plugins/scale.c (scaleHandleEvent): Only button 1. 1739 1740 * plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size 1741 greater than 4. 1742 17432006-02-16 David Reveman <davidr@novell.com> 1744 1745 * configure.ac: Remove menu. 1746 1747 * plugins/switcher.c (switchNextWindow): Damage new and previously 1748 selected window. 1749 (switchInitiate): Damage screen initiating switching. 1750 (switchTerminate): Damage screen terminating switching. 1751 (switchPaintThumb): Draw thumbnail without calling any function that 1752 can be wrapped. 1753 1754 * gnome/window-decorator/gnome-window-decorator.c 1755 (update_window_decoration_size): Make sure title isn't rendered 1756 when it doesn't fit. 1757 17582006-02-14 David Reveman <davidr@novell.com> 1759 1760 * gnome/window-decorator/gnome-window-decorator.c 1761 (draw_window_decoration): Make sure complete icon is visible. 1762 1763 * src/display.c (eventLoop): 1764 (getTimeToNextRedraw): Handle clock rollback. 1765 17662006-02-13 David Reveman <davidr@novell.com> 1767 1768 * configure.ac: Remove menu plugin check. 1769 Require version 2.8.0 or greater of gtk+. 1770 17712006-02-11 David Reveman <davidr@novell.com> 1772 1773 * configure.ac: Bump version to 0.0.2. 1774 1775 * src/window.c: 1776 * src/event.c: 1777 * plugins/fade.c: 1778 * src/display.c: 1779 * include/compiz.h: Lower brightness of windows that are not responding 1780 and all windows when showing logout dialog. 1781 1782 * gnome/window-decorator/gnome-window-decorator.c: Use metacity 1783 titlebar font settings. 1784 1785 * gnome/compiz-window-manager.c: Add titlebar font setting. 1786 1787 * plugins/Makefile.am: 1788 * plugins/switcher.c: Add switcher plugin. 1789 1790 * plugins/gconf.c: Add alpha to color options. 1791 17922006-02-10 David Reveman <davidr@novell.com> 1793 1794 * src/screen.c: 1795 * src/display.c: Do not include X11/extensions/Xevie.h. 1796