From f16dbe0db34eb4cbbdb8f01baacbbc5b2d04f0f6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 28 Jan 2011 18:35:21 -0500 Subject: [PATCH] Convert the mac key theme to css --- gtk/Makefile.am | 8 +- gtk/gtk-keys.css.mac | 205 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+), 3 deletions(-) create mode 100644 gtk/gtk-keys.css.mac diff --git a/gtk/Makefile.am b/gtk/Makefile.am index c8317c0f5..4db3a6d76 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -905,10 +905,10 @@ endif if USE_QUARTZ install-mac-key-theme: - $(mkdir_p) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key - $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc + $(mkdir_p) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0 + $(INSTALL_DATA) $(srcdir)/gtk-keys.css.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css uninstall-mac-key-theme: - rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc + rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css else install-mac-key-theme: uninstall-mac-key-theme: @@ -940,6 +940,7 @@ uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtkrc rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key/gtkrc rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key/gtkrc + rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css # if srcdir!=builddir, clean out maintainer-clean files from builddir # this allows dist to pass. @@ -1364,6 +1365,7 @@ EXTRA_DIST += \ gtkrc.key.emacs \ gtk-keys.css.emacs \ gtkrc.key.mac \ + gtk-keys.css.mac \ makefile.msc \ makefile.msc.in \ abicheck.sh \ diff --git a/gtk/gtk-keys.css.mac b/gtk/gtk-keys.css.mac new file mode 100644 index 000000000..095d597f2 --- /dev/null +++ b/gtk/gtk-keys.css.mac @@ -0,0 +1,205 @@ +@binding-set gtk-mac-alt-arrows +{ + bind "Right" { "move-cursor" (words, 1, 0) }; + bind "KP_Right" { "move-cursor" (words, 1, 0) }; + bind "Left" { "move-cursor" (words, -1, 0) }; + bind "KP_Left" { "move-cursor" (words, -1, 0) }; + bind "Right" { "move-cursor" (words, 1, 1) }; + bind "KP_Right" { "move-cursor" (words, 1, 1) }; + bind "Left" { "move-cursor" (words, -1, 1) }; + bind "KP_Left" { "move-cursor" (words, -1, 1) }; +}; + +@binding-set gtk-mac-alt-delete +{ + bind "Delete" { "delete-from-cursor" (word-ends, 1) }; + bind "KP_Delete" { "delete-from-cursor" (word-ends, 1) }; + bind "BackSpace" { "delete-from-cursor" (word-ends, -1) }; +}; + +@binding-set gtk-mac-cmd-c +{ + bind "x" { "cut-clipboard" () }; + bind "c" { "copy-clipboard" () }; + bind "v" { "paste-clipboard" () }; + unbind "x"; + unbind "c"; + unbind "v"; +}; + +@binding-set gtk-mac-text-view +{ + bind "a" { "select-all" (0) }; + bind "a" { "select-all" (1) }; + unbind "a"; + unbind "a"; +}; + +@binding-set gtk-mac-label +{ + bind "a" { + "move-cursor" (paragraph-ends, -1, 0) + "move-cursor" (paragraph-ends, 1, 1) + }; + bind "a" { "move-cursor" (paragraph-ends, 0, 0) }; + bind "c" { "copy-clipboard" () }; + unbind "a"; + unbind "a"; + unbind "c"; +}; + +@binding-set gtk-mac-entry +{ + bind "a" { + "move-cursor" (buffer-ends, -1, 0) + "move-cursor" (buffer-ends, 1, 1) + }; + bind "a" { "move-cursor" (visual-positions, 0, 0) }; + unbind "a"; + unbind "a"; +}; + +@binding-set gtk-mac-file-chooser +{ + bind "v" { "location-popup-on-paste" () }; + unbind "v"; + + bind "G" { "location-popup" () }; + bind "H" { "home-folder" () }; + bind "Up" { "up-folder" () }; +}; + +@binding-set gtk-mac-tree-view +{ + bind "a" { "select-all" () }; + bind "a" { "unselect-all" () }; + bind "f" { "start-interactive-search" () }; + bind "F" { "start-interactive-search" () } + unbind "a"; + unbind "a"; + unbind "f"; + unbind "F"; +}; + +@binding-set gtk-mac-icon-view +{ + bind "a" { "select-all" () }; + bind "a" { "unselect-all" () }; + unbind "a"; + unbind "a"; +}; + +@binding-set gtk-mac-alt-arrows +{ + bind "Right" { "move-cursor" (words, 1, 0) }; + bind "KP_Right" { "move-cursor" (words, 1, 0) }; + bind "Left" { "move-cursor" (words, -1, 0) }; + bind "KP_Left" { "move-cursor" (words, -1, 0) }; + bind "Right" { "move-cursor" (words, 1, 1) }; + bind "KP_Right" { "move-cursor" (words, 1, 1) }; + bind "Left" { "move-cursor" (words, -1, 1) }; + bind "KP_Left" { "move-cursor" (words, -1, 1) }; +}; + +@binding-set gtk-mac-alt-delete +{ + bind "Delete" { "delete-from-cursor" (word-ends, 1) }; + bind "KP_Delete" { "delete-from-cursor" (word-ends, 1) }; + bind "BackSpace" { "delete-from-cursor" (word-ends, -1) }; +}; + +@binding-set gtk-mac-cmd-c +{ + bind "x" { "cut-clipboard" () }; + bind "c" { "copy-clipboard" () }; + bind "v" { "paste-clipboard" () }; + unbind "x"; + unbind "c"; + unbind "v"; +}; + +@binding-set gtk-mac-text-view +{ + bind "a" { "select-all" (0) }; + bind "a" { "select-all" (1) }; + unbind "a"; + unbind "a"; +}; + +@binding-set gtk-mac-label +{ + bind "a" { + "move-cursor" (paragraph-ends, -1, 0) + "move-cursor" (paragraph-ends, 1, 1) + }; + bind "a" { "move-cursor" (paragraph-ends, 0, 0) }; + bind "c" { "copy-clipboard" () }; + unbind "a"; + unbind "a"; + unbind "c"; +}; + +@binding-set gtk-mac-entry +{ + bind "a" { + "move-cursor" (buffer-ends, -1, 0) + "move-cursor" (buffer-ends, 1, 1) + }; + bind "a" { "move-cursor" (visual-positions, 0, 0) }; + unbind "a"; + unbind "a"; +}; + +@binding-set gtk-mac-file-chooser +{ + bind "v" { "location-popup-on-paste" () }; + unbind "v"; + + bind "G" { "location-popup" () }; + bind "H" { "home-folder" () }; + bind "Up" { "up-folder" () }; +}; + +@binding-set gtk-mac-tree-view +{ + bind "a" { "select-all" () }; + bind "a" { "unselect-all" () }; + bind "f" { "start-interactive-search" () }; + bind "F" { "start-interactive-search" () }; + unbind "a"; + unbind "a"; + unbind "f"; + unbind "F"; +}; + +@binding-set gtk-mac-icon-view +{ + bind "a" { "select-all" () }; + bind "a" { "unselect-all" () }; + unbind "a"; + unbind "a"; +}; + +GtkIconView { + gtk-key-bindings: gtk-mac-icon-view; +} + +GtkTextView { + gtk-key-bindings: gtk-mac-alt-arrows, gtk-mac-alt-delete, gtk-mac-cmd-c, gtk-mac-text-view; +} + +GtkEntry { + gtk-key-bindings: gtk-mac-alt-arrows, gtk-mac-alt-delete, gtk-mac-cmd-c, gtk-mac-entry; +} + +GtkLabel { + gtk-key-bindings: gtk-mac-alt-arrows, gtk-mac-label; +} + +GtkFileChooserDefault { + gtk-key-bindings: gtk-mac-file-chooser; +} + +GtkTreeView { + gtk-key-bindings: gtk-mac-tree-view; +} -- 2.43.2