Commit Graph

260 Commits

Author SHA1 Message Date
Thomas Thurman
b1fb765d8e Second half of the switch to using x-macros for keybindings so that we
2008-10-05  Thomas Thurman  <tthurman@gnome.org>

        Second half of the switch to using x-macros for keybindings so that
        we don't have lots of places with the same information which must
        stay in the same order.  This time it's screen bindings.

        * src/core/screen-bindings.h: New file, containing screen bindings.
        * src/core/schema-bindings.c: added ability to output screen bindings.
        * src/core/window-bindings.h: tiny tweak to comment
        * src/core/keybindings.c: generate function prototypes using s-b.h;
          several handlers modified to use ints rather than ints cast into
          pointers, or renamed.
        * src/include/prefs.h: generate names of bindings using s-b.h;
          generate screen_handlers using s-b.h;
          arguments to bindings are ints and not ints cast to pointers;
          several handler functions renamed to consistent names.
        * src/core/prefs.c (meta_prefs_set_num_workspaces, init_bindings):
          generate screen_handlers using s-b.h;
          generate screen_string_bindings using s-b.h (and add check for
          null bindings in init_bindings to enable this simply).


svn path=/trunk/; revision=3941
2008-10-06 00:24:07 +00:00
Tomas Frydrych
9b3a0d1ad8 Basic plugin infastructure and a sample simple plugin. 2008-09-18 16:09:11 +01:00
Thomas Thurman
cf48407972 An attempt to keep all information about window bindings in the same
2008-09-06  Thomas Thurman  <tthurman@gnome.org>

        An attempt to keep all information about window bindings
        in the same place.  Screen bindings to come.

        * src/core/window-bindings.h: new file, list of all window bindings
        * src/include/prefs.h: drop all the existing window-binding macros

        * src/core/schema-bindings.c (): output all the schema blocks that
        would appear in metacity.schema for these window bindings.  This
        ought to become part of the build process, and hopefully will soon.
        When this works it will also close #469361.

        * src/core/keybindings.c: generate handle_* prototypes using
        x-macros;  populate window_handlers using x-macros;  rename several
        functions to have consistent names;  do_handle_move_to_workspace(),
        handle_move_to_workspace_flip(), and handle_move_to_workspace() all
        merged into handle_move_to_workspace.

        * src/core/prefs.c: generate window_bindings and window_string_bindings
        using x-macros;  (meta_prefs_set_compositing_manager) fix unrelated
        problem with use of GConf functions when GConf was disabled.

        * src/core/core.c (meta_core_get_menu_accelerator): binding names
        given as literals since this is the only place in the code they
        now appear



svn path=/trunk/; revision=3860
2008-09-06 22:01:56 +00:00
Thomas Thurman
2095cce3ab Add new move_to_center keybinding, requested by Khanh-Dang Nguyen Thu Lam;
2008-09-01  Thomas Thurman  <tthurman@gnome.org>

        Add new move_to_center keybinding, requested by Khanh-Dang Nguyen
        Thu Lam; closes #549979.

        * src/include/prefs.h (void): add name of new binding
        * src/core/prefs.c: added pref for it
        * src/core/keybindings.c (handle_move_to_center): new function
        * src/metacity.schemas.in: included new binding


svn path=/trunk/; revision=3839
2008-09-01 01:32:39 +00:00
Thomas Thurman
941e4bf967 A preliminary attempt at a test for the theme expression tokeniser.
2008-06-10  Thomas Thurman  <tthurman@gnome.org>

        * test/tokentest:  A preliminary attempt at a test for the
          theme expression tokeniser.


svn path=/trunk/; revision=3753
2008-06-10 13:46:41 +00:00
Iain Holmes
f141692ca2 src/include/frame.h src/include/display.h src/include/xprops.h
2008-05-19  Iain Holmes  <iain@gnome.org>

        * src/include/frame.h
        * src/include/display.h
        * src/include/xprops.h
        * src/include/compositor.h
        * src/include/types.h
        * src/include/window.h
        * src/include/errors.h
        * src/include/screen.h: New basic public API for compositor.

        * src/compositor/*: Separate the compositor out into its own 
separate
        directory and set it up for backends. Initial XRender backend.

        * src/core/compositor.[ch]: Remove

        * src/core/frame.h
        * src/core/screen.h
        * src/core/display.h
        * src/core/window.h: Rename to -private.h so as not to clash 
with the
        new files in include

        * src/core/delete.c
        * src/core/workspace.h
        * src/core/stack.[ch]
        * src/core/keybindings.[ch]
        * src/core/errors.c
        * src/core/effects.[ch]
        * src/core/core.c
        * src/core/group.h
        * src/core/edge-resistance.[ch]
        * src/core/window-props.[ch]
        * src/core/constraints.h
        * src/core/bell.[ch]
        * src/core/iconcache.h
        * src/core/session.[ch]
        * src/core/main.c
        * src/core/place.h
        * src/core/xprops.c
        * src/ui/tabpopup.c: Use the new -private headers

        * src/core/display.c
        * src/core/frame.c
        * src/core/window.c
        * src/core/screen.c: Add the API functions required by the 
compositor

        * src/Makefile.am: Relocate the new files



svn path=/trunk/; revision=3715
2008-05-19 00:00:09 +00:00
Thomas Thurman
b455ac62d2 All information should live in exactly one place. This means that the list
2008-05-02  Thomas Thurman  <tthurman@gnome.org>

        All information should live in exactly one place.  This means
        that the list of atoms should not be replicated anywhere.
        Therefore, we include it via x-macros.  Closes #530843.

        * src/core/atomnames.h: added list of atom names
        * src/Makefile.am: added reference to new file
        * src/core/display.h
        * src/core/display.c (twice)
        * src/core/screen.c: #included atomnames.h instead of having
          an enormous list of atoms
        * src/core/group-props.c
        * src/core/window.c
        * src/core/compositor.c
        * src/core/window-props.c
        * src/core/delete.c
        * src/core/workspace.c
        * src/core/stack.c
        * src/core/keybindings.c
        * src/core/iconcache.c
        * src/core/group.c
        * src/core/xprops.c: changed to new, simpler identifiers
          for atoms


svn path=/trunk/; revision=3702
2008-05-02 18:49:01 +00:00
Matthew Wilson
9836007f5e allow moving workspace while moving window with modifier remove the
2008-03-11  Matthew Wilson  <msw@gimp.org>

        * src/core/keybindings.c (meta_display_process_key_event, process_event,
        find_handler, process_mouse_move_resize_grab): allow moving workspace
	while moving window with modifier
        * src/core/workspace.c (meta_workspace_activate_with_focus): remove the
	correct window on jumping workspace while moving


svn path=/trunk/; revision=3649
2008-03-11 03:37:54 +00:00
Thomas Thurman
85631aec0f Lots of tiny fixes to make sure we compile with "gcc -ansi -Werror".
2008-02-27  Thomas Thurman  <tthurman@gnome.org>

	Lots of tiny fixes to make sure we compile with
	"gcc -ansi -Werror".


svn path=/trunk/; revision=3606
2008-02-27 04:39:10 +00:00
Havoc Pennington
72b08c82b1 sort source files into these directories according to which part of the WM
2007-12-19  Havoc Pennington  <hp@redhat.com>

	* src/ui, src/core, src/include: sort source files into these
	directories according to which part of the WM they are supposed to
	be in. In an eventual plan, we should also create
	src/compositor/render, src/compositor/fallback and move some of
	the compositor stuff into that.
	
	* autogen.sh: require a newer automake, so we don't have to use
	a recursive build

	* src/ui/tabpopup.c: put in a hack to make the build temporarily
	work, want to commit the large rearrangement before fixing this
	not to include workspace.h or frame.h

	* src/core/iconcache.c (meta_read_icons): temporarily break this
	to get the build to work, want to commit the large rearrangement
	before fixing this file not to include theme.h


svn path=/trunk/; revision=3491
2007-12-19 21:17:50 +00:00