summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2002-01-15fix crash when grab failed due to another operation in progressHavoc Pennington1-28/+30
2002-01-15 Havoc Pennington <hp@redhat.com> * src/keybindings.c (handle_tab_backward): fix crash when grab failed due to another operation in progress (handle_tab_forward): fix crash when grab failed
2002-01-11only bump unmaps_pending if the window was mappedHavoc Pennington5-21/+83
2002-01-10 Havoc Pennington <hp@pobox.com> * src/frame.c (meta_window_destroy_frame): only bump unmaps_pending if the window was mapped (meta_window_ensure_frame): ditto * src/keybindings.c: change arrow key bindings to use Ctrl+Alt not just Alt, and add debug mode key bindings * src/stack.c (meta_stack_get_default_focus_window): don't choose a default focus window with unmaps pending, since we probably just unmapped it. * src/display.c (event_callback): move notify_focus on UnmapNotify after the window_free check, so we can move focus to another window when we unmanage * src/window.c (meta_window_hide): invalidate work areas when hiding a window with struts (meta_window_free): invalidate work areas when unmanaging a window with struts
2002-01-10store strut information, update it on property changes, etc. etc. so weHavoc Pennington7-38/+485
2002-01-09 Havoc Pennington <hp@pobox.com> * src/window.c, src/window.h: store strut information, update it on property changes, etc. etc. so we avoid panel on maximize. * src/workspace.c (meta_workspace_get_work_area): add accessor for work area so we can compute it lazily * src/display.h, src/display.c: add _NET_WM_STRUT atom and _WIN_HINTS atom
2002-01-08add code to save ACLOCAL_FLAGSHavoc Pennington7-349/+559
2002-01-08 Havoc Pennington <hp@pobox.com> * configure.in (ACLOCAL): add code to save ACLOCAL_FLAGS * src/frames.c (meta_frames_expose_event): max dither * src/testgradient.c (render_simple): change dither mode to MAX to avoid banding * src/theme.c: lose the gradient cache, and put in some initial data types for the theme format
2002-01-07make gradient a bit more subtle (don't go to the full background, but to aHavoc Pennington1-2/+11
2002-01-07 Havoc Pennington <hp@redhat.com> * src/frames.c (meta_frames_expose_event): make gradient a bit more subtle (don't go to the full background, but to a blend of selection and background; put lighter color on top)
2002-01-07put in attempted fix for the GTK 1.2 plug/socket screwup, now that myHavoc Pennington7-114/+129
2002-01-06 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_notify_focus): put in attempted fix for the GTK 1.2 plug/socket screwup, now that my fixed debug spew reveals what's actually happening. ;-) * src/gradient.c (meta_gradient_description_new): object to store gradient descriptions * src/window.c (meta_window_notify_focus): fix the debug spew that was confusing me * src/wm-tester/focus-window.c: add little program to focus a window ID
2002-01-06change to use spiffy gradient code.Havoc Pennington7-54/+1241
2002-01-06 Havoc Pennington <hp@pobox.com> * src/theme.c (meta_theme_get_gradient): change to use spiffy gradient code. * src/gradient.c: copy lovely gradient code from WindowMaker, as usual Dan and Alfredo have very nice code
2002-01-06draw titlebar highlight with snazzy gradient that needs some tweaking toHavoc Pennington6-864/+259
2002-01-05 Havoc Pennington <hp@pobox.com> * src/frames.c (meta_frames_expose_event): draw titlebar highlight with snazzy gradient that needs some tweaking to be less dumb-looking * src/theme.c: replace old theme.[hc] contents with newer stuff that doesn't do anything
2002-01-06GTK 1.2 plug/socket clients still broken, don't know why.Havoc Pennington5-21/+106
2002-01-05 Havoc Pennington <hp@pobox.com> GTK 1.2 plug/socket clients still broken, don't know why. * src/screen.c (meta_screen_new): select focus change on root window, for debugging * src/display.c (event_callback): when unfocusing, use no_focus_window to hold the focus * src/display.h (struct _MetaDisplay): have a no_focus_window to hold the focus when we don't want to have anything focused. Then we can avoid confusing focusing-the-frame stuff. * src/window.c (meta_window_notify_focus): improve some debug spew (meta_window_notify_focus): add hack from WindowMaker to ignore focus in events with detail > NotifyNonlinearVirtual
2002-01-04don't lower docks when a grab causes them to get LeaveNotifyHavoc Pennington1-1/+3
2002-01-04 Havoc Pennington <hp@pobox.com> * src/display.c (event_callback): don't lower docks when a grab causes them to get LeaveNotify
2002-01-04set event mask on root window to 0 so other window managers (such asHavoc Pennington3-1/+24
2002-01-04 Havoc Pennington <hp@pobox.com> * src/screen.c (meta_screen_free): set event mask on root window to 0 so other window managers (such as ourselves restarting) can start up; addresses race condition on restart where the old WM still had RedirectMask when the new WM was trying to start up. * src/display.c (meta_display_close): free each screen * src/window.c (meta_window_show): always focus new windows in click-to-focus mode
2002-01-04use meta_XFree not XFreeHavoc Pennington5-263/+333
2002-01-03 Havoc Pennington <hp@pobox.com> * src/window.c: use meta_XFree not XFree * src/display.h (meta_XFree): add null-safe XFree * src/util.c (meta_warning): have message prefix indicate that it's a warning (meta_fatal): indicate it's an error * src/window.c (update_sm_hints): clean up using meta_prop_get_latin1_string (update_role): ditto (read_client_leader): clean up using meta_prop_get_window (update_net_wm_type): clean up using meta_prop_get_cardinal (update_initial_workspace): ditto (update_net_wm_type): clean up using meta_prop_get_atom_list (read_rgb_icon): get result from XGetWindowProperty return value not from error trap (update_kwm_icon): ditto (meta_window_new): fix to read WM_STATE correctly
2002-01-04clean up using meta_prop_get_atom_list (update_mwm_hints): clean up usingHavoc Pennington4-140/+341
2002-01-03 Havoc Pennington <hp@pobox.com> * src/window.c (update_net_wm_state): clean up using meta_prop_get_atom_list (update_mwm_hints): clean up using meta_prop_get_motif_hints * src/Makefile.am (metacity_SOURCES): add xprops.[hc] * src/xprops.c: new file with convenience functions for X properties
2002-01-03focus top window when switching to a new workspaceHavoc Pennington12-36/+368
2002-01-03 Havoc Pennington <hp@pobox.com> * src/workspace.c (meta_workspace_activate): focus top window when switching to a new workspace * src/util.c (meta_topic): start putting verbose output in categories * src/window.c (meta_window_shade): focus frame after we queue the calc_showing so the maps/unmaps have already happened. * src/display.c (meta_display_get_current_time): add the "get time of current event" function and call it occasionally. * src/window.c (meta_window_free): if we have focus, call meta_screen_focus_top_window(). (meta_window_minimize): ditto (meta_window_delete): ditto * src/screen.c (meta_screen_ensure_tab_popup): fix memory leak - didn't free tab list (meta_screen_focus_top_window): new function to use when we unmap or unmanage a focused window * src/stack.c (meta_stack_get_default_focus_window): function used in meta_screen_focus_top_window
2002-01-02add a server grab here since we were failing to have one when calling theHavoc Pennington1-2/+5
2001-12-21 Havoc Pennington <hp@redhat.com> * src/frame.c (meta_window_ensure_frame): add a server grab here since we were failing to have one when calling the function
2001-12-11Rework the click-client-area-to-focus support to use synchronous grabs,Havoc Pennington6-95/+76
2001-12-10 Havoc Pennington <hp@pobox.com> Rework the click-client-area-to-focus support to use synchronous grabs, avoids a big mess, lets us pass through click when required (for dock/desktop). Disadvantage is all left-button clicks now require window manager approval. ;-) * src/display.c (event_callback): don't focus dock/desktop when the mouse enters them; require a click. (meta_change_button_grab): allow sync grabs (meta_display_grab_unfocused_window_buttons): establish a synchronous grab and maintain it all the time, rename to meta_display_grab_focus_window_button * src/window.c: change to reflect display.c
2001-12-11oops, unbreak this _again_ - reported by Josh BarrowHavoc Pennington1-1/+2
2001-12-10 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_update_unfocused_button_grabs): oops, unbreak this _again_ - reported by Josh Barrow
2001-12-10don't allow grab on docks/desktop for now; needs fixing later to do theHavoc Pennington1-17/+22
2001-12-10 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_update_unfocused_button_grabs): don't allow grab on docks/desktop for now; needs fixing later to do the grab, but pass thru click, so we can focus those windows. And in fact we need to do that even in sloppy mode.
2001-12-10fix broken "tmp = tmp->data"Havoc Pennington5-4/+135
2001-12-10 Havoc Pennington <hp@pobox.com> * src/screen.c (meta_screen_foreach_window): fix broken "tmp = tmp->data" Implement do-not-pass-thru-click for click-to-focus mode. * src/screen.c (update_focus_mode): when focus mode changes, update all the window grabs * src/display.c (meta_display_grab_unfocused_window_buttons): implement grabbing button 1 on client area of unfocused click-to-focus windows * src/window.c (meta_window_update_unfocused_button_grabs): update whether we're grabbing unmodified button 1 on client area according to focus state and focus mode (meta_window_new): start out with proper grab state
2001-12-10don't do mnemonics for workspaces above 9Havoc Pennington1-5/+5
2001-12-10 Havoc Pennington <hp@pobox.com> * src/menu.c (meta_window_menu_new): don't do mnemonics for workspaces above 9
2001-12-10oops, remove extra workspace creation, and update to current pref.Havoc Pennington1-7/+2
2001-12-10 Havoc Pennington <hp@pobox.com> * src/screen.c (meta_screen_new): oops, remove extra workspace creation, and update to current pref.
2001-12-10update number of workspaces hintHavoc Pennington9-17/+263
2001-12-09 Havoc Pennington <hp@pobox.com> * src/workspace.c (meta_workspace_free): update number of workspaces hint * src/screen.c (update_num_workspaces): implement number of workspaces setting * src/window.c (meta_window_configure_request): honor configure requests on windows of type NORMAL, but still be mean to those of type DIALOG * src/main.c (main): add more log domains to those we set a log handler for, and only set warnings fatal in debug mode * src/metacity.schemas: add number of workspaces setting
2001-12-10in click-to-focus mode don't focus on enter notify. Implement unfocusingHavoc Pennington1-1/+31
2001-12-09 Havoc Pennington <hp@pobox.com> * src/display.c (event_callback): in click-to-focus mode don't focus on enter notify. Implement unfocusing on LeaveNotify in mouse focus mode. Click to focus just ends up working if we do nothing on enter/leave, because of the way things already worked. Except I need to add some relatively complex hack to allow clicking on client area, right now you have to click on the frame.
2001-12-09move SM init a bit later in the process, and init prefsHavoc Pennington15-17/+567
2001-12-09 Havoc Pennington <hp@pobox.com> * src/main.c (main): move SM init a bit later in the process, and init prefs * src/session.c: fix no SM case (though I hardly know why I'm bothering) * src/main.c (main): call bindtextdomain * src/util.h (_): actually call gettext * configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff * src/prefs.c: Preferences - this marks the beginning of our doom. None of them are actually implemented yet, but we monitor some stuff from gconf.
2001-12-09initial schemas fileHavoc Pennington1-0/+103
2001-12-07when unminimizing an app, if we're in "show desktop" (all windowsHavoc Pennington1-0/+3
2001-12-07 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_unminimize): when unminimizing an app, if we're in "show desktop" (all windows minimized) mode, leave show desktop mode. Will occasionally be a bit weird, but allows people to recover via task list if they accidentally do the show desktop thing, and don't know what's going on.
2001-12-07fix gdkatom/xatom screwup - gee, I should read my warningsHavoc Pennington1-1/+1
2001-12-06 Havoc Pennington <hp@redhat.com> * src/ui.c (meta_text_property_to_utf8): fix gdkatom/xatom screwup - gee, I should read my warnings
2001-12-03add a dummy element to the enum so the signals array is not empty. (breaksLaszlo Peter2-1/+2
2001-12-03 Laszlo Peter <laca@ireland.sun.com> * src/frames.c: add a dummy element to the enum so the signals array is not empty. (breaks the build with Forte C) * src/window.c: s/__FUNCTION__/G_GNUC_FUNCTION/
2001-11-27change so that window can be offscreen to the bottom or the right, as longHavoc Pennington1-5/+23
2001-11-27 Havoc Pennington <hp@pobox.com> * src/window.c (constrain_position): change so that window can be offscreen to the bottom or the right, as long as a small top-left corner of the window remains onscreen. However, windows still can't go off the left or top.
2001-11-27add error trapHavoc Pennington1-0/+4
2001-11-26 Havoc Pennington <hp@redhat.com> * src/window.c (window_query_root_pointer): add error trap
2001-11-02protect meta_verbose from a NULL pointer.Laszlo Peter1-1/+2
2001-11-02 Laszlo Peter <laca@ireland.sun.com> * src/window.c (update_sm_hints): protect meta_verbose from a NULL pointer.
2001-10-30handle queue/unqueue of calc showings as we are iterating over the pendingHavoc Pennington2-15/+42
2001-10-29 Havoc Pennington <hp@pobox.com> * src/window.c (idle_calc_showing): handle queue/unqueue of calc showings as we are iterating over the pending list (meta_window_show): focus placed transients in here instead of in meta_window_place - now it should actually work, yay * src/place.c (meta_window_place): remove focusing of transient child from here; this was really broken
2001-10-29note exciting new unminimize feature for the tab popupHavoc Pennington3-11/+36
2001-10-29 Havoc Pennington <hp@pobox.com> * README: note exciting new unminimize feature for the tab popup * src/keybindings.c (process_tab_grab): use meta_window_activate() when choosing a window with tab popup, this should deiconify it * src/window.c (meta_window_client_message): use meta_window_activate for _NET_ACTIVE_WINDOW message (meta_window_activate): new function to raise/focus/unminimize (meta_window_flush_calc_showing): new function (meta_window_focus): force a calc showing on focus, so that we can focus the window if appropriate (it must be mapped)
2001-10-26fix for ignoring NumLock on Alt-windowclick (previous NumLock fix was onlyHavoc Pennington2-61/+70
2001-10-26 Havoc Pennington <hp@pobox.com> * src/display.c (meta_display_grab_window_buttons): fix for ignoring NumLock on Alt-windowclick (previous NumLock fix was only for key grabs not button grabs)
2001-10-26set the current workspace hintHavoc Pennington1-1/+4
2001-10-25 Havoc Pennington <hp@redhat.com> * src/window.c (meta_window_new): set the current workspace hint
2001-10-25I was using meta_workspace_contains_window() in a number of places whereHavoc Pennington6-20/+29
2001-10-25 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_visible_on_workspace): I was using meta_workspace_contains_window() in a number of places where on_all_workspaces should also have been considered, thus this new function. Fixes bugs such as pinned windows not appearing in the tab order. (meta_window_client_message): use meta_window_visible_on_workspace * src/stack.c (find_tab_forward): ditto (find_tab_backward): ditto (meta_stack_get_tab_next): ditto (meta_stack_get_tab_list): ditto * src/place.c (get_windows_on_same_workspace): ditto * src/keybindings.c (handle_focus_previous): ditto (handle_focus_previous): ditto
2001-10-25use bg/fg not base/text for the window title area.Havoc Pennington1-3/+3
2001-10-24 Havoc Pennington <hp@pobox.com> * src/frames.c (meta_frames_expose_event): use bg/fg not base/text for the window title area.
2001-10-25support initial on-all-workspaces settingHavoc Pennington1-7/+15
2001-10-24 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_new): support initial on-all-workspaces setting
2001-10-23fix to keep desktop window from appearing on top of everything else, amongHavoc Pennington1-0/+6
2001-10-22 Havoc Pennington <hp@pobox.com> * src/stack.c (meta_stack_sync_to_server): fix to keep desktop window from appearing on top of everything else, among other stack bugs. Untested.
2001-10-15use queried attributes to check whether window should be initiallyHavoc Pennington1-3/+3
2001-10-15 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_new): use queried attributes to check whether window should be initially maximized, rather than window rect
2001-10-15add a restart feature, for debuggingHavoc Pennington7-5/+116
2001-10-15 Havoc Pennington <hp@pobox.com> * src/main.c (meta_restart): add a restart feature, for debugging * src/tools/metacity-restart.c: little utility program to trigger the restart
2001-10-15raise/focus windows on left-click, seem to have broken that yesterdayHavoc Pennington6-9/+92
2001-10-14 Havoc Pennington <hp@pobox.com> * src/frames.c (meta_frames_button_press_event): raise/focus windows on left-click, seem to have broken that yesterday * src/keybindings.c, src/display.c, src/window.c: add keybinding to show/hide all normal windows (so you can see the desktop). Currently Ctrl+Alt+D, which I don't like, but yay.
2001-10-14take a window mapped at fullscreen size/pos to desire maximization; once IHavoc Pennington4-38/+24
2001-10-14 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_new): take a window mapped at fullscreen size/pos to desire maximization; once I add a fullscreen state, will change to copy kwin and take this mapping as a desire for fullscreen, but for now testing with maximization. * src/window.h: remove fullscreen window type, now proposing it as a window state instead. 2001-10-14 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_maximize): always raise windows on maximize (meta_window_client_message): when activating a window, move it to current workspace, instead of moving user to the window's workspace.
2001-10-14only handle events here if the modmask from our button grab is active.Havoc Pennington3-8/+39
2001-10-14 Havoc Pennington <hp@pobox.com> * src/display.c (event_callback): only handle events here if the modmask from our button grab is active. i.e. only the Alt-click is handled here. * src/frames.c: add check for whether button presses are in the frame client area before handling them, so we don't weirdly let you move a frame by clicking in its client area if the client hasn't selected button press events.
2001-10-13set last window before setting newp, so we don't get the current window asHavoc Pennington1-4/+5
2001-10-13 Havoc Pennington <hp@pobox.com> * src/stack.c (meta_stack_sync_to_server): set last window before setting newp, so we don't get the current window as the last window and screw everything up (IN_TAB_CHAIN): use type not layer to decide if a window is in the tab chain, keeps panel out of alt-tab choices
2001-10-13add bad hack to work with GTK 1.3.9.90 RPMs from gnomehide for nowHavoc Pennington1-0/+5
2001-10-13 Havoc Pennington <hp@redhat.com> * configure.in: add bad hack to work with GTK 1.3.9.90 RPMs from gnomehide for now * src/ui.c: another piece of bad hack in here
2001-10-13hmm, fix buildHavoc Pennington1-1/+1
2001-10-13 Havoc Pennington <hp@pobox.com> * src/session.c (meta_session_init): hmm, fix build
2001-10-13makefile tweak, add a comment to frame.cHavoc Pennington2-2/+3
2001-10-12set the session manager priority so we start up before other apps.Havoc Pennington1-3/+12
2001-10-12 Havoc Pennington <hp@pobox.com> * src/session.c (meta_session_init): set the session manager priority so we start up before other apps.
2001-10-12use gdk_pixbuf_new_from_inline (meta_ui_get_default_mini_icon): useMikael Hallendal1-2/+2
2001-10-12 Mikael Hallendal <micke@codefactory.se> * src/ui.c (meta_ui_get_default_window_icon): use gdk_pixbuf_new_from_inline (meta_ui_get_default_mini_icon): use gdk_pixbuf_new_from_inline