1796 lines
57 KiB

2006-06-21 David Reveman <davidr@novell.com>
* src/window.c: Add updateTransientHint to protect against circular
transient dependencies. (bnc 186825)
2006-06-20 David Reveman <davidr@novell.com>
* src/window.c (addWindowSizeChanges): Constrain window
dimensions if they are too large.
* gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop):
Trap X errors.
2006-06-20 Dan Winship <danw@novell.com>
* configure.ac (ALL_LINGUAS): Add pl
2006-06-16 David Reveman <davidr@novell.com>
* plugins/compiz.schemas.in.in: Regen.
* plugins/switcher.c:
* plugins/scale.c: Add modal dialogs and fullscreen windows
to default window types. (bnc 185749)
* gnome/window-decorator/gnome-window-decorator.c: Track motif
WM hints and disable decorations when application wants no
titlebar. (bnc 185852)
2006-06-15 David Reveman <davidr@novell.com>
* plugins/cube.c (cubePaintTransformedScreen): Remove
PAINT_SCREEN_CLEAR_MASK from mask.
* plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK
when zooming. (bnc 183676)
* src/paint.c (paintTransformedScreen): Clear color buffer if
PAINT_SCREEN_CLEAR_MASK is present.
* include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK.
* gnome/window-decorator/gnome-window-decorator.c: Add DM selection
support and --repalce option so it's possible to replace an
existing window decorator in the same way as it's possible to replace
a window manager. (bnc 185296)
(close_button_event):
(max_button_event):
(min_button_event): De-highlight on NotifyGrab. (bnc 185293)
2006-06-12 Dan Winship <danw@novell.com>
* plugins/cube.c:
* plugins/switcher.c: Mark cube as needing to load before switcher
rather than marking switcher as requiring cube. bnc #183676.
* plugins/gconf-dump.c (dumpPluginOptions): Output load_before and
requires for all plugins, even if the list is empty, to ensure
that an empty value in a new release overrides a non-empty value
in an older release.
* plugins/compiz.schemas.in.in: regen
2006-06-09 Dan Winship <danw@novell.com>
* configure.ac: add translations
2006-06-09 David Reveman <davidr@novell.com>
* plugins/move.c (moveHandleMotionEvent): Handle shaded windows
better.
* src/window.c (maximizeWindow):
* src/event.c (handleEvent): Allow windows to be both maximized
and shaded.
* src/window.c: Update addWindowSizeChanges so it can be used by
moveResizeWindow.
(updateWindowAttributes): Add missing sendSyncRequest call.
(addWindowSizeChanges): Make maximized window placement a bit better.
(moveResizeWindow): Adjust window geometry using
addWindowSizeChanges. (bnc 183121)
* src/window.c: Only allow shading on windows with top decoration.
* src/event.c (handleEvent): Check that shade action is allowed
before shading a window.
2006-06-08 David Reveman <davidr@novell.com>
* plugins/decoration.c (decorInitWindow):
* plugins/minimize.c (minInitWindow):
* src/window.c (addWindow): Handle initially shaded windows
correctly.
* plugins/switcher.c (switchTerminate): Only use hideWindow
if switcher window is managed and mapped.
(switchInitiate): Only use showWindow if switcher window is
hidden. (bnc 182519)
* plugins/minimize.c (minHandleEvent): Make sure we adjust the window
region correctly when it's being unshaded.
2006-06-07 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.13.
* plugins/compiz.schemas.in.in: Regen.
* src/window.c: Add window shading support.
* src/screen.c:
* src/paint.c:
* src/event.c: Adjust for window shading support.
(handleEvent): Handle RESTACK client messages with sibling None
correctly.
* src/event.c:
* src/display.c: Add toggle window shade binding.
* plugins/minimize.c: Add window shading animation support.
* plugins/fade.c:
* plugins/place.c:
* plugins/resize.c:
* plugins/scale.c:
* plugins/switcher.c:
* plugins/decoration.c: Adjust for window shading support.
* include/compiz.h: Add window shading support.
* gnome/window-decorator/gnome-window-decorator.c: lower_window ->
restack_window and change it so it can be used for both
raising and lowering a window.
Add support for double_click_titlebar setting.
(title_event): Don't activate window on titlebar click only
raise it. Use double_click_action to determine what should be
done when titlebar is double clicked.
(update_event_windows): Remove vertical resize event windows
when top level window is shaded.
(window_state_changed): Update event windows when window state
changed.
* gnome/window-decorator/gnome-window-decorator.c:
* gnome/compiz-window-manager.c: Add support for shade double click
setting.
* plugins/compiz.schemas.in.in: Regen.
* plugins/cube.c (cubePaintTransformedScreen):
* plugins/wobbly.c (wobblyDrawWindowGeometry):
* plugins/switcher.c (switchPaintWindow):
* src/paint.c (drawWindowGeometry): Disable client-side texture
coordinate arrays that are not used. (bnc #182430)
* plugins/compiz.schemas.in.in:
* plugins/resize.c:
* plugins/move.c: Add initiate_keyboard binding which is more
appropriate for key-binding as it moves the cursor to middle of
window.
2006-06-06 David Reveman <davidr@novell.com>
* plugins/switcher.c: Track thumbnail damage correctly.
(switchPaintScreen): Only intercept paintScreen when screen is
grabbed or we're zooming and ss->translate > 0.001.
(switchPaintScreen): Paint switcher window correctly when we're
not zooming.
Add cube as a dependency to make sure background is rendered
correctly when zooming.
(bnc #181909)
* src/window.c (moveResizeWindow, ensureWindowVisibility):
Don't make sure fullscreen windows are in workarea.
(fdo #7115) (bnc #181907)
* src/event.c (handleEvent): Track XA_WM_CLASS property changes.
* src/window.c:
* include/compiz.h: remove updateWindowClass and update
updateWindowClassHints.
2006-06-02 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.12.
* src/event.c (handleEvent): Fix typo.
* gnome/window-decorator/gnome-window-decorator.c:
Hide tooltips on NotifyGrab. (bnc #180692)
2006-06-01 Dan Winship <danw@novell.com>
* src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP
request with no window set, set the flag on all screens. (Fixes
the KDE "show desktop" applet.) Also, don't allow a client to
change its _NET_WM_DESKTOP.
* src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to
0; KDE's pager and tasklist require this to be set. (bnc 178320)
2006-06-01 David Reveman <davidr@novell.com>
* include/compiz.h:
* src/window.c: Add updateWindowClass.
2006-05-31 David Reveman <davidr@novell.com>
* include/compiz.h:
* src/screen.c:
* src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055)
* include/compiz.h:
* src/window.c: Add getStartupId.
* src/screen.c: Save initial viewport when startup notification
is received. Fix implementation of applyStartupProperties.
(bnc 180224)
* src/event.c (handleEvent): Handle startup ID property changes.
* plugins/place.c: Adjust work area to initial viewport.
* plugins/cube.c (cubePaintTransformedScreen): Disable skydome
animation while cube is unfolded. (bnc 179833)
* plugins/switcher.c (switchPaintWindow): Make sure selected window is
not clipped incorrectly when some window is transformed. (bnc 179828)
* plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot.
(bnc 179902)
* src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work)
2006-05-30 Dan Winship <danw@novell.com>
* configure.ac: Check libwnck for wnck_window_has_name (new in
HEAD).
* gnome/window-decorator/gnome-window-decorator.c
(wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME,
redefine wnck_window_get_name to return NULL if the window only
has a fallback name. bnc 173059.
* src/event.c (handleEvent): call moveInputFocusToOtherWindow()
before destroyWindow() when processing a DestroyNotify, or else
the input focus can get stranded.
2006-05-26 David Reveman <davidr@novell.com>
* plugins/compiz.schemas.in.in: Regen.
* plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE.
* plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration
on windows with below state.
* src/window.c (recalcWindowType): Treat dock windows with below state
as normal windows. (bnc #178316)
* plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case
when more than 4 cube sides.
2006-05-25 David Reveman <davidr@novell.com>
* plugins/compiz.schemas.in.in: Regen.
* src/window.c (moveResizeWindow): Don't adjust position for NorthWest
gravity. (bnc 178765) (fdo #6992)
* plugins/compiz.schemas.in.in:
* include/compiz.h:
* src/event.c (handleEvent):
* src/display.c: Add maximize_window_horizontally,
maximize_window_vertically, toggle_window_maximized,
toggle_window_maximized_horizontally,
toggle_window_maximized_vertically.
* src/event.c (handleEvent): Track changes to maximizeWindow function.
* plugins/move.c (moveHandleMotionEvent): Make sure we have a saved
width before we use it. Track changes to maximizeWindow function.
* plugins/wobbly.c (wobblyHandleEvent): Handle the case where
window is not both vertically and horizontally maximized better.
* include/compiz.h: Add MAXIMIZE_STATE macro.
* include/compiz.h:
* src/window.c: Remove unmaximizeWindow and make maximizeWindow
take a state mask so it can be used for both maximizing and
unmaximizing.
* plugins/switcher.c: Don't add windows that appear after the switcher
is popped up. (bnc 178350)
(switchWindowRemove): Don't create a new list. Instead remove
window from the existing list and make sure we're positioned
correctly.
2006-05-24 David Reveman <davidr@novell.com>
* plugins/scale.c (scaleMoveFocusWindow): When moving to window on
left, make sure the window we're moving to is completely left of
currently selected window. And same thing when moving to window on
right, top, bottom.
(layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216)
2006-05-23 David Reveman <davidr@novell.com>
* plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on
MSBFirst machines.
* src/texture.c: Include config.h before compiz.h so that
IMAGE_BYTE_ORDER is defined correctly. (bnc 178171)
* include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER,
BITMAP_BIT_ORDER. (bnc 178171)
2006-05-23 Dan Winship <danw@novell.com>
* plugins/switcher.c (switchToWindow): use ss->windows here as
well so that multiple activeNum==0 windows don't get skipped.
(switchTerminate): Remove the screen grab right away so that
keystrokes don't get dropped. bnc 177650
(switchPreparePaintScreen, switchPaintScreen,
switchDonePaintScreen): update for that
2006-05-22 Dan Winship <danw@novell.com>
* src/window.c (moveResizeWindow): deal with both vertical and
horizontal struts; but not when moving a dock window
* plugins/switcher.c (switchHandleEvent): Check init_all binding
before init, so you can bind "<Alt>" to init_all and so end up
with "<Alt>Tab" being init_all rather than init (but with no way
to get "init"...). bnc 173376
2006-05-21 David Reveman <davidr@novell.com>
* src/display.c (addDisplay): Select for button events on root windows.
* configure.ac: Bump version to 0.0.11.
* gnome/window-decorator/gnome-window-decorator.c: Fix shadow
performance by separating the convolution filter into one vertical and
one horizontal pass.
* src/window.c (mapWindow): Give sync request on map another try, it
seems to be working now.
* src/window.c (addWindow): Allow XGetWindowAttributes to fail.
(bnc 173416).
* src/window.c (addWindow): Initialize managed to false. Set managed
to true if widows is viewable.
* src/event.c (handleEvent): Set managed to false when window
transitions to withdrawn state.
(handleEvent): Set managed to true when we get MapRequest.
(handleEvent): Constrain configure request if window is managed.
* include/compiz.h: Add "managed" variable that is true while
windows is managed.
2006-05-19 David Reveman <davidr@novell.com>
* plugins/switcher.c (ICON_SIZE): Allow use of larger window icons.
2006-05-18 Dan Winship <danw@novell.com>
* plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to
match wobblyInitScreen() so that it actually works right.
* plugins/compiz.schemas.in.in: regen
2006-05-18 Dan Winship <danw@novell.com>
* src/session.c (saveYourselfCallback): if we have a
RestartCommand registered with the session manager, update the
--sm-client-id in it to match the id we were assigned. bnc 176746
* src/main.c (main, usage): remove unused --sm-save-file arg and
fix documentation of --sm-client-id.
2006-05-17 David Reveman <davidr@novell.com>
* plugins/compiz.schemas.in.in: Regen (Overlay Icon).
* plugins/switcher.c (switchPaintScreen): Don't remove switcher
from window list, just temporarily mark it as destroyed. This fixes
issue with switcher decorations disappearing when some window is
unmapped.
* src/screen.c (updateDefaultIcon): width and height should be
unsigned.
* gnome/window-decorator/gnome-window-decorator.c: Add minimal
option that can be used to run g-w-d with drop-shadows but without full
window decorations.
* plugins/minimize.c (minHandleEvent): Restore window position
when transitioning to withdrawn state.
* plugins/scale.c: Remove next_window binding and fix so that arrow
keys can be used to select window.
Focus new window when pointer enter window decorations and sloppy focus
is used.
Remove scaleSelectWindow.
* plugins/scale.c: Icon support (Nat Friedman).
2006-05-17 Dan Winship <danw@novell.com>
* src/display.c (handleSelectionClear, eventLoop): don't process
exit-on-selection-clear until the event queue is empty, or else
MapRequest and ConfigureRequest events could get lost. bnc 175558
2006-05-14 David Reveman <davidr@novell.com>
* src/event.c (handleEvent): mapNum might be 0 if we found the window
unmapped when trying to bind it to a texture.
2006-05-12 David Reveman <davidr@novell.com>
* src/screen.c (enterShowDesktopMode): Only go into show desktop mode
when some window is being hidden.
* src/event.c (handleWindowDamageRect): Make sure placed is set to true
when no plugin is doing placement.
(handleEvent): Don't set WM_STATE on override redirect windows.
* plugins/switcher.c (isSwitchWin): Don't show windows that ask not to
be in tasklists.
* plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window
has been placed.
* plugins/minimize.c (minHandleEvent): Reset everything when going
into withdrawn state.
* src/window.c (moveResizeWindow): Handle west and north gravity
correctly.
2006-05-11 David Reveman <davidr@novell.com>
* src/display.c (addDisplay):
* src/screen.c (addScreen): Move server grab to addDisplay to make
sure that no windows are created between XSelectInput and XQueryTree
as that would result in them being added two times.
* src/window.c (moveResizeWindow): Fix typo, CWY should be CWX.
(moveResizeWindow): Constrain Y position so that window titlebar is
visible.
(restoreWindowGeometry): Fix issue with going from maximized state
to non-maximized state without changing the window size.
* gnome/window-decorator/gnome-window-decorator.c
(max_window_name_width): Make sure title text fit in titlebar.
2006-05-11 Dan Winship <danw@novell.com>
* plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as
meaning "disabled"
2006-05-11 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c (action_menu_map):
Don't show window action menu on desktop and dock windows.
* src/event.c (handleEvent): Allow click on window decorations
to trigger window action menu.
* plugins/place.c (placeWindow): Place fullscreen and maximized
windows correctly.
(placeWindow): Only clip dialog position to screen if parent is
visible in current viewport.
2006-05-09 David Reveman <davidr@novell.com>
* plugins/switcher.c (switchPaintThumb): Rearrange code so we handle
the case when bindWindow fails.
* src/paint.c (paintWindow): Bail out if window is not mapped.
* src/window.c (bindWindow): Make sure window is mapped when
getting the window pixmap. (bnc 173248)
* plugins/compiz.schemas.in.in: Regen.
* plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as
performance seem to be OK now when new mipmaps are only generated
when necessary.
* src/texture.c (enableTexture): Don't generate new mipmaps
every time the texture is used.
2006-05-08 David Reveman <davidr@novell.com>
* plugins/switcher.c: Allow switcher to be initiated with prev
bindings. (Quinn Storm)
2006-05-07 David Reveman <davidr@novell.com>
* plugins/compiz.schemas.in.in: Regen.
* plugins/switcher.c: Add icon support, minimized windows support
and allow switcher to show up when only one selectable window exist.
* images/Makefile.am: Add default icon image.
* include/compiz.h:
* src/texture.c:
* src/event.c (handleEvent):
* src/screen.c:
* src/display.c:
* src/window.c: Add WM icon interface.
* gnome/window-decorator/gnome-window-decorator.c: Compute
switcher title text width correctly.
* src/event.c (handleEvent): Insert windows correctly when
reparenting.
2006-05-07 Dan Winship <danw@novell.com>
* configure.ac: Add --with-scale-corner option and make
compiz.schemas reflect it; the best corner to use depends on where
the panels are and what's on them, so distros will want to
override this to match their default panel layout.
* src/event.c (eventMatches): Fix the the "water plugin gets
mysteriously activated when activating some other keybinding" bug.
2006-05-05 Dan Winship <danw@novell.com>
* Makefile.am:
* autogen.sh:
* configure.ac: require intltool for option-description
translation
* plugins/Makefile.am: translate compiz.schemas.in into
compiz.schemas
2006-05-05 Dan Winship <danw@novell.com>
* src/display.c (COMMAND_OPTION): Put numbers into the shortDescs
of the command and run_command options
* plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift
rather than Control, for consistency with Metacity, and to remove
the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube"
or "move with snapping". (bnc 169402)
* plugins/compiz.schemas: regen
2006-05-05 David Reveman <davidr@novell.com>
* plugins/compiz.schemas: Regen.
* gnome/window-decorator/gnome-window-decorator.c: Forward
metacity's bell settings to compiz.
* plugins/water.c:
* plugins/wobbly.c:
* plugins/fade.c: Add visual bell.
* include/compiz.h:
* src/display.c: Add audible bell option.
2006-05-04 David Reveman <davidr@novell.com>
* src/window.c (getModalTransient): Avoid infinite recursion when more
than one group transient got modal state.
2006-05-03 David Reveman <davidr@novell.com>
* plugins/move.c:
* plugins/resize.c (resizeHandleMotionEvent): Don't constrain the
cursor.
* plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow
to figure out which viewport we should move to. (bnc 152677)
* src/window.c (addWindowSizeChanges): Offset x coordinate with
default viewport coordinate. (bnc 171465)
(updateWindowAttributes): Always add windows size changes. (bnc 171465)
* include/compiz.h:
* src/window.c (defaultViewportForWindow): Add defaultViewportForWindow
function that computes the default viewport for a window.
2006-05-02 David Reveman <davidr@novell.com>
* plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more
to make sure the cube unfolds completely.
* src/event.c (handleEvent): Not constraints should be applied to
ConfigureRequests for withdrawn windows. (bnc 171143)
* src/window.c (syncWindowPosition): We never need to send synthetic
ConfigureNotify events as we're not reparenting windows.
2006-05-02 Dan Winship <danw@novell.com>
* plugins/gconf-dump.c: rewrite to make compiz.schema regeneration
a little easier, and to make it possible to generate schema files
for third-party plugins. Include plugin descriptions and
dependency information in the schema.
* plugins/Makefile.am: add a rule to generate compiz.schemas
* plugins/compiz.schemas: regen
* plugins/cube.c, plugins/decoration.c, plugins/fade.c,
plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c:
s/expose/scale/ in dependencies
2006-05-02 David Reveman <davidr@novell.com>
* include/compiz.h:
* configure.ac: Don't require glproto, include necessary enums in
compiz.h.
* src/texture.c:
* include/compiz.h: Update to latest EXT_tfp spec. Requires an
X server that has also been updated.
* configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens.
2006-05-01 David Reveman <davidr@novell.com>
* src/window.c (circulateWindow):
* src/event.c (handleEvent): Use getTopWindow instead of
reverseWindows->id as reverseWindows might be a destroyed window.
* include/compiz.h:
* src/screen.c: Add getTopWindow function that returns top window.
2006-04-30 David Reveman <davidr@novell.com>
* plugins/compiz.schemas: Regen.
* plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen
windows.
* plugins/cube.c: Add initial support for unfolding the cube. Default
key-binding is <Control><Alt>Down.
* plugins/rotate.c (rotateHandleEvent): Fix absolute rotation.
* plugins/switcher.c: Fix so that bring-to-front doesn't change
the actual stacking order.
Add zoom option, enable it by default so it gets some testing.
Made bring-to-front enabled by default as it makes zoom functionality
more useful.
Made switcher window always rendered above all other windows and
not affected by screen transformations.
* src/event.c (handleEvent): Send configure notify before mapping
window if PPosition or USPosition is set.
* src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to
be mapped. This change seem to currently by causing the
stacking order of some override-redirect windows to be incorrect.
Don't insert window when aboveId doesn't match an existing window.
(removeScreenGrab): ifdef DEBUG around abort.
* src/event.c (handleEvent): Only update active window property
when it's changing.
* src/window.c (sendConfigureNotify): Make sure the latest
window attributes are put in the ConfigureNotify.
(moveResizeWindow): Only send sync request if window is mapped.
* plugins/rotate.c: Add support for edge-flipping when using
drag-and-drop. Remove edge_flip and flip_move options and add
edge_flip_pointer, edge_flip_move, edge_flip_dnd.
* src/screen.c:
* src/display.c:
* include/compiz.h:
Make screen edges drag-and-drop aware.
* plugins/zoom.c:
* plugins/water.c:
* plugins/switcher.c:
* plugins/scale.c:
* plugins/rotate.c:
* plugins/resize.c:
* plugins/move.c:
* src/scren.c:
* include/compiz.h:
Variable argument list to otherScreenGrabExist, last argument must
be 0.
* src/event.c:
* src/display.c:
* include/compiz.h: Add raise-on-click option.
* gnome/window-decorator/gnome-window-decorator.c (title_event):
Activate window when clicking titlebar.
2006-04-28 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c: Back out last change
as it clearly didn't fix anything. XFixed being defined as "int"
is perfectly fine of course. libXrender is currently broken on 64bit.
See Bug #6774 for a fix.
(XRenderSetPictureFilter_wrapper): Add workaround for 64bit
issue in libXrender. (Dan Winship)
* src/event.c (handleEvent):
* src/display.c:
* include/compiz.h:
Add show desktop binding. (Martin Szulecki)
* plugins/rotate.c: Reset timout handle correctly.
* plugins/move.c:
* plugins/resize.c:
* plugins/rotate.c:
* plugins/scale.c:
* plugins/switcher.c:
* plugins/water.c:
* plugins/zoom.c: Track screen grab changes changes.
* src/screen.c:
* include/compiz.h: Associate all screen grabs with a name. Add
otherScreenGrabExist function which can be used to check if screen
is grabbed by other plugins.
2006-04-28 Dan Winship <danw@novell.com>
* src/event.c (eventMatches): new method that replaces EV_KEY and
EV_BUTTON. Tests if an event matches a binding, being more precise
about modifier state than EV_KEY and EV_BUTTON were.
(eventTerminates): Tests if an event is "the opposite" of a
binding. (Eg, button or modifier key release.) Replaces
CompReleaseMask and "terminate" bindings.
(handleEvent): Use eventMatches
* src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab,
updatePassiveKeyGrabs): When passed a keybinding containing just
modifiers, grab/ungrab every keypress event that would result in
that modifier state (eg, both left and right modifier keys, and
allow them to be pressed in any order).
* src/display.c: Remove CompPressMask from default bindings.
(eventLoop): don't add virtual modifiers to event state.
(updateModifierMappings): store the XModifierKeymap for later
use.
* plugins/*.c: Use eventMatches and eventTerminates. Remove
CompPressMask and "terminate" bindings (except from scale, which
is different from the others).
* plugins/switcher.c: Make initiate_all be just the modifier key
used in addition to the initiate binding ("<Control>"). Remove
next_window since it doesn't make a lot of sense to have it be
different from initiate_all, and make prev_window be just a
modifier key as well. ("<Shift>").
(SwitchScreen): add extra options to store the fully-composed
initiate_all, prev, and prev_all bindings.
(switchScreenInitOptions, switchSetScreenOption): Generate and
regenerate initiate_all, prev, and prev_all bindings as needed.
(switchHandleEvent): update
* plugins/gconf-compiz-utils.c: Remove "<Release>" handling.
* plugins/compiz.schemas: regen, dropping the terminate bindings
and updating a few others.
* include/compiz.h: remove CompPressMask, CompReleaseMask,
EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and
keycodeToModifiers. Add modMap field to CompDisplay.
2006-04-28 David Reveman <davidr@novell.com>
* plugins/water.c: Handle enter/leave notify events.
* plugins/decoration.c (decorInitWindow): Check for window specific
decoration on both mapped and unmapped windows so that initially
minimized windows get properly decorated. (Dan Winship)
* gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t
instead of XFixed to avoid 64bit issue with XFixed being defined as
"int".
* configure.ac: xrender 0.8.4 is good enough.
2006-04-27 Dan Winship <danw@novell.com>
* plugins/rotate.c (rotateHandleEvent): for the
rotate-to-specific-face keys, rotate counterclockwise when that's
faster. (bnc 169427)
* plugins/scale.c (scaleHandleEvent): Make the corners toggle
scale mode rather than only activating it. (bnc 169408)
2006-04-27 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.10.
* plugins/decoration.c: Remove debug variable.
* src/window.c (addWindow): Check if window is minimized. (Dan Winship)
* plugins/compiz.schemas: Regen (snapoff and maximize_effect).
* plugins/wobbly.c: Add maximize effect.
* plugins/zoom.c:
* plugins/water.c:
* plugins/rotate.c:
* plugins/resize.c:
* plugins/move.c:
* src/event.c:
* src/screen.c:
* src/display.c:
* include/compiz.h: Add proper warp pointer interface and update
all plugins to use it.
2006-04-26 Dan Winship <danw@novell.com>
* src/event.c (handleEvent): activate window on Button2 click in
addition to Button1 and Button3.
* plugins/gconf.c (gconfSetOption): gconf_value_compare against
the old value for list-type options too.
(gconfInitOption): Change the call to gconf_client_get_entry to
request the default value again; the fix to gconfSetOption will
prevent the infinite loops that happened before.
2006-04-26 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c (update_shadow):
Remove comment that is no longer valid.
* plugins/move.c: Support for maximized windows snap-off. Based on
patch by Colin Guthrie.
* plugins/rotate.c (rotateHandleEvent): Don't do edge flipping
when a horizontally maximized or fullscreen window is grabbed.
* plugins/zoom.c:
* plugins/rotate.c:
* plugins/resize.c:
* plugins/move.c:
* src/screen.c:
* include/compiz.h: Add warpPointerToScreenPos and use it everywhere
we want to invisibly warp the pointer.
2006-04-25 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c:
* plugins/decoration.c: Add clamp and min size.
* plugins/decoration.c (decorReleaseDecoration): Fix memory leak.
* plugins/scale.c: Click on background leaves scale mode and enters
show desktop mode. (Dan Winship)
* plugins/minimize.c (minHandleEvent): Initialize scale and
translate properly.
* src/window.c (activateWindow):
* src/event.c (handleEvent):
* src/screen.c: Add window parameter to leaveShowDesktopMode and
use this function for making one window leave show desktop mode.
Fixes so that we're leaving show desktop mode when no windows
are longer hidden.
* plugins/scale.c (scaleSetScreenOption): Add missing break statement.
* plugins/rotate.c (rotateInitScreen): Initialize rotateHandle.
* src/paint.c (paintScreen): Only paint windows that have been
damaged.
2006-04-24 Dan Winship <danw@novell.com>
* plugins/scale.c:
* plugins/switcher.c: clarify the "initiate" descriptions
* plugins/compiz.schemas: regen
2006-04-24 David Reveman <davidr@novell.com>
* src/paint.c (paintScreen): Always call paintWindow when window
is visible. Fixes so that window animations (fade, minimize...) aren't
paused when if window becomes invisible.
(paintWindow): Return early if region is empty.
* plugins/switcher.c: Use hideWindow and showWindow so that the
decoration doesn't have to be redrawn every time the switcher window
is mapped.
* src/window.c:
* include/compiz.h: Add hidden flag, that can be used to hide windows
without minimizing them.
* plugins/compiz.schemas: Regen (drop-shadow options).
* configure.ac: xrender 0.9, required for g-w-d.
* gnome/window-decorator/gnome-window-decorator.c:
* plugins/decoration.c: Add configurable drop-shadows. A minor issue is
that shadows around "tiny" windows are not rendered correctly when
large shadow offsets are used. Solution is to have the decorator set
a minimum size for which a decoration can be used so that no shadows
are rendered around "tiny" windows.
2006-04-20 Dan Winship <danw@novell.com>
* plugins/rotate.c: add 12 go-directly-to-cube-face and 12
go-directly-to-cube-face-with-window bindings.
* src/display.c (compDisplayInitOptions): fix the binding type on
WINDOW_MENU.
* plugins/compiz.schemas: Regen. (lower_window, window_menu,
scale_image, images, resize, flip_move, move_window_types, and the
new rotate bindings)
2006-04-20 David Reveman <davidr@novell.com>
* src/window.c:
* src/event.c (handleEvent):
* src/display.c:
* include/compiz.h:
* gnome/window-decorator/gnome-window-decorator.c: Add force quit
dialog.
* plugins/resize.c: Changed default binding to Button2.
* src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6.
* gnome/window-decorator/gnome-window-decorator.c:
* include/compiz.h:
* src/event.c (handleEvent):
* src/display.c: Add window menu binding.
* gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit
actions from compiz and send gnome panel actions for "main menu" and
"run dialog" actions.
* src/event.c (handleEvent):
* src/screen.c:
* include/compiz.h:
* src/display.c (addDisplay): panel action -> toolkit action.
* src/window.c (getModalTransient): Group transient must not be an
ancestor to the window we've currently found as the window to focus.
(getModalTransient): Check for child modal transient.
2006-04-19 David Reveman <davidr@novell.com>
* gnome/compiz-window-manager.c: Be nice to gnome-theme-manager
and return a theme even though we currently don't support it.
* include/compiz.h:
* src/main.c: Remove window-image option.
* include/compiz.h:
* plugins/water.c:
* plugins/cube.c:
* src/texture.c:
* src/paint.c:
* src/main.c: Add strict-binding option.
2006-04-18 Dan Winship <danw@novell.com>
* src/event.c (handleEvent): Fix a crasher in the screenshot
binding code (and rename some of the #defines to make them not so
ridiculously long). Also temporarily hack around a bug in EV_KEY
by putting the check for WINDOW_SCREENSHOT before the check for
SCREENSHOT.
* plugins/scale.c: Change the keybinding again, now to "Pause".
(F11 is the "fullscreen mode" binding for many apps.)
* plugins/compiz.schemas: update
* plugins/gconf.c:
* plugins/gconf-compiz-utils.c:
* plugins/gconf-dump.c: Rearrange #includes to prevent warning
about TRUE and FALSE being redefined
2006-04-18 David Reveman <davidr@novell.com>
* plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE.
* src/window.c (recalcWindowActions): Remove maximize and fullscreen
actions when resizing isn't allowed.
* gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning
of window buttons.
* plugins/cube.c (readSvgToTexture): Fix typo.
* plugins/resize.c: Constrain cursor movement to min/max window size.
* src/window.c (constrainNewWindowSize): Fix aspect ratio calculations.
2006-04-17 David Reveman <davidr@novell.com>
* plugins/cube.c: Put PNG on top face by default.
* images/Makefile.am: Remove window.png.
Add novell.png.
* include/compiz.h:
* src/readpng.c: Add openImageFile.
* plugins/cube.c: Support for PNGs on top face.
Add scale image option which is used to determine if top face
image should be scaled or not.
2006-04-15 David Reveman <davidr@novell.com>
* plugins/wobbly.c: Add modal dialog type to default list of windows
that should be wobbly when moved.
* plugins/water.c (SET): +1 for border.
2006-04-14 Dan Winship <danw@novell.com>
* plugins/gconf-dump.c: add "water" to gconfDeps
* plugins/compiz.schemas: regen including the water options
2006-04-14 David Reveman <davidr@novell.com>
* src/event.c (handleWindowDamageRect): Ignore damage from windows
that aren't redirected.
* include/compiz.h:
* src/window.c:
* src/display.c (eventLoop):
* src/screen.c: Add support for automatic unredirecting of fullscreen
windows.
* plugins/scale.c (scaleInitiate): Layout thumbnails before we
grab the screen to make sure some window exist.
* plugins/resize.c: Allow 4-way resize. (Mike Hearn)
2006-04-13 Dan Winship <danw@novell.com>
* src/screen.c (panelAction): take a timestamp and pass that to
the panel rather than using CurrentTime
* src/event.c (handleEvent): update for that
* src/window.c (moveResizeWindow): fix the gravity handling so
self-resizing windows don't dance (although I'm pretty sure this
is a symptom of mishandling gravity somewhere else).
* plugins/gconf.c (gconfInitOption): Request the default value of
the key from gconf, rather than initializing the key to the
internal default value if it hasn't yet been set by the user.
Notably, this makes it so that "compiz gconf" on a new account
will use the default value of active_plugins rather than the
(effectively empty) list of plugins on the command line. (It also
makes it so that the sysadmin can override defaults via sabayon or
whatever.)
2006-04-13 David Reveman <davidr@novell.com>
* src/window.c (mapWindow): Maybe not, disable it again. :(
* src/window.c (mapWindow): Enable draw synchronization on map
again. Should be working correctly with CVS version of X server.
2006-04-12 Dan Winship <danw@novell.com>
* src/window.c (moveResizeWindow): move duplicated code from
_NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to
here, and handle gravity as well. (Fixes bnc 163058.)
(updateWindowAttributes): Do nothing if the window is
override_redirect (and remove a few now-redundant checks of that
elsewhere). Previously we were forgetting to check
!override_redirect in the case where the motif hints changed. (bnc
163931)
(getWindowUserTime): fix a cut-and-paste-o that caused a crash on
64bit machines.
* src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit
manipulation to correspond to what the EWMH means rather than what
it says, and use moveResizeWindow for that and for
ConfigureRequest.
* plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with
"None" bindings.
* gnome/window-decorator/gnome-window-decorator.c (title_event):
if the user right-clicks on the titlebar while the context menu is
popped up, just pop it down and eat the click, like all other
GNOME context menus do.
(style_changed, value_changed): Don't add decorations to
previously-undecorated windows. (bnc 165393)
2006-04-11 David Reveman <davidr@novell.com>
* src/screen.c (addScreen): Fix typo.
2006-04-10 Dan Winship <danw@novell.com>
* src/window.c (focusWindowOnMap): new function to decide whether
or not to focus a newly-mapped window. In addition to the old
checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow
a window to explicitly request to not get focus.
* src/event.c (handleEvent): use focusWindowOnMap when processing
MapRequest.
* plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW
handling so this doesn't interfere with focusable panel applets.
* plugins/compiz.schemas: regen (fixing cube top/bottom color)
* plugins/gconf-dump.c: Handle CompOptionTypeColor.
* configure.ac: Add --enable-gconf-dump so that the gconf-dump
plugin doesn't get built in normal builds
* plugins/Makefile.am: make gconf-dump optional.
2006-04-09 Dan Winship <danw@novell.com>
* plugins/gconf-dump.c: add plugin options, and add information
about restrictions (numeric ranges, specific string values) to the
long description. Make gconf-dump refuse to run if gconf is
running (since you want the defaults it writes out to be coming
from the defaults in the source code, not from any gconf
overrides).
* plugins/compiz.schemas: regen
* plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption
from here, or we'll get an infinite loop when anything changes
2006-04-09 David Reveman <davidr@novell.com>
* include/compiz.h:
* src/display.c:
* src/main.c:
* src/screen.c:
* src/texture.c:
* src/window.c: Remove test mode.
* plugins/Makefile.am: Remove schema from CLEANFILES.
* plugins/compiz.schemas:
* src/display.c:
Improve documentation for runcommand keys slightly. (Mike Hearn)
* include/compiz.h:
* src/texture.c:
* src/screen.c (addScreen): Switch to using GLX 1.3 functions.
(James Jones)
* src/main.c: Indirect rendering option. (James Jones)
2006-04-08 David Reveman <davidr@novell.com>
* plugins/water.c: Add rain delay option. (Emilie Roberts)
2006-04-07 David Reveman <davidr@novell.com>
* plugins/gconf-dump.c: Dump list options correctly.
* plugins/rotate.c: Add flip_move option, edge flipping is only
used when moving windows if this option is enabled.
(rotateHandleEvent): Make we don't rotate when some other plugin
has grabbed the screen.
* plugins/scale.c: Change default key-binding to F11.
(scaleInitiate): Make sure screen isn't grabbed by some other plugin.
(scaleInitScreen): Initialize darkenBack properly.
* configure.ac: Bump version to 0.0.9.
* plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix.
* plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5.
2006-04-07 Dan Winship <danw@novell.com>
(Much of this patch was written by Radek Doulik
<rodo@novell.com>.)
* src/display.c:
* src/event.c:
* src/screen.c: Move keybinding stuff to CompDisplay, making it no
longer settable per-screen. Add bindings for screenshots (for
compatibility with metacity, which handles that keybinding in
GNOME for historical reasons).
* include/compiz.h: add an explicit CompBindingTypeNone rather
than relying on modifiers==0 to mean none. Update bindings stuff.
* src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab):
Fix these to remove the right grab rather than always removing the
most-recently-added one.
(addScreenBinding): deal with CompBindingTypeNone
* plugins/gconf-dump.c: hacky plugin to dump information about the
other plugins to a gconf schemas file (used to regenerate
compiz.schemas)
* plugins/gconf-compiz-utils.c: shared code between gconf.c and
gconf-dump.c
* plugins/Makefile.am: add gconf-dump plugin and compiz.schemas,
and code to install compiz.schemas.
* configure.ac: Update gconf test to set macros needed for schema
install.
2006-04-07 David Reveman <davidr@novell.com>
* plugins/rotate.c: Add edge flipping support.
* plugins/scale.c: Allow corner screen edges to be used for
initiating scale mode.
* src/option.c (compSetBoolOption): Only return TRUE if value changed.
* src/screen.c:
* src/window.c:
* plugins/minimize.c:
* plugins/decoration.c:
* include/compiz.h: Add immediate argument to MoveNotify, immediate
means that any animations should be avoided.
* src/screen.c:
* plugins/water.c:
* plugins/resize.c:
* plugins/place.c:
* plugins/move.c:
* plugins/zoom.c:
* plugins/rotate.c:
* plugins/scale.c:
* src/event.c:
* include/compiz.h:
Add previous pointer position that can be shared between multiple
plugins.
2006-04-06 David Reveman <davidr@novell.com>
* include/compiz.h:
* src/screen.c: Add screen edges and simple interface for enabling
and disabling them.
* plugins/switcher.c (switchDamageWindowRect)
(switchWindowRemove): Update switcher list even when screen isn't
grabbed.
* plugins/switcher.c (switchDamageWindowRect):
* include/compiz.h:
* src/event.c (handleEvent):
* src/window.c: Made it possible to select if window should be
stacked above fullscreen windows or not.
* src/window.c (findSiblingBelow): Only find a fullscreen sibling
if aboveFs is TRUE.
(activateWindow): Allow stacking of window above fullscreen windows
when being activated.
2006-04-05 David Reveman <davidr@novell.com>
* plugins/water.c (fboEpilogue): Reset raster position. Avoids
an FBO/raster-position issue found in newer nvidia drivers.
* plugins/move.c: Add constrain_y option that constrains window
movement so that top of window is always visible (on by default).
* src/event.c (handleEvent): Change active window property even though
it's not different than the window we currently have as active.
* src/window.c (moveInputFocusToWindow): Set focus even though
the window is considered the active window.
2006-04-03 David Reveman <davidr@novell.com>
* plugins/water.c: Use char everywhere instead.
Fix offset direction (P-a Bäckström).
Add offset scale option.
* plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte.
(loadWaterProgram): char -> GLbyte.
(loadBumpMapProgram): char -> GLbyte.
Use char everywhere.
* configure.ac: Bump version to 0.0.8.
* plugins/water.c: Add simple rain effect.
(loadFragmentProgram): Clear any previous error.
* src/display.c: Change so that timeouts are not only triggered
when we're idle.
2006-04-02 David Reveman <davidr@novell.com>
* plugins/water.c: Add scale and bias to normal so that light can be
computed correclty. Offset texture coordinates for nice refraction
effect. (P-a Bäckström)
(waterDrawWindowTexture): Add scaling after setting up texture
coordinate generation.
Fix up loading of bump map programs.
(softwareUpdate): Improve performance of software fall-back code a bit.
(waterDrawWindowTexture): Always use filter for when window is
transformed.
* plugins/gconf.c (gconfGetValue): Fix typo that caused color
parsing to be incomplete (Quinn Storm).
2006-04-01 David Reveman <davidr@novell.com>
* plugins/switcher.c: Add "initiate all" binding which brings up the
switcher window with all mapped windows and "initiate" binding will
now bring up the switcher window with only the visible windows.
2006-03-31 David Reveman <davidr@novell.com>
* plugins/minimize.c (minDamageWindowRect): Never leave windows
in scaled state.
* src/screen.c (moveScreenViewport): Move hidden windows as well.
* src/window.c (addWindow, activateWindow, hideWindow)
(showWindow):
* src/screen.c (enterShowDesktopMode, leaveShowDesktopMode):
* src/event.c (handleEvent):
* include/compiz.h: Fix up show desktop mode.
* plugins/water.c (fboVertices): return 1.
2006-03-30 David Reveman <davidr@novell.com>
* src/texture.c (enableTexture): Always make sure mipmaps are up to
date when using GL_LINEAR_MIPMAP_LINEAR filter.
2006-03-29 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c: Draw outline around
window title text and buttons instead of small shadow.
* src/event.c (handleEvent):
* include/compiz.h:
* src/window.c: Set allowed window actions more correctly.
* plugins/move.c: Add opacity option.
* plugins/Makefile.am: Add water plugin. It's not very useful yet
and it needs more work but it's a good example of how to use
GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual
effects.
* src/screen.c (addScreen): Fix light position.
* src/paint.c (paintWindow):
* plugins/switcher.c (switchPaintThumb):
* plugins/decoration.c (decorPaintWindow):
* include/compiz.h: Make drawWindowTexture a screen function so that
plugins can wrap it.
* src/texture.c (enableTexture):
* src/screen.c (addScreen):
* include/compiz.h: GL_EXT_framebuffer_object and
GL_ARB_fragment_program support.
2006-03-21 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't
try to lower a window below hidden windows or desktop windows.
2006-03-20 David Reveman <davidr@novell.com>
* plugins/wobbly.c (wobblyHandleEvent):
xunmap -> xmap (François Ingelrest).
* src/screen.c (isClientListWindow): All type of windows should go into
the client lists (Thanks to Quinn Storm).
* src/window.c (freeWindow): Destroy frame window.
(mapWindow): Fix so the sync requests are sent correctly when a window
is mapped but disable it for now as it seems to be causing problems
with some applications.
(recalcWindowActions): Allow dialog window actions on util and
toolbar windows.
* src/event.c (handleEvent): Remove event mask and button grabs
when window is reparented.
(handleEvent): Update client list when window type changes.
(handleEvent): Use constrainNewWindowSize on move/resize client
messages and configure requests.
* gnome/window-decorator/gnome-window-decorator.c (window_closed):
Delete decor property when window is closed.
2006-03-17 Jeremy C. Reed <reed@reedmedia.net>
reviewed by: David Reveman
* autogen.sh:
Be consistent with rest of modular xorg by using same
autogen.sh. This allows it to be run using a different
work directory.
2006-03-17 Jeremy C. Reed <reed@reedmedia.net>
reviewed by: David Reveman
* INSTALL:
Mention startup-notification requirement.
2006-03-17 David Reveman <davidr@novell.com>
* plugins/scale.c: Add opacity option.
* configure.ac: Bump version to 0.0.7.
2006-03-17 Radek Doulik <rodo@novell.com>
* src/session.c: added all mandatory SM client callbacks, handle
ICE connection and process ICE messages
* src/display.c (compAddWatchFd): new function, adds new fd watch
- for poll io multiplexing
(compRemoveWatchFd): new function, remove fd watch added by
compAddWatchFd
(doPoll): new helper function, does call poll and calls callbacks
for watch fd's. returns the value of poll call
(eventLoop): use doPoll, we use NULL for display fd watch so that
it doesn't call anything and just use return value from poll as
before
2006-03-17 David Reveman <davidr@novell.com>
* plugins/switcher.c (switchDamageWindowRect): Update window
attributes for popup window. We never get a MapRequest for this
window so it most be done here.
Add "bring to front" option. (Greg)
* src/window.c (stackAncestors): Never raise desktop windows.
Made restackWindowAbove and restackWindowBelow smarter.
2006-03-16 David Reveman <davidr@novell.com>
* plugins/minimize.c:
* src/event.c (handleEvent):
* src/window.c:
Handle window state changes correctly.
(maximizeWindow): Use actions to determine if we're allowed maximize
window.
* src/event.c (handleEvent):
* src/window.c: Send configure notifies correctly.
2006-03-15 David Reveman <davidr@novell.com>
* plugins/switcher.c (switchPaintWindow): Fix paint attribute
calculations.
* include/compiz.h:
* src/event.c (handleEvent):
* src/window.c: Add restackWindowBelow.
2006-03-14 David Reveman <davidr@novell.com>
* plugins/switcher.c: Opacity, brightness and saturation as adjustable
options. (Greg)
* src/window.c (syncWindowPosition): Move frame window now instead of
waiting for client window to change before moving it.
* plugins/move.c (moveTerminate): Sync window position before
releasing pointer grab so that the EnterNotify event from the release
go to the correct window.
* src/window.c (unmapWindow): Put window in withdrawn state when
being unmapped. Should make it work better with KDE. (Tim Northover)
* src/screen.c (addScreen): Fix ambient and diffuse light.
* src/main.c (main): Add --version command line option.
* src/event.c:
* src/screen.c:
* include/compiz.h: Add bindings for changing window opacity.
2006-03-14 Radek Doulik <rodo@novell.com>
* src/event.c (handleEvent): handle minimize/maximize/unmaximize
window keybindings
* src/screen.c: added minimize/maximize/unmaximize window
options/keybindings
* src/window.c (maximizeWindow): new helper function
(unmaximizeWindow): ditto
2006-03-14 David Reveman <davidr@novell.com>
* plugins/scale.c: Add darken background option (Daniel G. Taylor).
2006-03-13 David Reveman <davidr@novell.com>
* src/display.c (eventLoop):
* include/compiz.h:
* src/screen.c (addScreen): CopySubBufferMESA support.
2006-03-07 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c (lower_window):
Remove unused variable tmp.
* src/event.c:
* src/display.c:
* src/window.c:
* src/screen.c:
* include/compiz.h: Better window stacking support.
* gnome/window-decorator/gnome-window-decorator.c: Lower window
when clicking button 2 on titlebar.
* src/window.c (ensureWindowVisibility): Only ensure that window is
visible if it isn't a override redirect window, dock window or
window with struts.
2006-03-06 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.6.
* plugins/cube.c: Skydome update. (MacSlow)
* src/window.c: Ensure window visibility when activating window.
2006-03-05 David Reveman <davidr@novell.com>
* src/window.c (closeWindow): Use protocol mask to determine if
Client Message should be send or if we should kill the client.
* plugins/decoration.c: Don't draw shadow only decorations around
windows with alpha channel.
2006-03-03 David Reveman <davidr@novell.com>
* src/texture.c (readImageBufferToTexture):
(readImageToTexture): Check that returnWidth and returnHeight are
not NULL.
* plugins/cube.c: Skydome support. Thanks to MacSlow.
* plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque
when fading out.
Stop fading if window is resized.
* src/window.c (resizeWindow): Only verify pixmap size if window is
mapped.
(resizeWindow): Check XGetGeometry result.
* plugins/switcher.c: Make sure switcher is correctly updated
even though the previously selected window isn't selectable by
switcher.
* src/event.c (handleEvent): Avoid panel actions when screen is
grabbed.
2006-03-03 Radek Doulik <rodo@novell.com>
* src/main.c (main): init and close session when sm is not
disabled. Enable sm by default.
* src/session.c: added minimal session support so that compiz at
least register with session manager to avoid registering timeouts
2006-03-03 David Reveman <davidr@novell.com>
* src/screen.c (removeScreenGrab): Use correct cursor when changing
actvie pointer grab.
2006-03-02 David Reveman <davidr@novell.com>
* plugins/rotate.c (rotateHandleEvent):
* plugins/zoom.c (zoomHandleEvent): Make sure no pending motion
notify events exists when warping the pointer.
* plugins/rotate.c (rotateHandleEvent): Reset movement.
* plugins/switcher.c: Always send activate request when selecting a
window.
* plugins/cube.c (cubePaintTransformedScreen): Reset color.
* plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK
if opacity isn't opaque.
(switchPaintWindow): Reset color.
2006-03-01 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.5.
* plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing
display modal dialogs.
* plugins/switcher.c (switchPreparePaintScreen): Continue adjusting
window selection even though we're not grabbing the screen.
(switchPaintWindow): Use last used paint attributes for thumbnails.
(switchPaintWindow): Use blending when drawing selection rectangle.
* plugins/fade.c (fadeHandleEvent): unmap. -> map.
(fadeDamageWindowRect): Only zero opacity if we're not already
fading the window.
* src/window.c (unmapWindow): 'placed' variable should be reset on
first call to unmapWindow.
* src/screen.c:
* src/event.c (handleEvent):
* src/display.c (eventLoop):
* include/compiz.h: Add slow animation option.
* src/window.c (recalcNormalHints): Constrain window dimensions to
max texture size.
* src/screen.c (addScreen): Get max texture size.
* gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow
on windows without decorations.
* src/window.c (addWindow): Move initialization of sync alarm.
* plugins/cube.c:
* plugins/decoration.c:
(decorCreateDecoration): Fix minimum size check.
* src/main.c:
* include/compiz.h:
* src/paint.c:
* src/screen.c: Ligthing support.
* compiz.pc.in: Fix.
2006-02-23 David Reveman <davidr@novell.com>
* src/window.c (unmapWindow): Not minimized and not part of showing
desktop mode.
* plugins/wobbly.c: Fix handling of scaled windows.
Update options so that user gets more control over which windows
that should wobble and when.
* configure.ac: Bump version to 0.0.4.
* gnome/window-decorator/gnome-window-decorator.c (window_opened): Make
sure decoration property for switcher window is set.
* plugins/decoration.c (decorHandleEvent):
* src/event.c (handleEvent):
* plugins/switcher.c:
* src/screen.c (addScreen, setScreenOption)
(compScreenInitOptions):
* src/texture.c:
* include/compiz.h: Mipmap support. Add more RUN_COMMAND options.
2006-02-22 David Reveman <davidr@novell.com>
* src/display.c (realToVirtualModMask): Remove modifiers that should
be ignored.
(addDisplay): Select ButtonPress and ButtonRelease events on root
window.
* include/compiz.h (EV_KEY):
(EV_BUTTON): Modifiers should match exactly.
* plugins/switcher.c: Add binding for selecting previous window.
* plugins/decoration.c: Remove sync hack.
* gnome/window-decorator/gnome-window-decorator.c
(draw_shadow_background): Fix drawing of bottom and bottom right
shadow rectangle.
Add switcher window decorations.
Remove sync hack.
Always use double buffering.
* plugins/switcher.c: Remove background color option.
Use property instead of client message to indicate change of selected
window.
2006-02-21 David Reveman <davidr@novell.com>
* plugins/cube.c (cubeHandleEvent): Only load new SVG when available.
2006-02-20 David Reveman <davidr@novell.com>
* plugins/decoration.c (decorWindowUpdate): Decorate window
MwmDecorTitle is present.
* src/window.c (focusWindow):
(moveInputFocusToWindow):
Allow focusing windows with input hint set to false.
(activateWindow): Fix so that dock windows can be active.
* src/screen.c (isClientListWindow): Don't put destroyed windows in
client lists.
* src/event.c (handleEvent): Fix so that dock windows can be active.
(handleEvent): Avoid focusing windows with input hint set to false
when mapped.
2006-02-18 David Reveman <davidr@novell.com>
* src/window.c (unmapWindow): Windows not being minimized should be
placed again at next map.
* plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage
if any window is in initial wobbly state.
2006-02-17 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.3.
* plugins/zoom.c (zoomIn): Translate less.
(zoomPaintScreen): Use selected filter.
(adjustZoomVelocity): Made zoom animation nicer.
(zoomPreparePaintScreen): Don't zoom to much.
ADd filter selection option.
* plugins/decoration.c (decorPaintWindow):
* src/paint.c (drawWindowTexture): Use screen filters.
* include/compiz.h: Add support for adjusting filters.
* plugins/scale.c (scaleHandleEvent): Only button 1.
* plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size
greater than 4.
2006-02-16 David Reveman <davidr@novell.com>
* configure.ac: Remove menu.
* plugins/switcher.c (switchNextWindow): Damage new and previously
selected window.
(switchInitiate): Damage screen initiating switching.
(switchTerminate): Damage screen terminating switching.
(switchPaintThumb): Draw thumbnail without calling any function that
can be wrapped.
* gnome/window-decorator/gnome-window-decorator.c
(update_window_decoration_size): Make sure title isn't rendered
when it doesn't fit.
2006-02-14 David Reveman <davidr@novell.com>
* gnome/window-decorator/gnome-window-decorator.c
(draw_window_decoration): Make sure complete icon is visible.
* src/display.c (eventLoop):
(getTimeToNextRedraw): Handle clock rollback.
2006-02-13 David Reveman <davidr@novell.com>
* configure.ac: Remove menu plugin check.
Require version 2.8.0 or greater of gtk+.
2006-02-11 David Reveman <davidr@novell.com>
* configure.ac: Bump version to 0.0.2.
* src/window.c:
* src/event.c:
* plugins/fade.c:
* src/display.c:
* include/compiz.h: Lower brightness of windows that are not responding
and all windows when showing logout dialog.
* gnome/window-decorator/gnome-window-decorator.c: Use metacity
titlebar font settings.
* gnome/compiz-window-manager.c: Add titlebar font setting.
* plugins/Makefile.am:
* plugins/switcher.c: Add switcher plugin.
* plugins/gconf.c: Add alpha to color options.
2006-02-10 David Reveman <davidr@novell.com>
* src/screen.c:
* src/display.c: Do not include X11/extensions/Xevie.h.