Hello community,

here is the log from the commit of package devilspie2 for openSUSE:Factory 
checked in at 2016-04-06 11:52:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/devilspie2 (Old)
 and      /work/SRC/openSUSE:Factory/.devilspie2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "devilspie2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/devilspie2/devilspie2.changes    2016-03-03 
15:16:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.devilspie2.new/devilspie2.changes       
2016-04-06 11:52:53.000000000 +0200
@@ -1,0 +2,15 @@
+Thu Mar 31 22:00:47 UTC 2016 - [email protected]
+
+- Update to 0.40
+  * Add callback for geometry change
+  * Add error string for one or two indata expected
+  * Make devilspie2_get_viewport_start return both x and y 
+    coordinates
+  * Add alternative functionality to set_viewport Now you can set 
+    the coordinates to the window if you use two integers as indata
+  * New Italian translation, updated Dutch, Japanese and Swedish
+    translations
+  * Build flags hardening fixes
+  * Allow reading of XA_WINDOW properties
+
+-------------------------------------------------------------------

Old:
----
  devilspie2_0.39-src.tar.gz
  devilspie2_0.39-src.tar.gz.asc

New:
----
  devilspie2_0.40-src.tar.gz
  devilspie2_0.40-src.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ devilspie2.spec ++++++
--- /var/tmp/diff_new_pack.FYNgCB/_old  2016-04-06 11:52:54.000000000 +0200
+++ /var/tmp/diff_new_pack.FYNgCB/_new  2016-04-06 11:52:54.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           devilspie2
-Version:        0.39
+Version:        0.40
 Release:        0
 Summary:        A window matching utility
 License:        GPL-3.0
@@ -25,10 +25,10 @@
 Source0:        
http://download.savannah.gnu.org/releases/devilspie2/%{name}_%{version}-src.tar.gz
 Source1:        
http://download.savannah.gnu.org/releases/devilspie2/%{name}_%{version}-src.tar.gz.asc
 Source2:        %{name}.keyring
-BuildRequires:  pkg-config
 BuildRequires:  pkgconfig(gtk+-3.0)
 BuildRequires:  pkgconfig(libwnck-3.0)
 BuildRequires:  pkgconfig(lua) >= 5.1
+BuildRequires:  pkgconfig(pkg-config)
 
 %description
 Devilspie 2 is based on the excellent program Devil's Pie by Ross Burton, and


++++++ devilspie2_0.39-src.tar.gz -> devilspie2_0.40-src.tar.gz ++++++
++++ 1714 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/AUTHORS new/devilspie2-0.40/AUTHORS
--- old/devilspie2-0.39/AUTHORS 2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/AUTHORS 2016-03-28 13:15:21.000000000 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright © 2011-2015 Andreas Rönnquist.
+# Copyright © 2011-2016 Andreas Rönnquist.
 # This file is distributed under the same license
 # as the devilspie2 package, see COPYING file.
 #
@@ -32,7 +32,7 @@
 - Patch adding get_workspace_count function
 
 larchunix
-- Patch replacing lua_open with luaL_newstate, to make it work with LUA 5.2.
+- Patch replacing lua_open with luaL_newstate, to make it work with Lua 5.2.
 
 Laurent Brachet <yg (dot) oenpurg (at) gmail (dot) com>
 - Patch to make set_window_geometry accept negative values
@@ -51,3 +51,8 @@
 
 Toni Spets <[email protected]>
 - add get_window_is_pinned function
+
+Nicola Fontana <[email protected]>
+- Italian translation
+- Spelling fixes
+- Allow reading of XA_WINDOW properties
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/ChangeLog new/devilspie2-0.40/ChangeLog
--- old/devilspie2-0.39/ChangeLog       2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/ChangeLog       2016-03-28 13:15:21.000000000 +0200
@@ -2,6 +2,18 @@
 ChangeLog:
 ----------
 
+0.40
+       * Add callback for geometry change
+       * Add error string for one or two indata expected
+       * Make devilspie2_get_viewport_start return both x
+         and y coordinates
+       * Add alternative functionality to set_viewport Now you can set the
+         coordinates to the window if you use two integers as indata
+       * New Italian translation, updated Dutch, Japanese and Swedish
+         translations
+       * Build flags hardening fixes
+       * Allow reading of XA_WINDOW properties
+
 0.39
        * Fix proper flushing of debugging output
        * Some source formatting fixes
@@ -78,7 +90,7 @@
        * Add file monitor to automatically load added scripts
 
 0.27
-       * Update Makefile to fix a LUA problem with pkg-config
+       * Update Makefile to fix a Lua problem with pkg-config
        * Update the email contact address in the README
        * Add get_workspace_count function - Thanks Hans Nieser!
        * Use luaL_newstate instead of lua_open which is deprecated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/Makefile new/devilspie2-0.40/Makefile
--- old/devilspie2-0.39/Makefile        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/Makefile        2016-03-28 13:15:21.000000000 +0200
@@ -64,7 +64,7 @@
 LIBS=-lX11 $(shell pkg-config --libs --silence-errors $(PKG_GTK) $(PKG_WNCK) 
lua5.1 || pkg-config --libs $(PKG_GTK) $(PKG_WNCK) lua)
 
 LOCAL_CFLAGS=$(STD_CFLAGS) $(DEPRECATED) $(CFLAGS) $(LIB_CFLAGS)
-LOCAL_LDFLAGS=$(LDFLAGS) $(STD_LDFLAGS)
+LOCAL_LDFLAGS=$(STD_CFLAGS) $(LDFLAGS) $(STD_LDFLAGS)
 
 LOCAL_CPPFLAGS=$(CPPFLAGS)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/README new/devilspie2-0.40/README
--- old/devilspie2-0.39/README  2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/README  2016-03-28 13:15:21.000000000 +0200
@@ -8,21 +8,21 @@
 -----------
 
 Devilspie 2 is based on the excellent program Devil's Pie by Ross Burton, and
-takes a folder as indata, and checks that folder for LUA scripts. These
+takes a folder as indata, and checks that folder for Lua scripts. These
 scripts are run each time a window is opened or closed, and the rules in them
 are applied on the window.
 
 Unfortunately the rules of the original Devils Pie are not supported.
 
-If you don't give devilspie2 any folder with --folder, it will read LUA scripts
+If you don't give devilspie2 any folder with --folder, it will read Lua scripts
 from the folder that it gets from the GLib function g_get_user_config_dir with
 devilspie2/ added to the end - g_get_user_config_dir returns the config
 directory as defined in the XDG Base Directory Specification. In most cases
 would be the ~/.config/devilspie2/ folder, and this folder will be created if
 it doesn't already exist. This folder is changeable with the --folder option.
-If devilspie2 doesn't find any LUA files in the folder, it will stop execution.
+If devilspie2 doesn't find any Lua files in the folder, it will stop execution.
 
-Devilspie2 will load all the LUA files in this folder in alphabetical order.
+Devilspie2 will load all the Lua files in this folder in alphabetical order.
 
 Devilspie2 takes some options:
 
@@ -30,7 +30,7 @@
 
 -d, --debug         Print debug information to stdout
 -e, --emulate       Don't apply any rules, but only emulate execution
--f, --folder        From which folder should we load our LUA scripts
+-f, --folder        From which folder should we load our Lua scripts
 -v, --version       Print program version and quit
 -w, --wnck-version  Show version of libwnck and quit
 
@@ -63,11 +63,11 @@
 ---------
 
 You can choose to have all script functionality in one file, or you can split
-it up into several, Devilspie2 runs on all LUA files in your requested
+it up into several, Devilspie2 runs on all Lua files in your requested
 devilspie2 folder, by default ~/.config/devilspie2 - that is all files with a
 .lua extension.
 
-The scripting language used is LUA (see www.lua.org) - See FAQ at
+The scripting language used is Lua (see www.lua.org) - See FAQ at
 
 www.lua.org/FAQ.html
 
@@ -80,7 +80,7 @@
 http://lua-users.org/wiki/TutorialDirectory
 
 
-The following commands are recognized by the Devilspie2 LUA interpreter:
+The following commands are recognized by the Devilspie2 Lua interpreter:
 
 First; a function to show some debug info
 
@@ -392,9 +392,15 @@
 
 set_viewport(viewport)
 
-   Moves the window to the requested viewport - Counting starts at number 1.
-   (Available from version 0.25)
-
+   Using one indata, moves the window to the requested viewport - Counting
+       starts at number 1. (Available from version 0.25)
+       - Also see the alternative usage of this function below.
+
+set_viewport(x, y)
+       
+       If you are using two indata to the set_viewport function, you can decide
+       where in the viewport the window will be placed.
+       (Available from version 0.40)
 
 center()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/development.txt new/devilspie2-0.40/development.txt
--- old/devilspie2-0.39/development.txt 2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/development.txt 2016-03-28 13:15:21.000000000 +0200
@@ -15,8 +15,8 @@
 only accept code under that license.
 
 As with any C program, program execution starts in the main function - which
-is placed in devilspie2.c in this case. The main function interprets the 
-command line options, sets up a list of script files that should be 
+is placed in devilspie2.c in this case. The main function interprets the
+command line options, sets up a list of script files that should be
 interpreted, and registers the signal for window_opened to the proper callback
 function.
 
@@ -24,7 +24,7 @@
 Adding a new script function
 ============================
 
-Add it in script.c in the function "register_cfunctions", using a 
+Add it in script.c in the function "register_cfunctions", using a
 lua_register call - To add a function having the lua name "center", and connect
 it with the C function c_center, do this:
 
@@ -37,7 +37,7 @@
 int c_center(lua_State *lua);
 
 What is returned is an integer represeting the amount of return values that the
-LUA function returns. These return values are pushed to the stack using a
+Lua function returns. These return values are pushed to the stack using a
 lua_push for the correct type - for example lua_pushboolean(lua, TRUE);
 
 And logically if there are nothing to return, we simply do a "return 0;".
@@ -45,7 +45,7 @@
 If we need something that isn't directly implemented in libwnck, we can add
 a function implementing it to the file "xutils.c" - please separate stuff from
 script_functions if it has no need to be there, and simply call it from your
-function in script_functions.c. The point is to keep input and LUA interpreting
+function in script_functions.c. The point is to keep input and Lua interpreting
 to script_functions, while the actual wnck and/or X work is in the xutils 
files.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/devilspie2.1 new/devilspie2-0.40/devilspie2.1
--- old/devilspie2-0.39/devilspie2.1    2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/devilspie2.1    2016-03-28 13:15:21.000000000 +0200
@@ -9,7 +9,7 @@
 .SH Description
 .B Devilspie2
 is a program that detects windows as they are created, and performs scripted
-actions on them. The scripts are written in LUA, allowing a great deal of
+actions on them. The scripts are written in Lua, allowing a great deal of
 customisation.
 
 More details in /usr/share/doc/devilspie2.
@@ -18,9 +18,9 @@
 .IP "--version"
 Displays the version of Devilspie2.
 .IP "--folder folder"
-Sets the folder where the LUA scripts are loaded from.
+Sets the folder where the Lua scripts are loaded from.
 .IP "--debug"
-Shows debug information from the LUA scripts. If debug_print is used in the LUA
+Shows debug information from the Lua scripts. If debug_print is used in the Lua
 scripts, that output will only be printed to stdout if this option is used.
 .IP "--emulate"
 Emulate script behaviour. Using this option only emulates a scripts behaviour,
@@ -31,7 +31,7 @@
 
 .TP
 See the README or the manual linked from the homepage for a detailed 
description
-of the commands recognized by the LUA script.
+of the commands recognized by the Lua script.
 
 .SH Author
 .B Devilspie2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/Makefile new/devilspie2-0.40/po/Makefile
--- old/devilspie2-0.39/po/Makefile     2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/Makefile     2016-03-28 13:15:21.000000000 +0200
@@ -20,7 +20,7 @@
 SOURCES = config.c devilspie2.c script.c script_functions.c xutils.c 
error_strings.c
 
 XG_ARGS = --keyword=_ --keyword=N_ -w 80 --package-name=${NAME} 
--package-version=${VERSION} [email protected]
-LANGUAGES = sv fr pt_BR nl ru fi ja
+LANGUAGES = sv fr pt_BR nl ru fi ja it
 
 LANGUAGES_MO = $(foreach currlang,$(LANGUAGES),$(currlang).mo)
 LANGUAGES_PO = $(foreach currlang,$(LANGUAGES),$(currlang).po)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/fi.po new/devilspie2-0.40/po/fi.po
--- old/devilspie2-0.39/po/fi.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/fi.po        2016-03-28 13:15:21.000000000 +0200
@@ -35,8 +35,8 @@
 
 #: devilspie2.c:215 devilspie2.c:223
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "\"%s\"-tapahtumien käsitteleviä LUA-tiedostoja kansiossa:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "\"%s\"-tapahtumien käsitteleviä Lua-tiedostoja kansiossa:"
 
 #: devilspie2.c:289
 msgid "Print debug info to stdout"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/fr.po new/devilspie2-0.40/po/fr.po
--- old/devilspie2-0.39/po/fr.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/fr.po        2016-03-28 13:15:21.000000000 +0200
@@ -36,8 +36,8 @@
 
 #: devilspie2.c:215 devilspie2.c:223
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "Liste des fichiers LUA gérant les évènements \"%s\"dans le dossier:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "Liste des fichiers Lua gérant les évènements \"%s\"dans le dossier:"
 
 #: devilspie2.c:289
 msgid "Print debug info to stdout"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/it.po new/devilspie2-0.40/po/it.po
--- old/devilspie2-0.39/po/it.po        1970-01-01 01:00:00.000000000 +0100
+++ new/devilspie2-0.40/po/it.po        2016-03-28 13:15:21.000000000 +0200
@@ -0,0 +1,158 @@
+# Italian translation for devilspie2 package.
+# Copyright (C) 2016 The devilspie2's copyright holder
+# This file is distributed under the same license as the devilspie2 package.
+# Nicola Fontana <[email protected]>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: devilspie2 0.33pre\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2014-04-02 21:21+0200\n"
+"PO-Revision-Date: 2016-01-29 08:31+0100\n"
+"Last-Translator: Nicola Fontana <[email protected]>\n"
+"Language-Team: Italian\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: config.c:188
+msgid "script_folder isn't a folder."
+msgstr "script_folder non è una cartella."
+
+#: config.c:200 script.c:232
+#, c-format
+msgid "Error: %s"
+msgstr "Errore: %s"
+
+#: devilspie2.c:164
+msgid "Received signal:"
+msgstr "Segnale ricevuto:"
+
+#: devilspie2.c:208
+msgid "No script files found in the script folder - exiting."
+msgstr "Nessuno script trovato nella cartella script - uscita."
+
+#: devilspie2.c:215 devilspie2.c:223
+#, c-format
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "Elenco dei file Lua nella cartella che gestiscono l'evento \"%s\":"
+
+#: devilspie2.c:289
+msgid "Print debug info to stdout"
+msgstr "Stampa messaggi di debug su stdout"
+
+#: devilspie2.c:291
+msgid "Don't apply any rules, only emulate execution"
+msgstr "Non applicare le regole, simularne solo l'esecuzione"
+
+#: devilspie2.c:293
+msgid "Search for scripts in this folder"
+msgstr "Ricercare script in questa cartella"
+
+#: devilspie2.c:293
+msgid "FOLDER"
+msgstr "CARTELLA"
+
+#: devilspie2.c:295
+msgid "Show Devilspie2 version and quit"
+msgstr "Mostrare la versione di Devilspie2 e uscire"
+
+#: devilspie2.c:300
+msgid "Show libwnck version and quit"
+msgstr "Mostrare la versione di libwnck e uscire"
+
+#: devilspie2.c:318
+msgid "apply rules on windows"
+msgstr "applicare regole alla finestra"
+
+#: devilspie2.c:325
+#, c-format
+msgid "option parsing failed: %s"
+msgstr "analisi opzioni fallita: %s"
+
+#: devilspie2.c:346
+msgid "Couldn't create the default folder for devilspie2 scripts."
+msgstr "Non posso creare la cartella di default per gli script."
+
+#: devilspie2.c:373
+msgid "An X11 display is required for devilspie2."
+msgstr "Devilspie2 richiede un display X11."
+
+#: devilspie2.c:381
+msgid "Couldn't init script error messages!"
+msgstr "Impossibile inizializzare i messaggi di errore!"
+
+#: devilspie2.c:398
+msgid "Running devilspie2 in debug and emulate mode."
+msgstr "Esecuzione di devilspie2 in modalità debug e emulazione."
+
+#: devilspie2.c:400
+msgid "Running devilspie2 in debug mode."
+msgstr "Esecuzione di devilspie2 in modalità debug."
+
+#: devilspie2.c:405
+#, c-format
+msgid "Using scripts from folder: %s"
+msgstr "Utilizzo script dalla cartella: %s"
+
+#: devilspie2.c:421
+msgid "Couldn't create directory monitor!"
+msgstr "Impossibile creare la directory monitor!"
+
+#: script_functions.c:732 script_functions.c:778
+#, c-format
+msgid "Workspace number %d does not exist!"
+msgstr "Il workspace %d non esiste!"
+
+#: script_functions.c:1673
+msgid "Could not get workspace"
+msgstr "Impossibile leggere il workspace"
+
+#: xutils.c:183 xutils.c:201 error_strings.c:127
+msgid "Failed!"
+msgstr "Fallito!"
+
+#: error_strings.c:49
+msgid "Couldn't allocate error string!"
+msgstr "Impossibile allocare la stringa di errore!"
+
+#: error_strings.c:51
+msgid "No indata expected"
+msgstr "Nessun argomento atteso"
+
+#: error_strings.c:58
+msgid "One indata expected"
+msgstr "Un argomento atteso"
+
+#: error_strings.c:65
+msgid "Two indata expected"
+msgstr "Due argomenti attesi"
+
+#: error_strings.c:72
+msgid "Four indata expected"
+msgstr "Quattro argomenti attesi"
+
+#: error_strings.c:80
+msgid "Number expected as indata"
+msgstr "Atteso argomento numerico"
+
+#: error_strings.c:88
+msgid "Boolean expected as indata"
+msgstr "Atteso argomento booleano"
+
+#: error_strings.c:96
+msgid "String expected as indata"
+msgstr "Atteso argomento stringa"
+
+#: error_strings.c:104
+msgid "Integer greater than zero expected"
+msgstr "Atteso intero maggiore o uguale a zero"
+
+#: error_strings.c:112
+msgid "Could not find current viewport"
+msgstr "Impossibile trovare la viewport attuale"
+
+#: error_strings.c:120
+msgid "Setting viewport failed"
+msgstr "Impostazione della viewport fallita"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/ja.po new/devilspie2-0.40/po/ja.po
--- old/devilspie2-0.39/po/ja.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/ja.po        2016-03-28 13:15:21.000000000 +0200
@@ -1,15 +1,14 @@
 # Japanese translations for devilspie2 package
-# devilspie2 パッケージに対する英訳.
-# Copyright (C) 2013 THE devilspie2'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the devilspie2 package.
-# Hiroshi Hasebe <[email protected]>, 2013.
+# Copyright (C) 2011 Andreas Rönnquist <[email protected]>
+# This file is distributed under the same license as the PACKAGE package.
+# Andreas Rönnquist <[email protected]>, 2011.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: devilspie2 0.28pre\n"
+"Project-Id-Version: devilspie2 0.39\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2014-04-02 21:21+0200\n"
-"PO-Revision-Date: 2013-08-28 12:34+0900\n"
+"POT-Creation-Date: 2016-03-09 10:23+0100\n"
+"PO-Revision-Date: 2016-03-11 00:01+0900\n"
 "Last-Translator: Hiroshi Hasebe <[email protected]>\n"
 "Language-Team: Japanese\n"
 "Language: ja\n"
@@ -17,145 +16,148 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Gtranslator 2.91.6\n"
 
-#: config.c:188
+#: config.c:184
 msgid "script_folder isn't a folder."
-msgstr "script_folderがフォルダに非ず"
+msgstr "script_folderがフォルダの検出に失敗"
 
-#: config.c:200 script.c:232
+#: config.c:196 script.c:238
 #, c-format
 msgid "Error: %s"
 msgstr "エラー: %s"
 
-#: devilspie2.c:164
+#: devilspie2.c:166
 msgid "Received signal:"
 msgstr "シグナルを検出:"
 
-#: devilspie2.c:208
+#: devilspie2.c:210
 msgid "No script files found in the script folder - exiting."
-msgstr "script_folderにスクリプトが存在せず - 終了."
+msgstr "スクリプトが空のため, 実行終了."
 
-#: devilspie2.c:215 devilspie2.c:223
+#: devilspie2.c:217 devilspie2.c:225
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "イベント \"%s\" を担当するLUAファイルの一覧:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "イベント \"%s\" を担当するLuaファイルの一覧:"
 
-#: devilspie2.c:289
+#: devilspie2.c:293
 msgid "Print debug info to stdout"
 msgstr "標準出力にデバッグ情報を書き出す"
 
-#: devilspie2.c:291
+#: devilspie2.c:296
 msgid "Don't apply any rules, only emulate execution"
-msgstr "ルールを適用せず, エミュレーションを行う"
+msgstr "ルールを適用せず, エミュレーションのみ行う"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "Search for scripts in this folder"
 msgstr "スクリプト収容先フォルダ"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "FOLDER"
 msgstr "FOLDER"
 
-#: devilspie2.c:295
+#: devilspie2.c:302
 msgid "Show Devilspie2 version and quit"
 msgstr "Devilspie2のバージョン情報を表示して終了"
 
-#: devilspie2.c:300
+#: devilspie2.c:308
 msgid "Show libwnck version and quit"
 msgstr "libwnckのバージョンを表示して終了"
 
-#: devilspie2.c:318
+#: devilspie2.c:327
 msgid "apply rules on windows"
 msgstr "ウィンドウにルールを適用"
 
-#: devilspie2.c:325
+#: devilspie2.c:334
 #, c-format
 msgid "option parsing failed: %s"
 msgstr "引数の解釈に失敗: %s"
 
-#: devilspie2.c:346
+#: devilspie2.c:355
 msgid "Couldn't create the default folder for devilspie2 scripts."
-msgstr "デフォルトのスクリプト・フォルダの作成に失敗"
+msgstr "規定のスクリプト・フォルダの作成に失敗"
 
-#: devilspie2.c:373
+#: devilspie2.c:382
 msgid "An X11 display is required for devilspie2."
 msgstr "Devilspie2の実行にはX11環境を要する"
 
-#: devilspie2.c:381
+#: devilspie2.c:390
 msgid "Couldn't init script error messages!"
-msgstr "スクリプト・エラー・メッセージの初期化に失敗"
+msgstr "スクリプト・エラー・メッセージの初期化に失敗!"
 
-#: devilspie2.c:398
+#: devilspie2.c:411
 msgid "Running devilspie2 in debug and emulate mode."
-msgstr "devilspie2をデバック + エミュレーション・モードで実行中"
+msgstr "Devilspie2をデバック + エミュレーション・モードで実行中"
 
-#: devilspie2.c:400
+#: devilspie2.c:413
 msgid "Running devilspie2 in debug mode."
-msgstr "devilspie2をデバッグ・モードで実行中"
+msgstr "Devilspie2をデバッグ・モードで実行中"
 
-#: devilspie2.c:405
+#: devilspie2.c:418
 #, c-format
 msgid "Using scripts from folder: %s"
-msgstr "スクリプト・フォルダ \"%s\" を使用中"
+msgstr "フォルダ \"%s\" のスクリプトを使用中"
 
-#: devilspie2.c:421
+#: devilspie2.c:434
 msgid "Couldn't create directory monitor!"
-msgstr "ディレクトリ・モニタの作成に失敗!"
+msgstr "ディレクトリ認識機能の実行に失敗!"
 
-#: script_functions.c:732 script_functions.c:778
+#: script_functions.c:709 script_functions.c:755
 #, c-format
 msgid "Workspace number %d does not exist!"
-msgstr "%d番のワークスペースが存在せず"
+msgstr "%d番ワークスペースの検出に失敗!"
 
-#: script_functions.c:1673
+#: script_functions.c:1734
 msgid "Could not get workspace"
-msgstr "ワークスペースの取得に失敗"
+msgstr "ワークスペースの認識に失敗"
 
-#: xutils.c:183 xutils.c:201 error_strings.c:127
+#: xutils.c:186 xutils.c:204 error_strings.c:136
 msgid "Failed!"
 msgstr "処理に失敗!"
 
-#: error_strings.c:49
+#: error_strings.c:51
 msgid "Couldn't allocate error string!"
 msgstr "エラー文字列の割当に失敗!"
 
-#: error_strings.c:51
+#: error_strings.c:53
 msgid "No indata expected"
-msgstr "引数は不要"
+msgstr "不要な引数を検出"
 
-#: error_strings.c:58
+#: error_strings.c:60
 msgid "One indata expected"
-msgstr "引数1件を要する"
+msgstr "1個の引数を想定"
 
-#: error_strings.c:65
+#: error_strings.c:67
 msgid "Two indata expected"
-msgstr "引数が2つ必要"
+msgstr "2個の引数を想定"
 
-#: error_strings.c:72
+#: error_strings.c:74
 msgid "Four indata expected"
-msgstr "引数が4つ必要"
+msgstr "4個の引数を想定"
+
+#: error_strings.c:81
+msgid "One or two indata expected"
+msgstr "1個もしくは2個の引数を想定"
 
-#: error_strings.c:80
+#: error_strings.c:89
 msgid "Number expected as indata"
-msgstr "数値の引数が必要"
+msgstr "数値の引数が想定"
 
-#: error_strings.c:88
+#: error_strings.c:97
 msgid "Boolean expected as indata"
 msgstr "ブール型の引数が必要"
 
-#: error_strings.c:96
+#: error_strings.c:105
 msgid "String expected as indata"
 msgstr "文字列型の引数が必要"
 
-#: error_strings.c:104
+#: error_strings.c:113
 msgid "Integer greater than zero expected"
-msgstr "引数にはゼロより大きな整数が必要"
+msgstr "ゼロよりも大きな整数を想定"
 
-#: error_strings.c:112
+#: error_strings.c:121
 msgid "Could not find current viewport"
 msgstr "カレント・ビューポートの検出に失敗"
 
-#: error_strings.c:120
+#: error_strings.c:129
 msgid "Setting viewport failed"
 msgstr "ビューポートの設定に失敗"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/nl.po new/devilspie2-0.40/po/nl.po
--- old/devilspie2-0.39/po/nl.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/nl.po        2016-03-28 13:15:21.000000000 +0200
@@ -8,156 +8,161 @@
 msgstr ""
 "Project-Id-Version: devilspie2 0.16\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2014-04-02 21:21+0200\n"
-"PO-Revision-Date: 2013-05-10 12:50+0100\n"
+"POT-Creation-Date: 2016-03-09 15:21+0100\n"
+"PO-Revision-Date: 2016-03-09 15:25+0100\n"
 "Last-Translator: Frans de Jonge <[email protected]>\n"
 "Language-Team: Dutch\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
 
-#: config.c:188
+#: config.c:184
 msgid "script_folder isn't a folder."
 msgstr "script_folder is geen map."
 
-#: config.c:200 script.c:232
+#: config.c:196 script.c:238
 #, c-format
 msgid "Error: %s"
 msgstr "Fout: %s"
 
-#: devilspie2.c:164
+#: devilspie2.c:166
 msgid "Received signal:"
 msgstr "Ontvangen signaal:"
 
-#: devilspie2.c:208
+#: devilspie2.c:210
 msgid "No script files found in the script folder - exiting."
 msgstr ""
 "Er werden geen scriptbestanden in de scriptmap gevonden — programma wordt "
 "afgesloten."
 
-#: devilspie2.c:215 devilspie2.c:223
+#: devilspie2.c:217 devilspie2.c:225
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
+msgid "List of Lua files handling \"%s\" events in folder:"
 msgstr ""
-"Lijst van LUA-bestanden die worden uitgevoerd bij een  \"%s\"-gebeurtenis in "
+"Lijst van Lua-bestanden die worden uitgevoerd bij een  \"%s\"-gebeurtenis in "
 "deze map:"
 
-#: devilspie2.c:289
+#: devilspie2.c:293
 msgid "Print debug info to stdout"
 msgstr "Print debuginformatie naar stdout"
 
-#: devilspie2.c:291
+#: devilspie2.c:296
 msgid "Don't apply any rules, only emulate execution"
 msgstr "Pas geen regels permanent toe; enkel emulatie van uitvoering"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "Search for scripts in this folder"
 msgstr "Zoek naar scripts in deze map"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "FOLDER"
 msgstr "MAP"
 
-#: devilspie2.c:295
+#: devilspie2.c:302
 msgid "Show Devilspie2 version and quit"
-msgstr "Toon Devilspie2 versie en sluit af"
+msgstr "Toon Devilspie2-versie en sluit af"
 
-#: devilspie2.c:300
+#: devilspie2.c:308
 msgid "Show libwnck version and quit"
-msgstr "Toon libwnck versie en sluit af"
+msgstr "Toon libwnck-versie en sluit af"
 
-#: devilspie2.c:318
+#: devilspie2.c:327
 msgid "apply rules on windows"
 msgstr "Pas regels toe op vensters"
 
-#: devilspie2.c:325
+#: devilspie2.c:334
 #, c-format
 msgid "option parsing failed: %s"
 msgstr "de volgende optie wordt niet begrepen: %s"
 
-#: devilspie2.c:346
+#: devilspie2.c:355
 msgid "Couldn't create the default folder for devilspie2 scripts."
-msgstr "Kon geen standaardmap aanmaken voor devilspie2 scripts."
+msgstr "Kon geen standaardmap aanmaken voor devilspie2-scripts."
 
-#: devilspie2.c:373
+#: devilspie2.c:382
 msgid "An X11 display is required for devilspie2."
 msgstr "Een X11-scherm is noodzakelijk voor devilspie2."
 
-#: devilspie2.c:381
+#: devilspie2.c:390
 msgid "Couldn't init script error messages!"
 msgstr "Scriptfoutmeldingen konden niet geïnitialiseerd worden!"
 
-#: devilspie2.c:398
+#: devilspie2.c:411
 msgid "Running devilspie2 in debug and emulate mode."
 msgstr "Devilspie2 draait in debug- en emuleringsmodus."
 
-#: devilspie2.c:400
+#: devilspie2.c:413
 msgid "Running devilspie2 in debug mode."
 msgstr "Devilspie2 draait in debugmodus."
 
-#: devilspie2.c:405
+#: devilspie2.c:418
 #, c-format
 msgid "Using scripts from folder: %s"
-msgstr "Scripts uit deze map worden worden gebruikt: %s"
+msgstr "Scripts worden uit deze map toegepast: %s"
 
-#: devilspie2.c:421
+#: devilspie2.c:434
 msgid "Couldn't create directory monitor!"
 msgstr "De map kon niet worden gemonitord!"
 
-#: script_functions.c:732 script_functions.c:778
+#: script_functions.c:709 script_functions.c:755
 #, c-format
 msgid "Workspace number %d does not exist!"
 msgstr "Werkruimte nummer %d bestaat niet!"
 
-#: script_functions.c:1673
+#: script_functions.c:1734
 msgid "Could not get workspace"
 msgstr "Kon werkruimte niet verkrijgen."
 
-#: xutils.c:183 xutils.c:201 error_strings.c:127
+#: xutils.c:186 xutils.c:204 error_strings.c:136
 msgid "Failed!"
 msgstr "Mislukt!"
 
-#: error_strings.c:49
+#: error_strings.c:51
 msgid "Couldn't allocate error string!"
 msgstr "Foutmeldingsreeks kon niet worden gealloceerd!"
 
-#: error_strings.c:51
+#: error_strings.c:53
 msgid "No indata expected"
-msgstr "Geen indata verwacht"
+msgstr "Geen invoergegevens verwacht"
 
-#: error_strings.c:58
+#: error_strings.c:60
 msgid "One indata expected"
-msgstr "Eén indata verwacht"
+msgstr "Eén invoergegeven verwacht"
 
-#: error_strings.c:65
+#: error_strings.c:67
 msgid "Two indata expected"
-msgstr "Twee indata verwacht"
+msgstr "Twee invoergegevens verwacht"
 
-#: error_strings.c:72
+#: error_strings.c:74
 msgid "Four indata expected"
-msgstr "Vier indata verwacht"
+msgstr "Vier invoergegevens verwacht"
+
+#: error_strings.c:81
+msgid "One or two indata expected"
+msgstr "Eén of twee invoergegevens verwacht"
 
-#: error_strings.c:80
+#: error_strings.c:89
 msgid "Number expected as indata"
-msgstr "Nummer verwacht als indata"
+msgstr "Nummer verwacht als invoer"
 
-#: error_strings.c:88
+#: error_strings.c:97
 msgid "Boolean expected as indata"
-msgstr "Boolean verwacht als indata"
+msgstr "Boolean verwacht als invoer"
 
-#: error_strings.c:96
+#: error_strings.c:105
 msgid "String expected as indata"
-msgstr "String verwacht als indata"
+msgstr "String verwacht als invoer"
 
-#: error_strings.c:104
+#: error_strings.c:113
 msgid "Integer greater than zero expected"
 msgstr "Geheel getal groter dan nul verwacht"
 
-#: error_strings.c:112
+#: error_strings.c:121
 msgid "Could not find current viewport"
 msgstr "Huidige viewport niet gevonden"
 
-#: error_strings.c:120
+#: error_strings.c:129
 msgid "Setting viewport failed"
 msgstr "Viewport instellen mislukt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/pt_BR.po new/devilspie2-0.40/po/pt_BR.po
--- old/devilspie2-0.39/po/pt_BR.po     2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/pt_BR.po     2016-03-28 13:15:21.000000000 +0200
@@ -36,8 +36,8 @@
 
 #: devilspie2.c:215 devilspie2.c:223
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "Lista de arquivos LUA de manipulação de eventos \"%s\" no diretório:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "Lista de arquivos Lua de manipulação de eventos \"%s\" no diretório:"
 
 #: devilspie2.c:289
 msgid "Print debug info to stdout"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/ru.po new/devilspie2-0.40/po/ru.po
--- old/devilspie2-0.39/po/ru.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/ru.po        2016-03-28 13:15:21.000000000 +0200
@@ -35,8 +35,8 @@
 
 #: devilspie2.c:215 devilspie2.c:223
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "Список LUA файлов для \"%s\" событий в директории:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "Список Lua файлов для \"%s\" событий в директории:"
 
 #: devilspie2.c:289
 msgid "Print debug info to stdout"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/po/sv.po new/devilspie2-0.40/po/sv.po
--- old/devilspie2-0.39/po/sv.po        2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/po/sv.po        2016-03-28 13:15:21.000000000 +0200
@@ -8,155 +8,160 @@
 msgstr ""
 "Project-Id-Version: devilspie2 0.26\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2014-04-02 21:21+0200\n"
-"PO-Revision-Date: 2013-02-07 14:17+0100\n"
-"Last-Translator: Andreas Rönnquist <[email protected]>\n"
+"POT-Creation-Date: 2016-03-09 10:23+0100\n"
+"PO-Revision-Date: 2016-03-11 10:09+0100\n"
+"Last-Translator: Andreas Rönnquist <[email protected]>\n"
 "Language-Team: Swedish\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.6.10\n"
 
-#: config.c:188
+#: config.c:184
 msgid "script_folder isn't a folder."
 msgstr "script_folder är inte en folder."
 
-#: config.c:200 script.c:232
+#: config.c:196 script.c:238
 #, c-format
 msgid "Error: %s"
 msgstr "Fel: %s"
 
-#: devilspie2.c:164
+#: devilspie2.c:166
 msgid "Received signal:"
 msgstr "Tog emot signal:"
 
-#: devilspie2.c:208
+#: devilspie2.c:210
 msgid "No script files found in the script folder - exiting."
 msgstr "Inga skript hittades i skript-mappen - avslutar."
 
-#: devilspie2.c:215 devilspie2.c:223
+#: devilspie2.c:217 devilspie2.c:225
 #, c-format
-msgid "List of LUA files handling \"%s\" events in folder:"
-msgstr "Lista på LUA-filer som hanterar \"%s\"-händelser i mappen:"
+msgid "List of Lua files handling \"%s\" events in folder:"
+msgstr "Lista på Lua-filer som hanterar \"%s\"-händelser i mappen:"
 
-#: devilspie2.c:289
+#: devilspie2.c:293
 msgid "Print debug info to stdout"
 msgstr "Skriv ut debug-information till stdout"
 
-#: devilspie2.c:291
+#: devilspie2.c:296
 msgid "Don't apply any rules, only emulate execution"
 msgstr "Applicera inga regler, emulera endast körning"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "Search for scripts in this folder"
 msgstr "Sök efter skript i denna mapp"
 
-#: devilspie2.c:293
+#: devilspie2.c:299
 msgid "FOLDER"
 msgstr "MAPP"
 
-#: devilspie2.c:295
+#: devilspie2.c:302
 msgid "Show Devilspie2 version and quit"
 msgstr "Visa version av Devilspie2 och avsluta"
 
-#: devilspie2.c:300
+#: devilspie2.c:308
 msgid "Show libwnck version and quit"
 msgstr "Visa version av libwnck och avsluta"
 
-#: devilspie2.c:318
+#: devilspie2.c:327
 msgid "apply rules on windows"
 msgstr "applicera regler på fönster"
 
-#: devilspie2.c:325
+#: devilspie2.c:334
 #, c-format
 msgid "option parsing failed: %s"
 msgstr "tolkning av alternativ misslyckades; %s"
 
-#: devilspie2.c:346
+#: devilspie2.c:355
 msgid "Couldn't create the default folder for devilspie2 scripts."
 msgstr "Kunde inte skapa standard-mappen för devilspie2-skript."
 
-#: devilspie2.c:373
+#: devilspie2.c:382
 msgid "An X11 display is required for devilspie2."
 msgstr "En X11-display krävs för att köra devilspie2"
 
-#: devilspie2.c:381
+#: devilspie2.c:390
 msgid "Couldn't init script error messages!"
 msgstr "Kunde inte initiera skript-felmeddelanden!"
 
-#: devilspie2.c:398
+#: devilspie2.c:411
 msgid "Running devilspie2 in debug and emulate mode."
 msgstr "Kör Devilspie2 i debug och emulerings-mode"
 
-#: devilspie2.c:400
+#: devilspie2.c:413
 msgid "Running devilspie2 in debug mode."
 msgstr "Kör Devilspie2 i debug-mode"
 
-#: devilspie2.c:405
+#: devilspie2.c:418
 #, c-format
 msgid "Using scripts from folder: %s"
 msgstr "Använder skript från mappen: %s"
 
-#: devilspie2.c:421
+#: devilspie2.c:434
 msgid "Couldn't create directory monitor!"
 msgstr "Kunde inte skapa folder-monitor!"
 
-#: script_functions.c:732 script_functions.c:778
+#: script_functions.c:709 script_functions.c:755
 #, c-format
 msgid "Workspace number %d does not exist!"
 msgstr "Arbetsyta nummer %d finns inte!"
 
-#: script_functions.c:1673
+#: script_functions.c:1734
 msgid "Could not get workspace"
 msgstr "Kunde inte hämta arbetsytan"
 
-#: xutils.c:183 xutils.c:201 error_strings.c:127
+#: xutils.c:186 xutils.c:204 error_strings.c:136
 msgid "Failed!"
 msgstr "Misslyckades!"
 
-#: error_strings.c:49
+#: error_strings.c:51
 msgid "Couldn't allocate error string!"
 msgstr "Kunde inte allokera felsträng!"
 
-#: error_strings.c:51
+#: error_strings.c:53
 msgid "No indata expected"
 msgstr "Ingen indata väntad"
 
-#: error_strings.c:58
+#: error_strings.c:60
 msgid "One indata expected"
 msgstr "En indata väntad"
 
-#: error_strings.c:65
+#: error_strings.c:67
 msgid "Two indata expected"
 msgstr "Två indata väntade"
 
-#: error_strings.c:72
+#: error_strings.c:74
 msgid "Four indata expected"
 msgstr "Fyra indata väntade"
 
-#: error_strings.c:80
+#: error_strings.c:81
+msgid "One or two indata expected"
+msgstr "En eller två indata väntat"
+
+#: error_strings.c:89
 msgid "Number expected as indata"
 msgstr "Nummer väntat som indata"
 
-#: error_strings.c:88
+#: error_strings.c:97
 msgid "Boolean expected as indata"
 msgstr "Boolskt värde väntat som indata"
 
-#: error_strings.c:96
+#: error_strings.c:105
 msgid "String expected as indata"
 msgstr "Sträng väntad som indata"
 
-#: error_strings.c:104
+#: error_strings.c:113
 msgid "Integer greater than zero expected"
 msgstr "Heltal större än noll väntat"
 
-#: error_strings.c:112
+#: error_strings.c:121
 msgid "Could not find current viewport"
 msgstr "Kunde inte hitta aktuell visningsyta"
 
-#: error_strings.c:120
+#: error_strings.c:129
 msgid "Setting viewport failed"
 msgstr "Kunde inte sätta visningsyta"
 
-#~ msgid "List of LUA files handling \"window open\" events in folder:"
-#~ msgstr "Lista på LUA-filer som hanterar \"window open\"-händelser i mappen:"
+#~ msgid "List of Lua files handling \"window open\" events in folder:"
+#~ msgstr "Lista på Lua-filer som hanterar \"window open\"-händelser i mappen:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/devilspie2.c new/devilspie2-0.40/src/devilspie2.c
--- old/devilspie2-0.39/src/devilspie2.c        2015-05-11 16:36:12.000000000 
+0200
+++ new/devilspie2-0.40/src/devilspie2.c        2016-03-28 13:15:21.000000000 
+0200
@@ -81,7 +81,7 @@
                while(temp_file_list) {
                        gchar *filename = (gchar*)temp_file_list->data;
 
-                       // is it a LUA file?
+                       // is it a Lua file?
                        if (g_str_has_suffix((gchar*)filename, ".lua")) {
 
                                // init the script, run it
@@ -214,7 +214,7 @@
 
        // If we are running debug mode - print the list of files:
        if (debug) {
-               printf(_("List of LUA files handling \"%s\" events in folder:"),
+               printf(_("List of Lua files handling \"%s\" events in folder:"),
                       "window_open");
                printf("\n");
                if (file_window_open_list)
@@ -222,7 +222,7 @@
        }
 
        if (debug) {
-               printf(_("List of LUA files handling \"%s\" events in folder:"),
+               printf(_("List of Lua files handling \"%s\" events in folder:"),
                       "window_close");
                printf("\n");
                if (file_window_close_list)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/error_strings.c new/devilspie2-0.40/src/error_strings.c
--- old/devilspie2-0.39/src/error_strings.c     2015-05-11 16:36:12.000000000 
+0200
+++ new/devilspie2-0.40/src/error_strings.c     2016-03-28 13:15:21.000000000 
+0200
@@ -29,6 +29,8 @@
 gchar *two_indata_expected_error = NULL;
 gchar *four_indata_expected_error = NULL;
 
+gchar *one_or_two_indata_expected_error = NULL;
+
 gchar *number_expected_as_indata_error = NULL;
 gchar *boolean_expected_as_indata_error = NULL;
 
@@ -76,6 +78,13 @@
                return -1;
        }
 
+       one_or_two_indata_expected_error = g_strdup_printf(_("One or two indata 
expected"));
+       if (!one_or_two_indata_expected_error) {
+               printf("%s", ALLOCATE_ERROR_STRING);
+               printf("\n");
+               return -1;
+       }
+
        number_expected_as_indata_error=
            g_strdup_printf(_("Number expected as indata"));
        if (!number_expected_as_indata_error) {
@@ -145,6 +154,8 @@
        g_free(two_indata_expected_error);
        g_free(four_indata_expected_error);
 
+       g_free(one_or_two_indata_expected_error);
+
        g_free(number_expected_as_indata_error);
        g_free(boolean_expected_as_indata_error);
        g_free(string_expected_as_indata_error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/error_strings.h new/devilspie2-0.40/src/error_strings.h
--- old/devilspie2-0.39/src/error_strings.h     2015-05-11 16:36:12.000000000 
+0200
+++ new/devilspie2-0.40/src/error_strings.h     2016-03-28 13:15:21.000000000 
+0200
@@ -27,6 +27,8 @@
 extern gchar *two_indata_expected_error;
 extern gchar *four_indata_expected_error;
 
+extern gchar *one_or_two_indata_expected_error;
+
 extern gchar *number_expected_as_indata_error;
 extern gchar *boolean_expected_as_indata_error;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/script.c new/devilspie2-0.40/src/script.c
--- old/devilspie2-0.39/src/script.c    2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/src/script.c    2016-03-28 13:15:21.000000000 +0200
@@ -178,6 +178,7 @@
        lua_register(lua, "xy", c_xy);
        lua_register(lua, "xywh", c_xywh);
 
+       lua_register(lua, "on_geometry_changed", c_on_geometry_changed);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/script_functions.c 
new/devilspie2-0.40/src/script_functions.c
--- old/devilspie2-0.39/src/script_functions.c  2015-05-11 16:36:12.000000000 
+0200
+++ new/devilspie2-0.40/src/script_functions.c  2016-03-28 13:15:21.000000000 
+0200
@@ -981,7 +981,7 @@
 
 
 /**
- * return the geometry of the current window to the LUA script
+ * return the geometry of the current window to the Lua script
  */
 int c_get_window_geometry(lua_State *lua)
 {
@@ -1010,7 +1010,7 @@
 
 
 /**
- * return the client geometry of the current window to the LUA script
+ * return the client geometry of the current window to the Lua script
  * this is excluding the window manager frame
  */
 int c_get_client_window_geometry(lua_State *lua)
@@ -1578,63 +1578,121 @@
 int c_set_viewport(lua_State *lua)
 {
        int top = lua_gettop(lua);
-       WnckScreen *screen;
-       int x,y,width,height, viewport_start;
+       int width, height;
+       int viewport_start_x, viewport_start_y;
+       int win_x, win_y;
+       
+       if (top == 1) {
 
-       if (top != 1) {
-               luaL_error(lua, "set_viewport: %s", one_indata_expected_error);
-               return 0;
-       }
+               WnckScreen *screen;
+               int x;
+               int type = lua_type(lua, 1);
+               if (type != LUA_TNUMBER) {
+                       luaL_error(lua, "set_viewport: %s", 
number_expected_as_indata_error);
+                       return 0;
+               }
 
-       int type = lua_type(lua, 1);
-       if (type != LUA_TNUMBER) {
-               luaL_error(lua, "set_viewport: %s", 
number_expected_as_indata_error);
-               return 0;
-       }
+               int num = lua_tonumber(lua,1);
 
-       int num = lua_tonumber(lua,1);
+               if (num <= 0) {
+                       g_error("set_viewport: %s", 
integer_greater_than_zero_expected_error);
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
 
-       if (num <= 0) {
-               g_error("set_viewport: %s", 
integer_greater_than_zero_expected_error);
-               lua_pushboolean(lua, FALSE);
-               return 1;
-       }
+               WnckWindow *window = get_current_window();
 
-       WnckWindow *window = get_current_window();
+               if (!window) {
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
 
-       if (!window) {
-               lua_pushboolean(lua, FALSE);
-               return 1;
-       }
+               screen = wnck_window_get_screen(window);
 
-       screen = wnck_window_get_screen(window);
+               wnck_window_get_geometry(window, &win_x, &win_y, &width, 
&height);
 
-       wnck_window_get_geometry(window, &x, &y, &width, &height);
+               gulong xid = wnck_window_get_xid(window);
 
-       gulong xid = wnck_window_get_xid(window);
+               //viewport_start = devilspie2_get_viewport_start(xid);
+               if (devilspie2_get_viewport_start(xid, &viewport_start_x, 
&viewport_start_y) != 0) {
+                       g_printerr("set_viewport: %s", 
could_not_find_current_viewport_error);
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
 
-       viewport_start = devilspie2_get_viewport_start(xid);
-       if (viewport_start < 0) {
-               g_printerr("set_viewport: %s", 
could_not_find_current_viewport_error);
-               lua_pushboolean(lua, FALSE);
+               x = ((num - 1) * wnck_screen_get_width(screen)) - 
viewport_start_x + win_x;
+               
+               devilspie2_error_trap_push();
+               XMoveResizeWindow(gdk_x11_get_default_xdisplay(),
+                                                               
wnck_window_get_xid(window),
+                                                               x, win_y, 
width, height);
+
+               if (devilspie2_error_trap_pop()) {
+                       g_printerr("set_viewport: %s", 
setting_viewport_failed_error);
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
+
+               lua_pushboolean(lua, TRUE);
                return 1;
-       }
 
-       x=((num-1) * wnck_screen_get_width(screen)) - viewport_start + x;
+       } else if (top == 2) {
+               
+               int type1 = lua_type(lua, 1);
+               int type2 = lua_type(lua, 2);
 
-       devilspie2_error_trap_push();
-       XMoveResizeWindow(gdk_x11_get_default_xdisplay(),
-                         wnck_window_get_xid(window),
-                         x, y, width, height);
+               if (type1 != LUA_TNUMBER) {
+                       luaL_error(lua, "set_viewport: %s", 
number_expected_as_indata_error);
+                       return 0;
+               }
 
-       if (devilspie2_error_trap_pop()) {
-               g_printerr("set_viewport: %s", setting_viewport_failed_error);
-               lua_pushboolean(lua, FALSE);
+               if (type2 != LUA_TNUMBER) {
+                       luaL_error(lua, "set_viewport: %s", 
number_expected_as_indata_error);
+                       return 0;
+               }
+
+               int new_xpos = lua_tonumber(lua, 1);
+               int new_ypos = lua_tonumber(lua, 2);
+
+               WnckWindow *window = get_current_window();
+
+               if (!window) {
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
+
+               wnck_window_get_geometry(window, &win_x, &win_y, &width, 
&height);
+
+               gulong xid = wnck_window_get_xid(window);
+
+               //viewport_start = devilspie2_get_viewport_start(xid);
+               if (devilspie2_get_viewport_start(xid, &viewport_start_x, 
&viewport_start_y) != 0) {
+                       g_printerr("set_viewport: %s", 
could_not_find_current_viewport_error);
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
+               
+               devilspie2_error_trap_push();
+               XMoveResizeWindow(gdk_x11_get_default_xdisplay(),
+                                                               
wnck_window_get_xid(window),
+                                                               new_xpos, 
new_ypos, width, height);
+
+               if (devilspie2_error_trap_pop()) {
+                       g_printerr("set_viewport: %s", 
setting_viewport_failed_error);
+                       lua_pushboolean(lua, FALSE);
+                       return 1;
+               }
+
+               lua_pushboolean(lua, TRUE);
                return 1;
+               
+       
+       } else {
+               luaL_error(lua, "set_viewport: %s", 
one_or_two_indata_expected_error);
+               return 0;
        }
-
-       lua_pushboolean(lua, TRUE);
-       return 1;
+       
+       return 0;
 }
 
 
@@ -1765,7 +1823,7 @@
 
 
 /**
- * return the geometry of the screen  to the LUA script
+ * return the geometry of the screen  to the Lua script
  */
 int c_get_screen_geometry(lua_State *lua)
 {
@@ -1977,6 +2035,59 @@
        }
 
        return 0;
+}
+
+struct lua_callback {
+       lua_State *lua;
+       int ref;
+};
+
+static void on_geometry_changed(WnckWindow *window, struct lua_callback 
*callback)
+{
+       if (callback == NULL)
+               return;
+
+       WnckWindow *old_window = get_current_window();
+       set_current_window(window);
+
+       lua_rawgeti(callback->lua, LUA_REGISTRYINDEX, callback->ref);
+       lua_pcall(callback->lua, 0, 0, 0);
+
+       set_current_window(old_window);
+}
+
+static void on_geometry_changed_disconnect(gpointer data, GClosure *closure)
+{
+       g_free(data);
+}
+
+/**
+ *
+ */
+int c_on_geometry_changed(lua_State *lua)
+{
+       int top = lua_gettop(lua);
+       if (top != 1) {
+               luaL_error(lua, "on_geometry_changed: %s", 
one_indata_expected_error);
+               return 0;
+       }
+
+       if (lua_type(lua, 1) != LUA_TFUNCTION) {
+               luaL_error(lua, "on_geometry_changed: %s", "function expected");
+               return 0;
+       }
+
+       struct lua_callback *cb = g_malloc(sizeof(struct lua_callback));
+       cb->lua = lua;
+       cb->ref = luaL_ref(lua, LUA_REGISTRYINDEX);
+
+       WnckWindow *window = get_current_window();
+
+       if (window) {
+               g_signal_connect_data(window, "geometry-changed", 
G_CALLBACK(on_geometry_changed), (gpointer)cb, 
(GClosureNotify)(on_geometry_changed_disconnect), 0);
+       }
+
+       return 0;
 }
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/script_functions.h 
new/devilspie2-0.40/src/script_functions.h
--- old/devilspie2-0.39/src/script_functions.h  2015-05-11 16:36:12.000000000 
+0200
+++ new/devilspie2-0.40/src/script_functions.h  2016-03-28 13:15:21.000000000 
+0200
@@ -118,4 +118,6 @@
 int c_xy(lua_State *lua);
 int c_xywh(lua_State *lua);
 
+int c_on_geometry_changed(lua_State *lua);
+
 #endif /*__HEADER_SCRIPT_FUNCTIONS_*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/xutils.c new/devilspie2-0.40/src/xutils.c
--- old/devilspie2-0.39/src/xutils.c    2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/src/xutils.c    2016-03-28 13:15:21.000000000 +0200
@@ -252,8 +252,7 @@
 
        if (type == XA_STRING) {
                retval = g_strdup ((char*)property);
-       }
-       else if (type == XA_ATOM && nitems > 0 && format == 32) {
+       } else if (type == XA_ATOM && nitems > 0 && format == 32) {
                long *pp;
 
                pp = (long *)property; // we can assume (long *) since format 
== 32
@@ -292,6 +291,10 @@
                        retval = g_strdup_printf("%c", *(unsigned 
char*)property);
                        break;
                }
+       } else if (type == XA_WINDOW && nitems == 1) {
+               /* unsinged long is the same format used for XID by libwnck:
+                  
https://git.gnome.org/browse/libwnck/tree/libwnck/window.c?h=3.14.0#n763 */
+               retval = g_strdup_printf("%lu", (gulong) *(Window *)property);
        }
 
        XFree (property);
@@ -346,9 +349,10 @@
 
 
 /**
- *
+ *     Get viewport start coordinates to the x and y integers,
+ * returns 0 on success and non-zero on error.
  */
-int devilspie2_get_viewport_start(Window xid)
+int devilspie2_get_viewport_start(Window xid, int *x, int *y)
 {
        gulong *list;
        int len;
@@ -360,7 +364,12 @@
                                  my_wnck_atom_get("_NET_DESKTOP_VIEWPORT"),
                                  &list, &len);
 
-       if (len > 0) result = list[0];
+       if (len > 0) {
+               *x = list[0];
+               *y = list[1];
+
+               result = 0;
+       }
 
        g_free(list);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/devilspie2-0.39/src/xutils.h new/devilspie2-0.40/src/xutils.h
--- old/devilspie2-0.39/src/xutils.h    2015-05-11 16:36:12.000000000 +0200
+++ new/devilspie2-0.40/src/xutils.h    2016-03-28 13:15:21.000000000 +0200
@@ -46,7 +46,7 @@
                                    gulong **cardinals,
                                    int *len);
 
-int devilspie2_get_viewport_start(Window xwindow);
+int devilspie2_get_viewport_start(Window xwindow, int *x, int *y);
 
 void my_window_set_window_type(Window xid, gchar *window_type);
 void my_window_set_opacity(Window xid, double value);


Reply via email to