2003-01-05 Havoc Pennington <hp@pobox.com>
* src/frames.c (meta_frames_apply_shapes): put in the
HAVE_GTK_MULTIHEAD conditionals so we build with GTK 2.0
2003-01-05 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_show): focus new windows even in
mouse focus mode, #89981, patch from readams@hmc.edu
2003-01-05 Havoc Pennington <hp@pobox.com>
* src/workspace.c (meta_workspace_get_neighbor): redo using new
calc_workspace_layout to fix#98302
* src/util.c (topic_name): shorten default prefix
* src/screen.c (meta_screen_calc_workspace_layout): enhance this
to handle all the funky layouts and calculate more information
than before
2003-01-05 Havoc Pennington <hp@pobox.com>
* src/frames.c (meta_frames_apply_shapes): handle
the client having a shape mask, fixes#101806
* src/core.c (meta_core_get_client_xwindow): new function
* src/frame.c, src/frame.h: keep a flag for whether we need to
update the frame shape
* src/window.c (meta_window_new): select for ShapeNotify
* src/display.h, src/display.c: actually query the shape
extension, instead of just using it all over the place.
* src/prefs.c (update_application_based): don't let people turn on
application_based, as it just causes funky bugs. We can reenable
the pref when/if it ever does something useful.
2003-01-03 Havoc Pennington <hp@redhat.com>
* src/display.c: include the Xrandr header file
* src/window.c (meta_window_fill_horizontal)
(meta_window_fill_vertical): maximize to work area, not entire
screen. doh.
2002-12-18 Havoc Pennington <hp@redhat.com>
* src/window.c (meta_window_new): select ColormapChangeMask
on toplevel windows, maybe a partial fix for #101478
2002-12-17 Havoc Pennington <hp@pobox.com>
* src/display.c (meta_display_begin_grab_op): don't use "(null)"
for null pointers, use "none", so I can distinguish
glibc-generated (null) which is a bug.
(key_event_description): ditto
(meta_display_begin_grab_op): ditto
* src/window.c (update_sm_hints): ditto
* src/keybindings.c (reload_modmap): ditto
(meta_display_process_key_event): ditto
2002-12-19 Yanko Kaneti <yaneti@declera.com>
* configure.in: (ALL_LINGUAS) Added Bulgarian (bg).
po/
* bg.po (added): Added start of Bulgarian translation by
Alexander Shopov <al_shopov@yahoo.com>.
2002-12-16 Havoc Pennington <hp@pobox.com>
* src/window-props.c: use META_PROP_VALUE_STRING_AS_UTF8 so
we convert old Latin-1 WM_NAME to UTF-8
* src/xprops.h (enum): add META_PROP_VALUE_STRING_AS_UTF8 to get a
latin1 string then convert.
2002-12-15 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_new): get window name before anything
else.
* src/xprops.c (validate_or_free_results): instead of suggesting
how to get window title etc. with xprop, just print out the
window title. much better.
2002-12-15 Havoc Pennington <hp@pobox.com>
* src/xprops.c (validate_or_free_results): make the warning about
strange property contents blame the application and explain how to
use xprop to diagnose which app is causing the problem.
2002-12-13 Havoc Pennington <hp@redhat.com>
* src/tools/Makefile.am (Desktop_in_files): only install .desktop
file for metacity-properties if we actually install
metacity-properties
* src/display.c (event_callback): not focusing on button 2 click
was crack, revert that change.
2002-12-09 Havoc Pennington <hp@pobox.com>
* AUTHORS: add myself here, bug #100789
* src/display.c (meta_display_set_grab_op_cursor): drop
PointerMotionHintMask
* src/window.c (meta_window_handle_mouse_grab_op_event): don't use
XQueryPointer, as we aren't using PointerMotionHint now
* src/display.c (event_callback): rearrange a bit of code
for slight speedup and clarity
* src/window.c (update_resize)
(meta_window_handle_mouse_grab_op_event): implement
usage of the _METACITY_UPDATE_COUNTER
(meta_window_handle_mouse_grab_op_event): fix code that
used event->xbutton with a motion event
* src/display.c (meta_display_open): add new atoms, and
initialize Xsync if we have it
(grab_op_is_resizing): new function
(meta_display_begin_grab_op): create an alarm monitoring
window's _METACITY_UPDATE_COUNTER
(meta_spew_event): conditionalize this on WITH_VERBOSE_MODE
and print alarm events.
* src/window.c (meta_window_new): fetch _METACITY_UPDATE_COUNTER
* configure.in (HAVE_XSYNC): check for Xsync extension
2002-12-08 Havoc Pennington <hp@pobox.com>
* README: updates
* src/window.c (MAX_RESIZES_PER_SECOND): change to 20 instead of
30, just as an experiment.
(MOVE_THRESHOLD): change 15 to 20
(RESIZE_THRESHOLD): change 15 to 20
* src/util.c (ensure_logfile): kill this function when verbose
mode is disabled.
2002-12-08 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_fill_vertical)
(meta_window_fill_horizontal): new functions to resize to
fill screen
* src/keybindings.c: add vert, horiz maximize
* src/prefs.c: had vert, horiz maximize
* src/metacity.schemas.in: shorten some overlong short
descriptions that make the keybindings capplet look ugly.
Add maximize_vertically, maximize_horizontally keys.
2002-12-08 Havoc Pennington <hp@pobox.com>
* src/prefs.c (meta_prefs_get_application_based): make this always
return FALSE for now, to avoid bug reports.
* src/util.c (ensure_logfile): put "opened log file" message on
stderr so it will normally land in ~/.xsession-errors
* configure.in: remove extra AC_ARG_PROGRAM
* src/display.c (event_callback): handle the toggle-verbose message
* src/tools/metacity-message.c: add a toggle-verbose message, been
meaning to do this for a while.
* src/util.c (meta_set_verbose): if verbose mode is enabled and we
don't support it, then exit.
* src/prefs.c: allow building without gconf (currently means some
prefs are no-ops)
* src/util.c, src/util.h: support defining macros to
kill all verbose output entirely. (Removes the code and strings
associated with it)
* configure.in: don't get METACITY_PROPS_LIBS if not building the
config dialog.
(HAVE_GCONF): allow building sans gconf, if you are size-sensitive
and not using gnome.
(WITH_VERBOSE_MODE): add ability to disable all the verbose debug
spew strings, to shrink the binary.
(--disable-sm): allow SM support to be forced on or off
(--disable-startup-notification): allow forcing this on or off
* src/window.h (META_WINDOW_IN_NORMAL_TAB_CHAIN,
META_WINDOW_IN_DOCK_TAB_CHAIN) : never use a window with input =
FALSE take_focus = FALSE in the normal and doc tab chains #90409
2002-12-01 Havoc Pennington <hp@pobox.com>
* src/frames.c (get_control): rearrange this function a bit, so
that we return CONTROL_TITLE for anything above the bottom of the
titlebar, in the fallback case where no other control was found.
Also, don't return RESIZE_N for title rect above the top resize
size, unless the window is resizable.
(meta_frames_button_press_event): only start a move when clicking
control TITLE, not control NONE. This way you don't start moving
a nonresizable window if you click its edges.
2002-12-01 Havoc Pennington <hp@pobox.com>
* src/tools/Makefile.am: conditionalize building the config dialog
* configure.in (BUILD_CONFIG_DIALOG): add --enable-config-dialog
option to turn on the "window focus" dialog. This is part of
deprecating this dialog.
2002-11-30 Havoc Pennington <hp@pobox.com>
* src/screen.c (STARTUP_TIMEOUT): lengthen to 15 seconds
* src/util.c (utf8_fputs): hmm, return a value
* src/screen.c (meta_screen_apply_startup_properties): new
function to apply initial workspace based on startup sequence.
* src/window.c (meta_window_new): load _NET_STARTUP_ID
(meta_window_get_startup_id): new function
* src/window-props.c (meta_display_init_window_prop_hooks): add
hooks for _NET_STARTUP_ID
* src/display.c (event_callback): send property events to
groups.
* src/xprops.c (meta_prop_get_values): make a type of INVALID
mean to ignore that property (don't fetch its value).
* src/group.c (meta_group_property_notify): new function
* src/screen.c (set_supported_hint): support _NET_STARTUP_ID
* src/display.c (meta_display_open): add _NET_STARTUP_ID to atoms
we initialize
* src/group-private.h: private header shared between
group-props.c, group.c
* src/group-props.h, src/group-props.c: new files to contain
functions for retrieving group properties
* src/window.c (meta_window_same_application): change this a bit
to work with new definition of group
* src/group.c (meta_window_get_group): always create a group for
every window, using the window's own ID as group leader if
required.
* src/window.c (update_wm_hints): handle changes to group leader
* src/group.c (meta_window_group_leader_changed): new function
* src/display.h (struct _MetaDisplay): _NET_WM_WINDOW_TYPE_SPLASH,
not SPLASHSCREEN. Reported by Gregory Merchan and Matthias Clasen.
* src/screen.c (startup_sequence_timeout): when timing out a
startup sequence, send a remove message, don't just time it out
locally.
2002-11-22 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_change_workspace): patch from
Hidetoshi Tajima to move a window's transients when moving
the window between workspaces. #98900
2002-11-21 Havoc Pennington <hp@pobox.com>
* src/display.c (meta_display_open): init ret_to to
RevertToPointerRoot out of sheer paranoia; don't want no
RevertToNone in my code!
2002-11-20 Havoc Pennington <hp@pobox.com>
* src/window-props.c (set_icon_title): remove unused variable
* src/screen.c (meta_screen_new): read an existing
_NET_CURRENT_DESKTOP and restore it if set. Makes a restart even
less visible.
* src/workspace.c (set_active_space_hint): don't set the hint
during the process of unmanaging a screen
2002-11-19 Havoc Pennington <hp@pobox.com>
Should really fix#98303
* src/prefs.c (meta_prefs_change_workspace_name): add
bad hack to treat empty string the same as null
* src/menu.c (get_workspace_name_with_accel): allocate one more
than the length of "name" so we have room for a nul byte (and
don't malloc(0) on empty strings). Also some formatting cleanups.
2002-11-19 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_client_message): do a
recalc_window_features after setting new wm_state in order
to update skip_pager in addition to wm_state_skip_pager
(set_net_wm_state): base _NET_WM_STATE on skip_pager not
wm_state_skip_pager, ditto for skip_taskbar
2002-11-19 Havoc Pennington <hp@pobox.com>
Fix#98303 and assorted cleanup
* src/prefs.c (meta_preference_to_string): handle
META_PREF_WORKSPACE_NAMES
* src/menu.c (get_workspace_name_with_accel): assert that the
workspace has a name
* src/screen.c (meta_screen_ensure_workspace_popup): assert that
we got a workspace name
(meta_screen_ensure_workspace_popup): assert that we got a
workspace name
* src/prefs.c (update_workspace_name): fix screwiness (strcmp with
a freed string, assorted bad logic)
(init_workspace_names): assert that we filled in a default
workspace name
(meta_prefs_get_workspace_name): assert non-NULL workspace name
2002-11-12 Havoc Pennington <hp@redhat.com>
* src/stack.c (meta_stack_get_default_focus_window): never use a
window with input = FALSE take_focus = FALSE as the default focus
window #95454 fix from Hidetoshi Tajima