2008-11-22 Thomas Thurman <tthurman@gnome.org>
* src/core/all-keybindings.h: "backward", not "backwards" throughout.
2008-11-20 Thomas Thurman <tthurman@gnome.org>
* configure.in: turned on -Wall and -Werror in order to
trap as many problems as possible.
* src/ui/resizepopup.c: added correct #include.
* src/ui/theme-viewer.c: initialised variable.
* src/core/xprops.c: corrected cast.
* src/core/main.c: added warning if chdir() fails.
* src/core/schema-bindings.c: checking the return
result of fgets().
2008-11-20 Thomas Thurman <tthurman@gnome.org>
Merged screen and window keybinding tables so that
we can use just one file for the both. Also incidentally
closes#528337. Further efficiencies of scale to come.
* src/include/prefs.h: replace META_PREF_*_KEYBINDINGS
with META_PREF_KEYBINDINGS
* src/core/keybindings.c: replace *_bindings with key_bindings
and similar throughout; all window-based functions are now
guaranteed to receive a window so don't need to check for
themselves
(find_handler): moved so it can also be called from
rebuild_binding_table
* src/core/display-private.h: replace *_bindings with key_bindings
* src/core/prefs.c: update_*_binding becomes update_key_binding;
(change_notify): tidy up references to "enormous if statement"
since it's almost entirely gone now
* src/core/all-keybindings.h: new merged version of
screen-bindings.h and window-bindings.h.
svn path=/trunk/; revision=4022
2008-10-23 Thomas Thurman <tthurman@gnome.org>
* src/core/schema-bindings.c: fix stupid thinko which
caused defaults to be incorrect
* src/include/window-bindings.h: "space" needs to be
lowercase
svn path=/trunk/; revision=3992
2008-10-22 Thomas Thurman <tthurman@gnome.org>
Slight transformation of the x-macros used in keybindings
to make them clearer: write handler names out in full
because the old suffix system was confusing to people
skim-reading, and switched the order of the last two
parameters so more would generally fit on a screen.
* src/core/keybindings.c, src/core/schema-bindings.c
src/core/prefs.c: sympathy changes
* src/core/window-bindings.h, src/core/screen-bindings.h:
transformation as above
svn path=/trunk/; revision=3970
2008-10-18 Thomas Thurman <tthurman@gnome.org>
During a discussion with Rodney Dawes about making life easier
for the translators, he pointed out that the short and long
forms of almost all the keybindings say much the same thing
in different words. I believe this is an unconscionable burden
to place on translators, and have therefore merged the short
and long descriptions into the short description. The long
is now a general explanation of the format, plus possibly a
notice about reversibility. Closes#469361, and should solve
the l10n issue previously mentioned.
* src/core/keybindings.c: reflect changes in *-bindings.h
* src/core/schema-bindings.c: reflect changes in *-bindings.h
* src/core/prefs.c: reflect changes in *-bindings.h
* src/core/window-bindings.h: Add flags field, always the same
currently, so that it's the same as screen-bindings.h.
Also, lose ONLY_BOUND_BY_DEFAULT, since we already had a
rather more elegant way to perform the same effect.
And merge the long and short descriptions.
* src/core/screen-bindings.h (, item): Merge the long and
short descriptions.
svn path=/trunk/; revision=3966
2008-10-12 Thomas Thurman <tthurman@gnome.org>
Make the bindings in src/core/*-bindings.h generate
GConf schemas too. Note that there's an i18n issue
(documented in schema-bindings.c) which will be fixed
next checkin.
* src/core/schema-bindings.c: major fixup to make it
ready for use as part of the actual build process.
* src/Makefile.am: added magic to make it call schema-bindings
after it builds it.
* src/core/window-bindings.h: added comments;
also, window menu was listed variously as alt-Space
and alt-Print; it should have been alt-Space.
* src/metacity.schemas.in.in: renamed from s/\.in$//,
sentinel added for the generated bindings,
warning at the top now untrue, and removed.
svn path=/trunk/; revision=3952
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-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