diff options
80 files changed, 968 insertions, 165 deletions
@@ -4,5 +4,6 @@ build/* gnome-pie *~ gnome-pie.sublime-workspace -.pc -.gitignore
\ No newline at end of file +resources/locale/.zanata-cache +resources/locale/*/*/gnomepie.mo +resources/locale/gnomepie.pot diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f69ad3..b2696ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,6 @@ find_package(PkgConfig) pkg_check_modules(GTK3 REQUIRED gtk+-3.0) pkg_check_modules(INDICATOR3 appindicator3-0.1) pkg_check_modules(WNCK REQUIRED libwnck-3.0) -pkg_check_modules(BAMF REQUIRED libbamf3) pkg_check_modules(GIO REQUIRED gio-unix-2.0) pkg_check_modules(CAIRO REQUIRED cairo) pkg_check_modules(GEE REQUIRED gee-0.8) @@ -36,6 +35,7 @@ pkg_check_modules(X11 REQUIRED x11) pkg_check_modules(XML REQUIRED libxml-2.0) pkg_check_modules(XTST REQUIRED xtst) pkg_check_modules(GMENU3 libgnome-menu-3.0) +pkg_check_modules(BAMF libbamf3) find_library(M_LIB m) find_library(GTHREAD_LIB gthread-2.0) @@ -47,13 +47,18 @@ set(CFLAGS ${CAIRO_CFLAGS} ${CAIRO_CFLAGS_OTHER} ${GEE_CFLAGS} ${CAIRO_CFLAGS_OTHER} ${X11_CFLAGS} ${X11_CFLAGS_OTHER} - -DGMENU_I_KNOW_THIS_IS_UNSTABLE - -DWNCK_I_KNOW_THIS_IS_UNSTABLE + -DGMENU_I_KNOW_THIS_IS_UNSTABLE + -DWNCK_I_KNOW_THIS_IS_UNSTABLE -DGETTEXT_PACKAGE="gnomepie" - -s -O3 -w -# -g + -s -O3 -w +# -g ) +# use bamf if available for better icon handling +if (${BAMF_FOUND}) + LIST(APPEND CFLAGS -DHAVE_BAMF) +endif (${BAMF_FOUND}) + # fallback to gnome-menus2 if gnome-menus3 wasn't found if (${GMENU3_FOUND}) LIST(APPEND CFLAGS -DHAVE_GMENU_3) @@ -135,7 +140,6 @@ set(VALA_PKGS gtk+-3.0 gdk-x11-3.0 libwnck-3.0 - libbamf3 cairo gee-0.8 x11 @@ -146,6 +150,10 @@ set(VALA_PKGS libarchive ) +if (${BAMF_FOUND}) + LIST(APPEND VALA_PKGS libbamf3) +endif (${BAMF_FOUND}) + if (${INDICATOR_FOUND}) LIST(APPEND VALA_PKGS appindicator-0.1) endif (${INDICATOR_FOUND}) @@ -34,7 +34,7 @@ If you can’t afford the time to do the stuff mentioned above, but still want t ## License -Copyright (C) 2011-2015 Simon Schneegans <code@simonschneegans.de> +Copyright (C) 2011-2016 Simon Schneegans <code@simonschneegans.de> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/debian/control b/debian/control index 856aceb..b031799 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: cmake, libappindicator3-dev, libarchive-dev, - libbamf3-dev, +# libbamf3-dev, libcairo2-dev, libgee-0.8-dev (>= 0.10), libgnome-menu-3-dev, diff --git a/resources/locale/bg/LC_MESSAGES/bg.po b/resources/locale/bg/LC_MESSAGES/bg.po index 8042343..1d46538 100644 --- a/resources/locale/bg/LC_MESSAGES/bg.po +++ b/resources/locale/bg/LC_MESSAGES/bg.po @@ -16,7 +16,7 @@ msgstr "" "Language-Team: Bulgarian\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/de/LC_MESSAGES/de.po b/resources/locale/de/LC_MESSAGES/de.po index 2a51270..c62a4c1 100644 --- a/resources/locale/de/LC_MESSAGES/de.po +++ b/resources/locale/de/LC_MESSAGES/de.po @@ -16,7 +16,7 @@ msgstr "" "Language-Team: German\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/es/LC_MESSAGES/es.po b/resources/locale/es/LC_MESSAGES/es.po index 2e55fbe..78655af 100644 --- a/resources/locale/es/LC_MESSAGES/es.po +++ b/resources/locale/es/LC_MESSAGES/es.po @@ -13,12 +13,12 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2015-09-30 01:36-0400\n" -"Last-Translator: Simon <code@simonschneegans.de>\n" +"PO-Revision-Date: 2015-10-02 09:01-0400\n" +"Last-Translator: Gabriel Dubatti <gdubatti@gmail.com>\n" "Language-Team: Spanish\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" @@ -218,7 +218,7 @@ msgstr "Importar un tema desde un archivo." #: ../ui/preferences.ui:323 msgid "Delete the selected theme." -msgstr "" +msgstr "Borrar el tema elegido." #: ../ui/preferences.ui:344 msgid "Export the selected theme for sharing." @@ -441,7 +441,7 @@ msgstr "" #: ../../src/gui/preferencesWindow.vala:451 msgid "Do you really want to delete the selected theme from %s?" -msgstr "" +msgstr "¿Realmente desea borrar el tema %s?" #: ../../src/gui/preferencesWindow.vala:528 msgid "New Pie" @@ -544,7 +544,7 @@ msgstr "Temas" #: ../../src/gui/themeList.vala:108 msgid "by" -msgstr "" +msgstr "por" #: ../../src/gui/indicator.vala:126 msgid "_Preferences" diff --git a/resources/locale/fr/LC_MESSAGES/fr.po b/resources/locale/fr/LC_MESSAGES/fr.po index 11bd79e..49cb690 100644 --- a/resources/locale/fr/LC_MESSAGES/fr.po +++ b/resources/locale/fr/LC_MESSAGES/fr.po @@ -19,7 +19,7 @@ msgstr "" "Language-Team: French\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/it/LC_MESSAGES/it.po b/resources/locale/it/LC_MESSAGES/it.po index 24963ec..1f2d15e 100644 --- a/resources/locale/it/LC_MESSAGES/it.po +++ b/resources/locale/it/LC_MESSAGES/it.po @@ -17,7 +17,7 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Italian\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/ko/LC_MESSAGES/ko.po b/resources/locale/ko/LC_MESSAGES/ko.po index 5e04f1d..1faa206 100644 --- a/resources/locale/ko/LC_MESSAGES/ko.po +++ b/resources/locale/ko/LC_MESSAGES/ko.po @@ -16,7 +16,7 @@ msgstr "" "Language-Team: Korean\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/lt/LC_MESSAGES/lt.po b/resources/locale/lt/LC_MESSAGES/lt.po index ad1cf73..3b093e0 100644 --- a/resources/locale/lt/LC_MESSAGES/lt.po +++ b/resources/locale/lt/LC_MESSAGES/lt.po @@ -12,13 +12,13 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2015-09-30 01:36-0400\n" -"Last-Translator: Simon <code@simonschneegans.de>\n" +"PO-Revision-Date: 2015-10-04 04:50-0400\n" +"Last-Translator: Moo <hazap@hotmail.com>\n" "Language-Team: Lithuanian\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" @@ -223,7 +223,7 @@ msgstr "Importuoti temą iš failo." #: ../ui/preferences.ui:323 msgid "Delete the selected theme." -msgstr "" +msgstr "Ištrinti pasirinktą temą." #: ../ui/preferences.ui:344 msgid "Export the selected theme for sharing." @@ -444,7 +444,7 @@ msgstr "Importuojant temą, įvyko klaida: Nepavyko atverti temos archyvo!" #: ../../src/gui/preferencesWindow.vala:451 msgid "Do you really want to delete the selected theme from %s?" -msgstr "" +msgstr "Ar tikrai norite pašalinti pasirinktą temą iš %s?" #: ../../src/gui/preferencesWindow.vala:528 msgid "New Pie" @@ -546,7 +546,7 @@ msgstr "Temos" #: ../../src/gui/themeList.vala:108 msgid "by" -msgstr "" +msgstr "pagal" #: ../../src/gui/indicator.vala:126 msgid "_Preferences" diff --git a/resources/locale/pl/LC_MESSAGES/pl.po b/resources/locale/pl/LC_MESSAGES/pl.po new file mode 100644 index 0000000..0b5bfd8 --- /dev/null +++ b/resources/locale/pl/LC_MESSAGES/pl.po @@ -0,0 +1,722 @@ +# Grzegorz <pasieka.grzegorz@gmail.com>, 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: gnomepie 0.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-30 18:32+0100\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2015-10-15 03:09-0400\n" +"Last-Translator: Grzegorz <pasieka.grzegorz@gmail.com>\n" +"Language-Team: Polish\n" +"Language: pl\n" +"X-Generator: Zanata 3.7.3\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2)\n" + +#: ../ui/pie_options.ui:53 +msgid "Activation Settings" +msgstr "Ustawienia aktywacji" + +#: ../ui/pie_options.ui:153 +msgid "Unamed Pie" +msgstr "Nowy Pie" + +#: ../ui/pie_options.ui:216 +msgid "ID:" +msgstr "ID:" + +#: ../ui/pie_options.ui:234 +msgid "It's possible to bind mouse buttons as well!" +msgstr "Istnieje możliwość przypisania przycisków myszy!" + +#: ../ui/pie_options.ui:274 +msgid "Turbo mode" +msgstr "Tryb turbo" + +#: ../ui/pie_options.ui:280 ../ui/pie_options.ui:281 +msgid "If checked, the Pie will close when you release the chosen hot key." +msgstr "" +"Jeśli zaznaczone, Pie zostanie zamknięty, kiedy zwolnisz wybrany klawisz" + +#: ../ui/pie_options.ui:293 +msgid "Long press for activation" +msgstr "Długie przyciśnięcie dla aktywacji" + +#: ../ui/pie_options.ui:299 ../ui/pie_options.ui:300 +msgid "" +"If checked, the Pie will only open if you press this hot key a bit longer." +msgstr "" +"Jeśli zaznaczone, Pie zostanie otwarty tylko wtedy, kiedy wciśniesz wybrany " +"klawisz trochę dłużej." + +#: ../ui/pie_options.ui:312 +msgid "Open Pie centered on the screen" +msgstr "Otwórz Pie wyśrodkowany na ekranie" + +#: ../ui/pie_options.ui:318 ../ui/pie_options.ui:319 +msgid "" +"If checked, the Pie will open in the middle of your screen. Else it will pop " +"up at your pointer." +msgstr "" +"Jeśli zaznaczone, Pie zostanie otwarty na środku Twojego ekranu. W " +"przeciwnym wypadku pojawi się przy wskaźniku myszy." + +#: ../ui/pie_options.ui:331 +msgid "Warp mouse pointer to center of Pie" +msgstr "" + +#: ../ui/pie_options.ui:337 ../ui/pie_options.ui:338 +msgid "" +"If checked, the mouse pointer will be warped to the center of the Pie. This " +"allows for quick selections even if the Pie is opened at the screen's " +"boundary." +msgstr "" + +#: ../ui/pie_options.ui:356 +msgid "Activation options" +msgstr "Opcje aktywacji" + +#: ../ui/pie_options.ui:547 +msgid "Automatically select the best pie shape" +msgstr "Automatycznie wybierz najlepszy kształt Pie" + +#: ../ui/pie_options.ui:551 +msgid "" +"If checked, the shape will be automatically selected to minimize mouse " +"travelling." +msgstr "" + +#: ../ui/pie_options.ui:571 +msgid "Pie shape" +msgstr "Kształt Pie" + +#: ../ui/slice_select.ui:8 +msgid "Slice Options" +msgstr "Opcje plastra" + +#: ../ui/slice_select.ui:140 +msgid "There are no options for this Slice type." +msgstr "Brak opcji dla plastra tego typu" + +#: ../ui/slice_select.ui:166 +msgid "Name of the Slice " +msgstr "Nazwa plastra" + +#: ../ui/slice_select.ui:204 +msgid "URI to open" +msgstr "URL do otwarcia" + +#: ../ui/slice_select.ui:242 +msgid "Command to execute" +msgstr "Polecenie do uruchomienia" + +#: ../ui/slice_select.ui:280 +msgid "Hotkey to press" +msgstr "Klawisz skrótu do naciśnięcia" + +#: ../ui/slice_select.ui:309 +msgid "Pie to open" +msgstr "Pie do otwarcia" + +#: ../ui/slice_select.ui:338 +msgid "Is Quick Action" +msgstr "" + +#: ../ui/slice_select.ui:353 ../ui/slice_select.ui:354 +msgid "This Slice will be executed when you click in the middle of the Pie." +msgstr "Plaster będzie uruchomiony, kiedy klikniesz w środek Pie" + +#: ../ui/slice_select.ui:386 +msgid "Slice options" +msgstr "Opcje plastra" + +#: ../ui/icon_select.ui:9 +msgid "Select an icon" +msgstr "Wybierz ikonę" + +#: ../ui/icon_select.ui:103 +msgid "Icon Theme" +msgstr "Motyw ikony" + +#: ../ui/icon_select.ui:123 +msgid "Custom Icon" +msgstr "Własna ikona" + +#: ../ui/preferences.ui:7 ../../src/gui/preferencesWindow.vala:78 +msgid "Gnome-Pie Settings" +msgstr "Ustawienia Gnome-Pie" + +#: ../ui/preferences.ui:41 +msgid "Start Gnome-Pie on login" +msgstr "Uruchom Gnome-Pie przy starcie systemu" + +#: ../ui/preferences.ui:47 ../ui/preferences.ui:48 +msgid "If checked, Gnome-Pie will start silently everytime you log in." +msgstr "" +"Jeśli zaznaczono, Gnome-Pie zostanie uruchomiony za każdym razem, kiedy się " +"zalogujesz." + +#: ../ui/preferences.ui:60 +msgid "Display panel icon " +msgstr "Wyświetl ikonę panelu" + +#: ../ui/preferences.ui:66 ../ui/preferences.ui:67 +msgid "" +"If not checked, you can access this menu by launching Gnome-Pie a second " +"time." +msgstr "" +"Jeśli nie zaznaczono, możesz dostać się do menu uruchamiając Gnome-Pie poraz " +"drugi." + +#: ../ui/preferences.ui:79 +msgid "Select Slices by typing their names" +msgstr "Wybierz plastry wpisując ich nazwy." + +#: ../ui/preferences.ui:85 ../ui/preferences.ui:86 +msgid "" +"If checked, you can select items in a Pie by typing their names. Otherwise " +"you can activate them with a hotkey (which can be displayed by pressing ALT " +"when a Pie is openened)." +msgstr "" + +#: ../ui/preferences.ui:98 +msgid "Display Slice labels" +msgstr "Wyświetl etykiety plastrów" + +#: ../ui/preferences.ui:104 ../ui/preferences.ui:105 +msgid "" +"Displays the name of each Slice next to it. Only available if supported by " +"the theme." +msgstr "" +"Wyświetl nazwę każdego plastra obok poprzedniego. Dostępne tylko wtedy, " +"kiedy pozwala na to motyw." + +#: ../ui/preferences.ui:139 +msgid "Activation radius" +msgstr "Promień aktywacji" + +#: ../ui/preferences.ui:179 +msgid "Global scale" +msgstr "Skala globalna" + +#: ../ui/preferences.ui:219 +msgid "Maximum slices per pie" +msgstr "Maksymalna liczba plastrów na Pie" + +#: ../ui/preferences.ui:302 +msgid "Import a theme from a file." +msgstr "Importuj motyw z pliku." + +#: ../ui/preferences.ui:323 +msgid "Delete the selected theme." +msgstr "Usuń zaznaczony motyw." + +#: ../ui/preferences.ui:344 +msgid "Export the selected theme for sharing." +msgstr "Eksportuj zaznaczony motyw dla udostępnienia." + +#: ../ui/preferences.ui:392 +msgid "Open a tutorial on how to create new themes for Gnome-Pie." +msgstr "Otwórz poradnik jak stworzyć nowy motyw dla Gnome-Pie." + +#: ../ui/preferences.ui:442 ../../src/gui/preferencesWindow.vala:109 +msgid "General Settings" +msgstr "Ustawienia ogólne" + +#: ../ui/preferences.ui:634 +msgid "" +"<b><big>This Pie is empty!</big>\n" +"\n" +"Start adding Slices to it!</b> This can be done by dragging stuff to the " +"plus sign below. You can try a lot! For example application launchers or " +"folders. Even URLs from your browser are possible...\n" +"\n" +"For manual and advanced configuration click on the plus sign." +msgstr "" +"<b><big>Ten Pie jest pusty!</big>\n" +"\n" +"Zacznij dodawać do niego plastry!</b> Można to zrobić przeciągając wybrane " +"elementy na znak plusa pod spodem. Możesz próbować! Na przykład otwieranie " +"aplikacji lub folderów. Możliwe są nawet adresy URL z Twojej przeglądarki...\n" +"\n" +"W celu uruchomienia ręcznej i zaawansowanej konfiguracji kliknij w znak " +"plusa." + +#: ../ui/preferences.ui:655 +msgid "" +"<b><big>You have no Pies!</big>\n" +"\n" +"Start by creating one! </b> This can be done by clicking on the tiny little " +"plus sign in the lower left corner." +msgstr "" +"<b><big>Nie masz żadnych Pie!</big>\n" +"\n" +"Rozpocznij od utworzenia pierwszego Pie!</b> Można to zrobić klikając w mały " +"plusik w dolnym lewym rogu." + +#: ../ui/preferences.ui:741 ../../src/gui/preferencesWindow.vala:110 +msgid "Pie Settings" +msgstr "Ustawienia Pie" + +#: ../../src/actions/keyAction.vala:34 +msgid "Press hotkey" +msgstr "Wciśnij klawisz skrótu" + +#: ../../src/actions/keyAction.vala:36 +msgid "Simulates the activation of a hotkey." +msgstr "Symuluje aktywacje skrótu." + +#: ../../src/actions/uriAction.vala:34 +msgid "Open URI" +msgstr "Otwórz URI" + +#: ../../src/actions/uriAction.vala:36 +msgid "Opens a given location. You may use URL's or files paths." +msgstr "" +"Otwiera wskazaną lokalizację. Możesz użyć adresów URL lub ścieżek do plików." + +#: ../../src/actions/actionRegistry.vala:119 +msgid "Trash" +msgstr "Kosz" + +#: ../../src/actions/appAction.vala:34 +msgid "Launch application" +msgstr "Uruchom aplikację" + +#: ../../src/actions/appAction.vala:36 +msgid "Executes the given command." +msgstr "Uruchamia wskazaną komendę." + +#: ../../src/actions/pieAction.vala:34 +msgid "Open Pie" +msgstr "Otwórz Pie" + +#: ../../src/actions/pieAction.vala:36 +msgid "Opens another Pie of Gnome-Pie. You may create sub menus this way." +msgstr "Otwiera kolejny Pie. Możesz w ten sposób tworzyć sub menu." + +#: ../../src/gui/preferencesWindow.vala:79 +msgid "bake your pies!" +msgstr "upiecz swoje Pie!" + +#: ../../src/gui/preferencesWindow.vala:235 +msgid "Pies can be opened with the terminal command \"gnome-pie --open=ID\"." +msgstr "" +"Pie mogą być otwierane przy pomocy komendy terminala \"gnome-pie --open=ID\"." +"" + +#: ../../src/gui/preferencesWindow.vala:236 +msgid "Feel free to visit Gnome-Pie's homepage at %s!" +msgstr "Nie krępuj się i odwiedź stronę internetową Gnome-Pie na %s!" + +#: ../../src/gui/preferencesWindow.vala:237 +msgid "If you want to give some feedback, please write an e-mail to %s!" +msgstr "Jeśli chcesz nam udzielić pomocy, prosimy o napisanie e-maila do %s!" + +#: ../../src/gui/preferencesWindow.vala:238 +msgid "You can support the development of Gnome-Pie by donating via %s." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:239 +msgid "" +"Translating Gnome-Pie to your language is easy. Translations are managed at " +"%s." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:240 +msgid "" +"It's easy to create new themes for Gnome-Pie. Read the <a href=" +"'%s'>Tutorial</a> online." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:241 +msgid "It's usually a good practice to have at most twelve slices per pie." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:242 +msgid "You can export themes you created and share them with the community!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:243 +msgid "The source code of Gnome-Pie is available on %s." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:244 +msgid "Bugs can be reported at %s!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:245 +msgid "Suggestions can be posted on %s!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:246 +msgid "" +"An awesome companion of Gnome-Pie is %s. It will make using your computer " +"feel like magic!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:247 +msgid "You can drag'n'drop applications from your main menu to the pie above." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:248 +msgid "" +"You may drag'n'drop URLs and bookmarks from your internet browser to the pie " +"above." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:249 +msgid "" +"You can drag'n'drop files and folders from your file browser to the pie " +"above." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:250 +msgid "" +"You can drag'n'drop pies from the list on the left into other pies in order " +"to create sub-pies." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:251 +msgid "" +"You can drag'n'drop pies from the list on the left to your desktop or dock " +"to create a launcher for this pie." +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:401 +msgid "Sucessfully imported new theme!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:415 +msgid "An error occured while importing the theme: Failed to extract theme!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:419 +msgid "" +"An error occured while importing the theme: A theme with this name does " +"already exist!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:423 +msgid "" +"An error occured while importing the theme: Theme archive does not contain a " +"valid theme!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:427 +msgid "" +"An error occured while importing the theme: Failed to open theme archive!" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:451 +msgid "Do you really want to delete the selected theme from %s?" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:528 +msgid "New Pie" +msgstr "" + +#: ../../src/gui/preferencesWindow.vala:543 +msgid "" +"Do you really want to delete the selected Pie with all contained Slices?" +msgstr "" + +#: ../../src/gui/piePreview.vala:148 +msgid "Do you really want to delete this Slice?" +msgstr "" + +#: ../../src/gui/sliceTypeList.vala:60 +msgid "Slice types" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:419 +msgid "Click to edit" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:419 +#: ../../src/gui/piePreviewRenderer.vala:434 +msgid "Drag to move" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:422 +msgid "Click to add a new Slice" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:426 +msgid "Drop to add as new Slice" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:429 +msgid "Drop to move Slice" +msgstr "" + +#: ../../src/gui/piePreviewRenderer.vala:434 +msgid "Click to delete" +msgstr "" + +#: ../../src/gui/pieList.vala:77 +msgid "Pies" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:182 +msgid "All icons" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:183 +#: ../../src/pies/defaultConfig.vala:36 +msgid "Applications" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:184 +msgid "Actions" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:185 +msgid "Places" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:186 +msgid "File types" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:187 +msgid "Emotes" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:188 +msgid "Miscellaneous" +msgstr "" + +#: ../../src/gui/iconSelectWindow.vala:261 +msgid "All supported image formats" +msgstr "" + +#: ../../src/gui/newSliceWindow.vala:292 +msgid "Rename me!" +msgstr "" + +#: ../../src/gui/pieOptionsWindow.vala:274 +msgid "" +"This hotkey is already assigned to the pie \"%s\"! \n" +"\n" +"Please select another one or cancel your selection." +msgstr "" + +#: ../../src/gui/themeList.vala:59 +msgid "Themes" +msgstr "" + +#: ../../src/gui/themeList.vala:108 +msgid "by" +msgstr "" + +#: ../../src/gui/indicator.vala:126 +msgid "_Preferences" +msgstr "" + +#: ../../src/gui/indicator.vala:135 +msgid "_About" +msgstr "" + +#: ../../src/gui/indicator.vala:150 +msgid "_Quit" +msgstr "" + +#: ../../src/gui/newsWindow.vala:64 +msgid "_Close" +msgstr "" + +#: ../../src/gui/triggerSelectButton.vala:64 +msgid "Press a hotkey ..." +msgstr "" + +#: ../../src/utilities/key.vala:65 ../../src/utilities/bindingManager.vala:186 +#: ../../src/utilities/trigger.vala:195 ../../src/utilities/trigger.vala:280 +#: ../../src/utilities/trigger.vala:281 +msgid "Not bound" +msgstr "" + +#: ../../src/utilities/trigger.vala:182 +msgid "Button %i" +msgstr "" + +#: ../../src/utilities/trigger.vala:185 +msgid "LeftButton" +msgstr "" + +#: ../../src/utilities/trigger.vala:187 +msgid "RightButton" +msgstr "" + +#: ../../src/utilities/trigger.vala:189 +msgid "MiddleButton" +msgstr "" + +#: ../../src/utilities/trigger.vala:216 +msgid "Turbo" +msgstr "" + +#: ../../src/utilities/trigger.vala:220 ../../src/utilities/trigger.vala:222 +msgid "Delayed" +msgstr "" + +#: ../../src/utilities/trigger.vala:226 ../../src/utilities/trigger.vala:228 +msgid "Centered" +msgstr "" + +#: ../../src/utilities/trigger.vala:232 ../../src/utilities/trigger.vala:234 +msgid "Warp" +msgstr "" + +#: ../../src/utilities/trigger.vala:238 ../../src/utilities/trigger.vala:240 +msgid "Auto-shaped" +msgstr "" + +#: ../../src/utilities/trigger.vala:243 ../../src/utilities/trigger.vala:245 +msgid "Quarter pie" +msgstr "" + +#: ../../src/utilities/trigger.vala:249 ../../src/utilities/trigger.vala:251 +msgid "Half pie" +msgstr "" + +#: ../../src/themes/theme.vala:169 +msgid "Successfully exported the theme \"%s\"!" +msgstr "" + +#: ../../src/themes/theme.vala:176 +msgid "" +"An error occured while exporting the theme \"%s\"! Please check the console " +"output." +msgstr "" + +#: ../../src/actionGroups/windowListGroup.vala:34 +msgid "Group: Window List" +msgstr "" + +#: ../../src/actionGroups/windowListGroup.vala:36 +msgid "Shows a Slice for each of your opened Windows. Almost like Alt-Tab." +msgstr "" + +#: ../../src/actionGroups/clipboardGroup.vala:64 +msgid "Group: Clipboard" +msgstr "" + +#: ../../src/actionGroups/clipboardGroup.vala:66 +msgid "Manages your Clipboard." +msgstr "" + +#: ../../src/actionGroups/devicesGroup.vala:35 +msgid "Group: Devices" +msgstr "" + +#: ../../src/actionGroups/devicesGroup.vala:37 +msgid "Shows a Slice for each plugged in devices, like USB-Sticks." +msgstr "" + +#: ../../src/actionGroups/devicesGroup.vala:85 +msgid "Root" +msgstr "" + +#: ../../src/actionGroups/menuGroup.vala:35 +msgid "Group: Main menu" +msgstr "" + +#: ../../src/actionGroups/menuGroup.vala:37 +msgid "Displays your main menu structure." +msgstr "" + +#: ../../src/actionGroups/workspaceWindowListGroup.vala:35 +msgid "Group: Window List for current workspace" +msgstr "" + +#: ../../src/actionGroups/workspaceWindowListGroup.vala:37 +msgid "" +"Shows a Slice for each of your opened windows on the current workspace." +msgstr "" + +#: ../../src/actionGroups/sessionGroup.vala:35 +msgid "Group: Session Control" +msgstr "" + +#: ../../src/actionGroups/sessionGroup.vala:37 +msgid "Shows a Slice for Shutdown, Reboot, and Hibernate." +msgstr "" + +#: ../../src/actionGroups/sessionGroup.vala:60 +msgid "Shutdown" +msgstr "" + +#: ../../src/actionGroups/sessionGroup.vala:63 +msgid "Logout" +msgstr "" + +#: ../../src/actionGroups/sessionGroup.vala:66 +msgid "Reboot" +msgstr "" + +#: ../../src/actionGroups/bookmarkGroup.vala:36 +msgid "Group: Bookmarks" +msgstr "" + +#: ../../src/actionGroups/bookmarkGroup.vala:38 +msgid "Shows a Slice for each of your directory Bookmarks." +msgstr "" + +#: ../../src/pies/defaultConfig.vala:29 +msgid "Multimedia" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:30 +msgid "Next Track" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:31 +msgid "Stop" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:32 +msgid "Previous Track" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:33 +msgid "Play/Pause" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:45 +msgid "Bookmarks" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:50 +msgid "Session" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:54 +msgid "Main Menu" +msgstr "" + +#: ../../src/pies/defaultConfig.vala:58 +msgid "Window" +msgstr "Okno" + +#: ../../src/pies/defaultConfig.vala:59 +msgid "Scale" +msgstr "Skala" + +#: ../../src/pies/defaultConfig.vala:60 +msgid "Minimize" +msgstr "Minimalizuj" + +#: ../../src/pies/defaultConfig.vala:61 +msgid "Close" +msgstr "Zamknij" + +#: ../../src/pies/defaultConfig.vala:62 +msgid "Maximize" +msgstr "Maksymalizuj" + +#: ../../src/pies/defaultConfig.vala:63 +msgid "Restore" +msgstr "Przywróć" diff --git a/resources/locale/pt_BR/LC_MESSAGES/pt_BR.po b/resources/locale/pt_BR/LC_MESSAGES/pt_BR.po index 33d8a3e..1b2dc2a 100644 --- a/resources/locale/pt_BR/LC_MESSAGES/pt_BR.po +++ b/resources/locale/pt_BR/LC_MESSAGES/pt_BR.po @@ -16,7 +16,7 @@ msgstr "" "Language-Team: Brazilian Portuguese\n" "Language: pt-BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/ru/LC_MESSAGES/ru.po b/resources/locale/ru/LC_MESSAGES/ru.po index 78b9fd0..b023a05 100644 --- a/resources/locale/ru/LC_MESSAGES/ru.po +++ b/resources/locale/ru/LC_MESSAGES/ru.po @@ -18,7 +18,7 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" #: ../ui/pie_options.ui:53 msgid "Activation Settings" diff --git a/resources/locale/zh_CN/LC_MESSAGES/zh_CN.po b/resources/locale/zh_CN/LC_MESSAGES/zh_CN.po index d6d7c27..a8aa575 100644 --- a/resources/locale/zh_CN/LC_MESSAGES/zh_CN.po +++ b/resources/locale/zh_CN/LC_MESSAGES/zh_CN.po @@ -15,7 +15,7 @@ msgstr "" "Last-Translator: Administrator <tzhou@haverford.edu>\n" "Language-Team: Chinese (simplified)\n" "Language: zh-CN\n" -"X-Generator: Zanata 3.7.2\n" +"X-Generator: Zanata 3.7.3\n" "Plural-Forms: nplurals=1; plural=0\n" #: ../ui/pie_options.ui:53 diff --git a/resources/themes/simple_clock/theme.xml b/resources/themes/simple_clock/theme.xml index e271b4b..04ec7ba 100644 --- a/resources/themes/simple_clock/theme.xml +++ b/resources/themes/simple_clock/theme.xml @@ -6,15 +6,15 @@ <center radius="80" activeRadius="55"> <center_layer file="ring.svg" /> <center_layer file="hour.svg" - active_alpha="0" + active_alpha="0.2" active_rotationMode="turn_to_hour_12" active_rotationSpeed="10" inactive_rotationMode="turn_to_hour_12" inactive_rotationSpeed="10" /> <center_layer file="minute.svg" - active_alpha="0" + active_alpha="0.2" active_rotationMode="turn_to_minute" active_rotationSpeed="10" inactive_rotationMode="turn_to_minute" inactive_rotationSpeed="10" /> <center_layer file="second.svg" - active_alpha="0" + active_alpha="0.2" active_rotationMode="turn_to_second" active_rotationSpeed="10" inactive_rotationMode="turn_to_second" inactive_rotationSpeed="10" /> <center_layer file="gloss.svg" /> diff --git a/src/actionGroups/actionGroup.vala b/src/actionGroups/actionGroup.vala index 85488ad..3bc7086 100644 --- a/src/actionGroups/actionGroup.vala +++ b/src/actionGroups/actionGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/bookmarkGroup.vala b/src/actionGroups/bookmarkGroup.vala index 791d609..3a36be6 100644 --- a/src/actionGroups/bookmarkGroup.vala +++ b/src/actionGroups/bookmarkGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/clipboardGroup.vala b/src/actionGroups/clipboardGroup.vala index 58409de..51c3d1a 100644 --- a/src/actionGroups/clipboardGroup.vala +++ b/src/actionGroups/clipboardGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/devicesGroup.vala b/src/actionGroups/devicesGroup.vala index e18f4c0..1ea8607 100644 --- a/src/actionGroups/devicesGroup.vala +++ b/src/actionGroups/devicesGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/groupRegistry.vala b/src/actionGroups/groupRegistry.vala index c97cf95..89cde6a 100644 --- a/src/actionGroups/groupRegistry.vala +++ b/src/actionGroups/groupRegistry.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/menuGroup.vala b/src/actionGroups/menuGroup.vala index ccb5407..353128f 100644 --- a/src/actionGroups/menuGroup.vala +++ b/src/actionGroups/menuGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/sessionGroup.vala b/src/actionGroups/sessionGroup.vala index 42afafc..5d47674 100644 --- a/src/actionGroups/sessionGroup.vala +++ b/src/actionGroups/sessionGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actionGroups/windowListGroup.vala b/src/actionGroups/windowListGroup.vala index 69029a7..363b8b8 100644 --- a/src/actionGroups/windowListGroup.vala +++ b/src/actionGroups/windowListGroup.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -103,8 +103,6 @@ public class WindowListGroup : ActionGroup { private void update() { unowned GLib.List<Wnck.Window?> windows = this.screen.get_windows(); - var matcher = Bamf.Matcher.get_default(); - foreach (var window in windows) { if (window.get_window_type() == Wnck.WindowType.NORMAL && !window.is_skip_pager() && !window.is_skip_tasklist() @@ -112,18 +110,22 @@ public class WindowListGroup : ActionGroup { && window.get_workspace() == this.screen.get_active_workspace()))) { var application = window.get_application(); - var bamf_app = matcher.get_application_for_xid((uint32)window.get_xid()); + var icon = application.get_icon_name().down(); + + #if HAVE_BAMF + var matcher = Bamf.Matcher.get_default(); + var bamf_app = matcher.get_application_for_xid((uint32)window.get_xid()); + icon = bamf_app.get_icon(); + #endif string name = window.get_name(); - if (name.length > 30) + if (name.length > 30) { name = name.substring(0, 30) + "..."; + } + + var action = new SigAction(name, icon, "%lu".printf(window.get_xid())); - var action = new SigAction( - name, - (bamf_app == null) ? application.get_icon_name().down() : bamf_app.get_icon(), - "%lu".printf(window.get_xid()) - ); action.activated.connect((time_stamp) => { Wnck.Screen.get_default().force_update(); diff --git a/src/actions/action.vala b/src/actions/action.vala index 1e6437e..555dc3c 100644 --- a/src/actions/action.vala +++ b/src/actions/action.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/actionRegistry.vala b/src/actions/actionRegistry.vala index 9a22cc7..579fc93 100644 --- a/src/actions/actionRegistry.vala +++ b/src/actions/actionRegistry.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/appAction.vala b/src/actions/appAction.vala index e1ca3a2..cc98c1e 100644 --- a/src/actions/appAction.vala +++ b/src/actions/appAction.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/keyAction.vala b/src/actions/keyAction.vala index cbe8b6e..41dab61 100644 --- a/src/actions/keyAction.vala +++ b/src/actions/keyAction.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/pieAction.vala b/src/actions/pieAction.vala index 931c9d3..806d63b 100644 --- a/src/actions/pieAction.vala +++ b/src/actions/pieAction.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/sigAction.vala b/src/actions/sigAction.vala index bf9374d..fdde40a 100644 --- a/src/actions/sigAction.vala +++ b/src/actions/sigAction.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/actions/uriAction.vala b/src/actions/uriAction.vala index d0a41b8..2dde62d 100644 --- a/src/actions/uriAction.vala +++ b/src/actions/uriAction.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/daemon.vala b/src/daemon.vala index c5912b3..640ba0d 100644 --- a/src/daemon.vala +++ b/src/daemon.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ public class Daemon : GLib.Application { ///////////////////////////////////////////////////////////////////// public static int main(string[] args) { - version = "0.6.8"; + version = "0.6.9"; // disable overlay scrollbar --- hacky workaround for black / // transparent background diff --git a/src/gui/aboutWindow.vala b/src/gui/aboutWindow.vala index 73fb1be..cddca63 100644 --- a/src/gui/aboutWindow.vala +++ b/src/gui/aboutWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/iconSelectWindow.vala b/src/gui/iconSelectWindow.vala index ce610ea..d7e5062 100644 --- a/src/gui/iconSelectWindow.vala +++ b/src/gui/iconSelectWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/indicator.vala b/src/gui/indicator.vala index ddb85e6..55baaf1 100644 --- a/src/gui/indicator.vala +++ b/src/gui/indicator.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/newSliceWindow.vala b/src/gui/newSliceWindow.vala index 89294b5..d719213 100644 --- a/src/gui/newSliceWindow.vala +++ b/src/gui/newSliceWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/newsWindow.vala b/src/gui/newsWindow.vala index cc1a77d..2ab13c0 100644 --- a/src/gui/newsWindow.vala +++ b/src/gui/newsWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/pieComboList.vala b/src/gui/pieComboList.vala index f0fd22f..6a5c172 100644 --- a/src/gui/pieComboList.vala +++ b/src/gui/pieComboList.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/pieList.vala b/src/gui/pieList.vala index 77f833b..ed93098 100644 --- a/src/gui/pieList.vala +++ b/src/gui/pieList.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/pieOptionsWindow.vala b/src/gui/pieOptionsWindow.vala index 2f9cadf..5440305 100644 --- a/src/gui/pieOptionsWindow.vala +++ b/src/gui/pieOptionsWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreview.vala b/src/gui/piePreview.vala index ce1ba96..eadaa8e 100644 --- a/src/gui/piePreview.vala +++ b/src/gui/piePreview.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreviewAddSign.vala b/src/gui/piePreviewAddSign.vala index b3f6f7b..b5bbe53 100644 --- a/src/gui/piePreviewAddSign.vala +++ b/src/gui/piePreviewAddSign.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreviewCenter.vala b/src/gui/piePreviewCenter.vala index 2a163b6..2da47e6 100644 --- a/src/gui/piePreviewCenter.vala +++ b/src/gui/piePreviewCenter.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreviewDeleteSign.vala b/src/gui/piePreviewDeleteSign.vala index a830002..05afd5b 100644 --- a/src/gui/piePreviewDeleteSign.vala +++ b/src/gui/piePreviewDeleteSign.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreviewRenderer.vala b/src/gui/piePreviewRenderer.vala index 53dd2fb..dbd929a 100644 --- a/src/gui/piePreviewRenderer.vala +++ b/src/gui/piePreviewRenderer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/piePreviewSliceRenderer.vala b/src/gui/piePreviewSliceRenderer.vala index 5b4d939..35cb0a2 100644 --- a/src/gui/piePreviewSliceRenderer.vala +++ b/src/gui/piePreviewSliceRenderer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/preferencesWindow.vala b/src/gui/preferencesWindow.vala index fff8168..1fedfb2 100644 --- a/src/gui/preferencesWindow.vala +++ b/src/gui/preferencesWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -67,6 +67,7 @@ public class PreferencesWindow : GLib.Object { var builder = new Gtk.Builder.from_file(Paths.ui_files + "/preferences.ui"); this.window = builder.get_object("window") as Gtk.Window; + this.window.icon_name = "gnome-pie"; this.window.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.KEY_RELEASE_MASK | Gdk.EventMask.KEY_PRESS_MASK | diff --git a/src/gui/sliceTypeList.vala b/src/gui/sliceTypeList.vala index 1a9ecc4..2dcf16b 100644 --- a/src/gui/sliceTypeList.vala +++ b/src/gui/sliceTypeList.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/themeList.vala b/src/gui/themeList.vala index 786c305..8e7b190 100644 --- a/src/gui/themeList.vala +++ b/src/gui/themeList.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/tipViewer.vala b/src/gui/tipViewer.vala index e2158bd..e484315 100644 --- a/src/gui/tipViewer.vala +++ b/src/gui/tipViewer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/gui/triggerSelectButton.vala b/src/gui/triggerSelectButton.vala index eb34066..c870f84 100644 --- a/src/gui/triggerSelectButton.vala +++ b/src/gui/triggerSelectButton.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -53,7 +53,7 @@ public class TriggerSelectButton : Gtk.ToggleButton { |Gdk.ModifierType.LOCK_MASK; ///////////////////////////////////////////////////////////////////// - /// C'tor, constructs a new TriggerSelectWindow. + /// C'tor, constructs a new TriggerSelectButton. ///////////////////////////////////////////////////////////////////// public TriggerSelectButton(bool enable_mouse) { @@ -132,31 +132,31 @@ public class TriggerSelectButton : Gtk.ToggleButton { private bool on_button_press(Gdk.EventButton event) { if (this.active) { - Gtk.Allocation rect; - this.get_allocation(out rect); - if (event.x < 0 || event.x > rect.width - || event.y < 0 || event.y > rect.height) { - - this.cancel(); - return true; - } - } - - if (this.active && this.enable_mouse) { - Gdk.ModifierType state = event.state & ~ this.lock_modifiers; - var new_trigger = new Trigger.from_values((int)event.button, state, true, - false, false, false, false, 5); - - if (new_trigger.key_code != 1) this.update_trigger(new_trigger); - else this.cancel(); + Gtk.Allocation rect; + this.get_allocation(out rect); + if (event.x < 0 || event.x > rect.width + || event.y < 0 || event.y > rect.height) { - return true; - } else if (this.active) { this.cancel(); return true; } + } + + if (this.active && this.enable_mouse) { + Gdk.ModifierType state = event.state & ~ this.lock_modifiers; + var new_trigger = new Trigger.from_values((int)event.button, state, true, + false, false, false, false, 5); - return false; + if (new_trigger.key_code != 1) this.update_trigger(new_trigger); + else this.cancel(); + + return true; + } else if (this.active) { + this.cancel(); + return true; + } + + return false; } } diff --git a/src/images/icon.vala b/src/images/icon.vala index 9cfccf8..176e187 100644 --- a/src/images/icon.vala +++ b/src/images/icon.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/images/image.vala b/src/images/image.vala index a903493..840a8ad 100644 --- a/src/images/image.vala +++ b/src/images/image.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/images/renderedText.vala b/src/images/renderedText.vala index 2f4b82f..f00c8b5 100644 --- a/src/images/renderedText.vala +++ b/src/images/renderedText.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/images/themedIcon.vala b/src/images/themedIcon.vala index 9f4ca8a..9dd9609 100644 --- a/src/images/themedIcon.vala +++ b/src/images/themedIcon.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/pies/defaultConfig.vala b/src/pies/defaultConfig.vala index 8763a1d..4041111 100644 --- a/src/pies/defaultConfig.vala +++ b/src/pies/defaultConfig.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/pies/load.vala b/src/pies/load.vala index 0dfb423..20e18d8 100644 --- a/src/pies/load.vala +++ b/src/pies/load.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/pies/pie.vala b/src/pies/pie.vala index 1699ada..be17238 100644 --- a/src/pies/pie.vala +++ b/src/pies/pie.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/pies/pieManager.vala b/src/pies/pieManager.vala index d2cc837..d9bf5b7 100644 --- a/src/pies/pieManager.vala +++ b/src/pies/pieManager.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ public class PieManager : GLib.Object { /// Stores all global hotkeys. ///////////////////////////////////////////////////////////////////// - private static BindingManager bindings; + public static BindingManager bindings; ///////////////////////////////////////////////////////////////////// /// True, if any pie has the current focus. If it is closing this diff --git a/src/pies/save.vala b/src/pies/save.vala index efb3fb6..0a2d401 100644 --- a/src/pies/save.vala +++ b/src/pies/save.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/renderers/centerRenderer.vala b/src/renderers/centerRenderer.vala index c146216..88b569c 100644 --- a/src/renderers/centerRenderer.vala +++ b/src/renderers/centerRenderer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/renderers/pieRenderer.vala b/src/renderers/pieRenderer.vala index 1ff2b3e..32f3a5f 100644 --- a/src/renderers/pieRenderer.vala +++ b/src/renderers/pieRenderer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/renderers/pieWindow.vala b/src/renderers/pieWindow.vala index 5accb15..d2bf61f 100755..100644 --- a/src/renderers/pieWindow.vala +++ b/src/renderers/pieWindow.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -129,7 +129,7 @@ public class PieWindow : Gtk.Window { //and infinte loop while processing some mouse-motion events. //(this was seen in Ubuntu 14.04.2 64/32-bits -Glib 2.19- and in MATE 14.04.2) // set up event filter - //this.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK | + // this.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK | // Gdk.EventMask.KEY_RELEASE_MASK | // Gdk.EventMask.KEY_PRESS_MASK | // Gdk.EventMask.POINTER_MOTION_MASK | @@ -169,6 +169,16 @@ public class PieWindow : Gtk.Window { return true; }); + ulong connection_id = PieManager.bindings.on_release.connect((time_stamp) => { + if (PieManager.get_is_turbo(this.renderer.id)) { + this.activate_slice(time_stamp); + } + }); + + this.on_closing.connect(() => { + PieManager.bindings.disconnect(connection_id); + }); + // notify the renderer of mouse move events this.motion_notify_event.connect((e) => { this.renderer.on_mouse_move(); diff --git a/src/renderers/sliceRenderer.vala b/src/renderers/sliceRenderer.vala index 591fbdd..b465bd7 100644 --- a/src/renderers/sliceRenderer.vala +++ b/src/renderers/sliceRenderer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/themes/centerLayer.vala b/src/themes/centerLayer.vala index 34d473e..c4adbb8 100644 --- a/src/themes/centerLayer.vala +++ b/src/themes/centerLayer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/themes/sliceLayer.vala b/src/themes/sliceLayer.vala index bd9e98b..1a2c7cd 100644 --- a/src/themes/sliceLayer.vala +++ b/src/themes/sliceLayer.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/themes/theme.vala b/src/themes/theme.vala index ccf38c2..9c1ac5c 100644 --- a/src/themes/theme.vala +++ b/src/themes/theme.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/themes/themeImporter.vala b/src/themes/themeImporter.vala index f110696..24db741 100644 --- a/src/themes/themeImporter.vala +++ b/src/themes/themeImporter.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/animatedValue.vala b/src/utilities/animatedValue.vala index 79be155..5bb46f5 100644 --- a/src/utilities/animatedValue.vala +++ b/src/utilities/animatedValue.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/archiveReader.vala b/src/utilities/archiveReader.vala index 16e4541..14183ac 100644 --- a/src/utilities/archiveReader.vala +++ b/src/utilities/archiveReader.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/archiveWriter.vala b/src/utilities/archiveWriter.vala index 92bd31b..b74b5d0 100644 --- a/src/utilities/archiveWriter.vala +++ b/src/utilities/archiveWriter.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/bindingManager.vala b/src/utilities/bindingManager.vala index ac5a8fb..38ae1e0 100644 --- a/src/utilities/bindingManager.vala +++ b/src/utilities/bindingManager.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -32,6 +32,12 @@ public class BindingManager : GLib.Object { public signal void on_press(string id); ///////////////////////////////////////////////////////////////////// + /// Called when a previously pressed binding is released again. + ///////////////////////////////////////////////////////////////////// + + public signal void on_release(uint32 time_stamp); + + ///////////////////////////////////////////////////////////////////// /// A list storing bindings, which are invoked even if Gnome-Pie /// doesn't have the current focus ///////////////////////////////////////////////////////////////////// @@ -303,6 +309,12 @@ public class BindingManager : GLib.Object { mods = mods & ~ Gdk.ModifierType.SUPER_MASK; } + mods &= ~(Gdk.ModifierType.BUTTON1_MASK + | Gdk.ModifierType.BUTTON2_MASK + | Gdk.ModifierType.BUTTON3_MASK + | Gdk.ModifierType.BUTTON4_MASK + | Gdk.ModifierType.BUTTON5_MASK); + return mods & ~lock_modifiers[7]; } @@ -319,13 +331,16 @@ public class BindingManager : GLib.Object { X.Event* xevent = (X.Event*) pointer; #endif - if(xevent->type == X.EventType.KeyPress) { - foreach(var binding in bindings) { - // remove NumLock, CapsLock and ScrollLock from key state - var event_mods = prepare_modifiers((Gdk.ModifierType)xevent.xkey.state); - var bound_mods = prepare_modifiers(binding.trigger.modifiers); + if (xevent->type == X.EventType.KeyRelease) { + on_release((uint32)xevent.xkey.time); + } else if (xevent->type == X.EventType.KeyPress) { + // remove NumLock, CapsLock and ScrollLock from key state + var event_mods = prepare_modifiers((Gdk.ModifierType)xevent.xkey.state); + + foreach(var binding in bindings) { + var bound_mods = prepare_modifiers(binding.trigger.modifiers); if(xevent->xkey.keycode == binding.trigger.key_code && event_mods == bound_mods) { @@ -336,14 +351,14 @@ public class BindingManager : GLib.Object { } } } - } - else if(xevent->type == X.EventType.ButtonPress) { - foreach(var binding in bindings) { + } else if(xevent->type == X.EventType.ButtonRelease) { + on_release((uint32)xevent.xkey.time); + } else if(xevent->type == X.EventType.ButtonPress) { + // remove NumLock, CapsLock and ScrollLock from key state + var event_mods = prepare_modifiers((Gdk.ModifierType)xevent.xbutton.state); - // remove NumLock, CapsLock and ScrollLock from key state - var event_mods = prepare_modifiers((Gdk.ModifierType)xevent.xbutton.state); + foreach(var binding in bindings) { var bound_mods = prepare_modifiers(binding.trigger.modifiers); - if(xevent->xbutton.button == binding.trigger.key_code && event_mods == bound_mods) { diff --git a/src/utilities/color.vala b/src/utilities/color.vala index a681e02..1e2baf3 100644 --- a/src/utilities/color.vala +++ b/src/utilities/color.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/config.vala b/src/utilities/config.vala index 74bbcbb..3fc8d3f 100644 --- a/src/utilities/config.vala +++ b/src/utilities/config.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/focusGrabber.vala b/src/utilities/focusGrabber.vala index baa5fed..4a3212f 100644 --- a/src/utilities/focusGrabber.vala +++ b/src/utilities/focusGrabber.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/key.vala b/src/utilities/key.vala index 486744d..432c40e 100644 --- a/src/utilities/key.vala +++ b/src/utilities/key.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -30,10 +30,14 @@ public class Key : GLib.Object { private static X.Display display; - private static int shift_code; - private static int ctrl_code; - private static int alt_code; - private static int super_code; + private static int shift_l_code; + private static int shift_r_code; + private static int ctrl_l_code; + private static int ctrl_r_code; + private static int alt_l_code; + private static int alt_r_code; + private static int super_l_code; + private static int super_r_code; ///////////////////////////////////////////////////////////////////// /// A human readable form of the Key's accelerator. @@ -96,10 +100,14 @@ public class Key : GLib.Object { static construct { display = new X.Display(); - shift_code = display.keysym_to_keycode(Gdk.keyval_from_name("Shift_L")); - ctrl_code = display.keysym_to_keycode(Gdk.keyval_from_name("Control_L")); - alt_code = display.keysym_to_keycode(Gdk.keyval_from_name("Alt_L")); - super_code = display.keysym_to_keycode(Gdk.keyval_from_name("Super_L")); + shift_l_code = display.keysym_to_keycode(Gdk.keyval_from_name("Shift_L")); + shift_r_code = display.keysym_to_keycode(Gdk.keyval_from_name("Shift_R")); + ctrl_l_code = display.keysym_to_keycode(Gdk.keyval_from_name("Control_L")); + ctrl_r_code = display.keysym_to_keycode(Gdk.keyval_from_name("Control_R")); + alt_l_code = display.keysym_to_keycode(Gdk.keyval_from_name("Alt_L")); + alt_r_code = display.keysym_to_keycode(Gdk.keyval_from_name("Alt_R")); + super_l_code = display.keysym_to_keycode(Gdk.keyval_from_name("Super_L")); + super_r_code = display.keysym_to_keycode(Gdk.keyval_from_name("Super_R")); } ///////////////////////////////////////////////////////////////////// @@ -111,8 +119,8 @@ public class Key : GLib.Object { Gdk.ModifierType current_modifiers = get_modifiers(); // release them and press the desired ones - press_modifiers(current_modifiers, false); - press_modifiers(this.modifiers, true); + release_modifiers(current_modifiers); + press_modifiers(this.modifiers); // send events to X display.flush(); @@ -122,8 +130,8 @@ public class Key : GLib.Object { XTest.fake_key_event(display, this.key_code, false, 0); // release the pressed modifiers and re-press the keys hold down by the user - press_modifiers(this.modifiers, false); - press_modifiers(current_modifiers, true); + release_modifiers(this.modifiers); + // press_modifiers(current_modifiers); // send events to X display.flush(); @@ -134,27 +142,57 @@ public class Key : GLib.Object { ///////////////////////////////////////////////////////////////////// private Gdk.ModifierType get_modifiers() { - Gdk.ModifierType modifiers; - Gtk.get_current_event_state(out modifiers); - return modifiers; + return (Gdk.ModifierType)Gdk.Keymap.get_default().get_modifier_state(); + } + + ///////////////////////////////////////////////////////////////////// + /// Helper method which 'releases' the desired modifier keys. + ///////////////////////////////////////////////////////////////////// + + private void release_modifiers(Gdk.ModifierType modifiers) { + // since we do not know whether left or right version of each key + // is pressed, we release both... + if ((modifiers & Gdk.ModifierType.CONTROL_MASK) > 0) { + XTest.fake_key_event(display, ctrl_l_code, false, 0); + XTest.fake_key_event(display, ctrl_r_code, false, 0); + } + + if ((modifiers & Gdk.ModifierType.SHIFT_MASK) > 0) { + XTest.fake_key_event(display, shift_l_code, false, 0); + XTest.fake_key_event(display, shift_r_code, false, 0); + } + + if ((modifiers & Gdk.ModifierType.MOD1_MASK) > 0) { + XTest.fake_key_event(display, alt_l_code, false, 0); + XTest.fake_key_event(display, alt_r_code, false, 0); + } + + if ((modifiers & Gdk.ModifierType.SUPER_MASK) > 0) { + XTest.fake_key_event(display, super_l_code, false, 0); + XTest.fake_key_event(display, super_r_code, false, 0); + } } ///////////////////////////////////////////////////////////////////// /// Helper method which 'presses' the desired modifier keys. ///////////////////////////////////////////////////////////////////// - private void press_modifiers(Gdk.ModifierType modifiers, bool down) { - if ((modifiers & Gdk.ModifierType.CONTROL_MASK) > 0) - XTest.fake_key_event(display, ctrl_code, down, 0); + private void press_modifiers(Gdk.ModifierType modifiers) { + if ((modifiers & Gdk.ModifierType.CONTROL_MASK) > 0) { + XTest.fake_key_event(display, ctrl_l_code, true, 0); + } - if ((modifiers & Gdk.ModifierType.SHIFT_MASK) > 0) - XTest.fake_key_event(display, shift_code, down, 0); + if ((modifiers & Gdk.ModifierType.SHIFT_MASK) > 0) { + XTest.fake_key_event(display, shift_l_code, true, 0); + } - if ((modifiers & Gdk.ModifierType.MOD1_MASK) > 0) - XTest.fake_key_event(display, alt_code, down, 0); + if ((modifiers & Gdk.ModifierType.MOD1_MASK) > 0) { + XTest.fake_key_event(display, alt_l_code, true, 0); + } - if ((modifiers & Gdk.ModifierType.SUPER_MASK) > 0) - XTest.fake_key_event(display, super_code, down, 0); + if ((modifiers & Gdk.ModifierType.SUPER_MASK) > 0) { + XTest.fake_key_event(display, super_l_code, true, 0); + } } } diff --git a/src/utilities/logger.vala b/src/utilities/logger.vala index 7c66615..ecc551e 100644 --- a/src/utilities/logger.vala +++ b/src/utilities/logger.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/paths.vala b/src/utilities/paths.vala index 7bdd642..68c5384 100644 --- a/src/utilities/paths.vala +++ b/src/utilities/paths.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/src/utilities/trigger.vala b/src/utilities/trigger.vala index 5373b41..aeed3fb 100644 --- a/src/utilities/trigger.vala +++ b/src/utilities/trigger.vala @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -172,6 +172,8 @@ public class Trigger : GLib.Object { int button = this.get_mouse_button(check_string); if (button > 0) { + check_string = check_string.substring(0, check_string.index_of("button")); + this.with_mouse = true; this.key_code = button; this.key_sym = button; @@ -179,6 +181,10 @@ public class Trigger : GLib.Object { Gtk.accelerator_parse(check_string, null, out this._modifiers); this.label = Gtk.accelerator_get_label(0, this.modifiers); + if (this.label != "") { + label += "+"; + } + string button_text = _("Button %i").printf(this.key_code); if (this.key_code == 1) diff --git a/update_copy_notice.sh b/update_copy_notice.sh index 6325e37..15eba89 100755 --- a/update_copy_notice.sh +++ b/update_copy_notice.sh @@ -3,7 +3,7 @@ shopt -s globstar text="///////////////////////////////////////////////////////////////////////// -// Copyright (c) 2011-2015 by Simon Schneegans +// Copyright (c) 2011-2016 by Simon Schneegans // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by |