2003-05-29 Rob Adams <robadams@ucla.edu>
* src/main.c (main): chdir to the user's home directory on
startup. See #113755.
* src/stack.c (get_standalone_layer): a window should be in the
fullscreen layer if it or any of its transient descendants are
focused or expecting the focus and it is either fullscreen or
fullscreen sized. Fix for #104369.
* src/stack.c (is_focused_foreach): foreach used by
get_standalone_layer to find focused transient descendants.
2003-05-20 Havoc Pennington <hp@pobox.com>
* src/keybindings.c (meta_change_keygrab): the mask
display->ignored_modifier_mask wasn't being bound,
due to "<" instead of "<=" (most people didn't notice
as display->ignored_modifier_mask included Scroll_Lock).
Red Hat bugzilla #91301 reported by Youssef Makki
* src/display.c (meta_change_button_grab): make corresponding
change for button grabs.
2003-05-20 Anders Carlsson <andersc@codefactory.se>
* src/metacity-dialog.c: (kill_window_question):
Split up the strings to make life easier for translators.
2003-05-18 Havoc Pennington <hp@pobox.com>
* src/window.c (unminimize_window_and_all_transient_parents):
revert broken change that assumed foreach_ancestor iterated
over the window itself. Andrew Sobala, Rob Adams,
#113232
`
2003-05-16 Rob Adams <robadams@ucla.edu>
Flip the workspace when using up/down/left/right for move window
to, but not when specifying a workspace explicitly as in move to
workspace 4. Possible fix for #105492.
* src/keybindings.c (do_handle_move_to_workspace): new function
moves a window to a workspace with the option to flip to that
workspace.
(handle_move_to_workspace): Use new do_handle_move_to_workspace
function without flipping (a keybinding)
(handle_move_to_workspace_flip): Use new
do_handle_move_to_workspace function with flipping (a keybinding)
2003-05-16 Havoc Pennington <hp@redhat.com>
* src/frames.c (meta_frames_paint_to_drawable): fix for
bug #104018 from David Santiago, change button state to
normal while it's being pressed if you move the mouse
outside it. Do this by tracking prelit_control for whether
to draw a button as active, not just for whether to draw
it as prelit.
(meta_frames_motion_notify_event): also update prelit_control
while clicking a button
2003-05-16 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_new): fill in window->desc sooner
since we use it sooner now.
* src/display.c (meta_display_open): init
display->grab_update_alarm
* src/window.c (meta_window_new): initialize the always_sticky
field
(meta_window_new): initialize the update_icon_queued field
Patch from Julien Olivier bug #92335 for converting "show desktop
mode" to "all windows are minimized" when you open a new window,
instead of just mapping all the windows again.
* src/window.c (meta_window_activate): minimize all windows before
coming out of show desktop mode.
(meta_window_unminimize): don't toggle show desktop mode here
* src/screen.c (meta_screen_minimize_all_except): new function
2003-05-05 Danilo Šegan <dsegan@gmx.net>
* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.
* po/sr.po, po/sr@Latn.po: Added Serbian translation by
http://Prevod.org/.
2003-05-03 Havoc Pennington <hp@pobox.com>
* src/keybindings.c (handle_move_to_workspace): when moving
window to another workspace, don't switch to that workspace.
* src/window.c (menu_callback): when moving window to another
workspace, don't switch to that workspace.
2003-05-01 Rob Adams <robadams@ucla.edu>
* src/constraints.c (constraint_onscreen_applies_func): Don't
apply onscreen constraints to full screen windows. Fix for
#110048
2003-04-05 Rob Adams <robadams@ucla.edu>
Update placement policy for screen with multiple xineramas.
Windows will be placed preferentially on the xinerama with the
pointer, and progressively further away as needed to find a place
where the window does not overlap other windows.
* src/place.c (rect_fits_in_work_area): function
fit_rect_in_xinerama greatly simplified to work with new placement
policy.
(find_first_fit): implement new first first placement scheme
* src/screen.c (meta_screen_get_xinerama_neighbor): look for an
xinerama in the xinerama list that is adjacent to the specified
xinerama.
(meta_screen_get_natural_xinerama_list): return a list of
xineramas in the order to be preferred by the placement algorithm
as determined by the current location of the pointer.
* src/screen.h: add function prototypes and an enum used by
meta_screen_get_xinerama_neighbor.
2003-03-30 Rob Adams <robadams@ucla.edu>
* src/window.c (meta_window_move_resize_internal): When passing
frame geometry to meta_window_constrain, send null if no frame.
Possible fix for #109039.
2003-03-29 Havoc Pennington <hp@pobox.com>
* src/wm-tester/test-gravity.c (main): add --noframes option for
testing, showing how broken we currently are.
Fri Mar 28 14:13:37 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* src/window.c (update_resize): Only cap refresh rate when not
using SYNC. Remove bogus update-if-we-moved-more-than-a-delta.
* src/window.c (update_move): Don't cap refresh rate during
moves. Remove bogus update-if-we-moved-more-than-a-delta.
2003-03-11 Havoc Pennington <hp@pobox.com>
Should fix#108108, #106217, tracked down by Owen Taylor and
Frederic Crozat
* src/window.c (meta_window_foreach_transient): change
MetaWindowForeachFunc to return a boolean for whether to continue
(meta_window_foreach_ancestor): new function
(window_should_be_showing): use meta_window_foreach_ancestor
(unminimize_window_and_all_transient_parents): ditto
(update_sm_hints): ditto
(meta_window_is_ancestor_of_transient): ditto
* src/stack.c (get_maximum_layer_of_ancestor): use
meta_window_foreach_ancestor
2003-03-16 Rob Adams <robadams@ucla.edu>
* window.c (meta_window_show_menu): Free old window menu if it
already exists so we don't end up with more than one. Fix for
#108392.
2003-03-14 Rob Adams <robadams@ucla.edu>
* contraints.c (get_outermost_screen_positions): Don't try to
force a window onscreen by more than its width. Fix for #94815.
2003-03-13 Christian Rose <menthos@menthos.com>
* configure.in: Added "ml" to ALL_LINGUAS.
* po/ml.po: Added Malayalam translation by
FSF-India <locale@gnu.org.in>.
2003-03-11 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): include left frame
geometry when maximizing or fullscreening windows. Fix for
#108127.
2003-02-27 Havoc Pennington <hp@redhat.com>
Switch over to new constraints code, unquestionably introduces
some bugs, but should get us on the right path.
* src/window.c (meta_window_get_work_area_all_xineramas): create
this function again as it turned out to be legitimate for window
position constraint
(adjust_for_gravity): use the width/height from the configure
request to compute the requested move
(meta_window_move_resize_internal): use meta_window_constrain
(update_size_hints): clamp max size to MAXSHORT to avoid worrying
about overflow stuff
* src/constraints.c (meta_window_constrain): don't base placement
on uninitialized variables, general hacking
* src/Makefile.am (metacity_SOURCES): add constraints.c,
constraints.h
* src/constraints.c (meta_window_constrain): update the
cut-and-paste aspect ratio code to have latest bugfixes
2003-03-08 Rob Adams <robadams@ucla.edu>
* src/window-props.c (reload_normal_hints): Check that window min
and max size hints are at least 1. Fix for #107110.
2003-02-27 Havoc Pennington <hp@pobox.com>
* src/main.c (main): add more debug spew about conditional
build stuff
(main): panic to "Simple" theme
* src/window.c, src/window-props.c: move WM_NORMAL_HINTS and
WM_PROTOCOLS to new property system; don't queue move resize on
updating WM_PROTOCOLS; move WM_HINTS to new property system;
reload icon in an idle handler.
Changes made on plane from FOSDEM, syncing from laptop.
2003-02-28 Mark McLoughlin <mark@skynet.ie>
Give me back my keys.
* src/keybindings.c: (meta_window_grab_keys): don't
grab keys on DOCK windows.
* src/window.c: (recalc_window_type): re-grab the
keys.
2003-02-26 Mark McLoughlin <mark@skynet.ie>
* src/keybindings.c: (handle_panel_keybinding): release
the keyboard grab before sending the action message to
the panel.
2003-02-24 Mark McLoughlin <mark@skynet.ie>
Take control of the panel's global keybindings. The
screenshot utility is hooked up using a special case
run_command and the menu and run dialog bindings are
done using the _GNOME_PANEL_ACTION ClientMessage
protocol.
* src/display.[ch]: (meta_display_open): add some atoms.
* src/keybindings.c:
(handle_panel_keybinding): impl to handle a keybinding
by sending an action message to the panel.
* src/metacity.schemas.in: add schemas for the panel and
screenshot keybindings and the screenshot commands.
* src/prefs.[ch]: (update_command),
(meta_prefs_get_gconf_key_for_command): impl special case
handling for the screenshot commands. They are stored at
the the end of the commands array but have named keys.
2003-02-23 Havoc Pennington <hp@pobox.com>
Patch from Rob Adams addresses #95014 (placement issues),
makes first fit algorithm "center tile", adds most code
for per-xinerama workspaces (#86682) but disables it for now.
* src/workspace.c (meta_workspace_get_work_area_for_xinerama)
(meta_workspace_get_work_area_all_xineramas): new xinerama
functions, maintain workspace->work_areas with a different
work area for each xinerama. However for now all the work
areas are the same, because haven't quite figured out how
_NET_WM_STRUT is supposed to work
* src/window.c: adapt to new meta_window_* xinerama APIs
(meta_window_get_work_area_current_xinerama): new xinerama
API
(meta_window_get_work_area_for_xinerama): new xinerama API
(constrain_position): be a bit more clever about which xinerama's
work area we choose to use.
* src/stack.c: adapt to new Xinerama API
* src/screen.c (reload_xinerama_infos): invalidate all work areas
(meta_screen_get_xinerama_for_rect): new function
(meta_screen_window_intersects_xinerama): new function
* src/place.c (find_first_fit): change to use
"center tiling" (center a screen full of tiled windows,
rather than aligning them top left). Adapt to new
xinerama functions.
2003-02-22 Rob Adams <robadams@ucla.edu>
* src/metacity.schemas.in: change toggle_maximized to
toggle_maximize and toggle_shaded to toggle_shade in
action_double_click_titlebar long description to match the values
used by metacity
* po/*.po: change toggle_maximized to toggle_maximize and
toggle_shaded to toggle_shade in action_double_click_titlebar long
description to match the values used by metacity
2003-02-22 Rob Adams <robadams@ucla.edu>
* window.c (set_wm_state): modify comment to explain why the icon
window element is set to None. Fix for #97357 thanks to Gregory
Merchan.
2003-02-22 Havoc Pennington <hp@pobox.com>
* src/display.c (event_callback): fix to unfocus window only when
you leave the window frame, not when you leave the window itself,
unless window has no frame. #100248 fix from Orien Vandenbergh