]> git.decadent.org.uk Git - ion3.git/commitdiff
[svn-upgrade] Integrating new upstream version, ion3 (20070708) 20070708
authorBen Hutchings <ben@decadent.org.uk>
Sun, 8 Jul 2007 23:09:50 +0000 (23:09 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 8 Jul 2007 23:09:50 +0000 (23:09 +0000)
40 files changed:
ChangeLog
RELNOTES
TODO.riot
doc/ChangeLog
doc/exact-version
doc/ionconf.dvi.gz
doc/ionconf.ps.gz
doc/ionconf.tex
doc/ionconf/images.log
doc/ionconf/images.tex
doc/ionconf/index.html
doc/ionconf/ionconf.html
doc/ionconf/node11.html
doc/ionconf/node13.html
doc/ionconf/node7.html
doc/ionnotes.dvi.gz
doc/ionnotes.ps.gz
doc/ionnotes/node9.html
etc/cfg_ioncore.lua
exact-version
ioncore/frame.c
ioncore/group-cw.c
ioncore/group.c
ioncore/group.h
ioncore/ioncore.c
ioncore/ioncore_misc.lua
ioncore/property.c
ioncore/selection.c
libmainloop/Makefile
libmainloop/signal.c
libtu/exact-version
libtu/locale.h
libtu/private.h
libtu/util.c
man/ion3.in
mod_sp/main.c
po/cs.po
po/fi.po
system.mk
version.h

index 0bbfa9c1c3e55a65c7966d1e231afe6a713de38a..84001f6e1c7ed12a3c5093a94559417a1aec6403 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,67 @@
+2007-07-08 09:36 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-3rc-20070708
+
+2007-07-08 09:36 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Release notes
+
+2007-07-08 09:29 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * WGroupCW no signals name change on bottom change
+
+2007-07-08 09:21 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Group bottom setting code improvements
+
+2007-07-07 20:48 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * tagged_attach improvements
+
+2007-07-03 09:02 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixes to Finnish translation
+
+2007-07-03 09:00 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * The->This
+
+2007-07-02 18:30 UTC  Miroslav Kure <kurem@debian.cz>
+  * Updated Czech translation
+
+2007-07-01 17:32 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updated Finnish translation
+
+2007-07-01 10:20 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Removed 'done' entries from TODO.riot
+
+2007-07-01 10:18 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * _SOURCE option tuning
+
+2007-07-01 10:07 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed frame_managed_disposeroot empty check
+
+2007-06-21 21:52 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Bindings clearing all tags weren't up-to-date
+
+2007-06-20 21:23 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * More tuning for moronic systems
+
+2007-06-20 20:25 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * CF_NO_GETTEXT
+
+2007-06-20 11:16 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Check for clock_gettime(CLOCK_MONOTONIC) failure.
+  Apparently _POSIX_MONOTONIC_CLOCK can't be trusted.
+
+2007-06-18 07:43 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Minor man page fix
+
+2007-06-16 20:21 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Removed cutbuffer support
+
+2007-06-16 20:19 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Some property setting code fixes/improvements
+
+2007-06-13 15:27 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Fixed mod_sp.set_shown_on return value
+
+2007-06-08 18:40 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Updated license notice in --about
+
 2007-06-08 16:55 UTC  Tuomo Valkonen <tuomov@iki.fi>
   tagged ion-3rc-20070608
 
 2007-06-08 16:55 UTC  Tuomo Valkonen <tuomov@iki.fi>
   tagged ion-3rc-20070608
 
index 842c6b634b0af00cc71c0ced009abb3839fe9d4e..468a6c4cf72c0cf6fd775409feec533e4940f0be 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,4 +1,11 @@
 
 
+ion-3rc-20070708
+----------------
+
+This third "rc" release again simply fixes some minor problems in 
+the previous release.
+
+
 ion-3rc-20070608
 ----------------
 
 ion-3rc-20070608
 ----------------
 
index 162a268ee2644ca03abc7022d6d012c3b75b3d7f..96116b19d425683ef81f38f98551018f94dc1a5e 100644 (file)
--- a/TODO.riot
+++ b/TODO.riot
@@ -525,222 +525,3 @@ In-Reply-To: <riot.20060323173317.5@riot.invalid>
 
 How about pane handles on all splits?
 
 
 How about pane handles on all splits?
 
-From background-static Thu Mar 23 17:32:44 EET 2006
-Message-Id: <riot.20060323173244.4@riot.invalid>
-Date: Thu Mar 23 17:32:44 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:32:44 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Done
-
-Done
-
-From background-static Thu Mar 23 17:52:17 EET 2006
-Message-Id: <riot.20060323175217.6@riot.invalid>
-Date: Thu Mar 23 17:52:17 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Sat Apr 22 19:08:23 EEST 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Numbered tabs
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Numbered tabs
-
-Either togglable, or perhaps the numbers should be shown when
-a prefix of the key combo to switch tabs has been entered.
-The latter will be quite more complicated to implement.
-
-Done: basic toggleable numbering.
-
-From background-static Thu Mar 23 17:40:03 EET 2006
-Message-Id: <riot.20060323174003.7@riot.invalid>
-Date: Thu Mar 23 17:40:03 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:40:03 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: A general solution to transients, queries and menus in tiny frames.
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-A general solution to transients, queries and menus in tiny frames.
-
-From background-static Thu Mar 23 17:53:19 EET 2006
-Message-Id: <riot.20060323175319.7@riot.invalid>
-Date: Thu Mar 23 17:53:19 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:53:19 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Query activation key cycles completions
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Query activation key cycles completions
-
-Maybe it should be possible to use a key activating a query to cycle
-the completions within the query, a bit like grabmenu.
-
-From background-static Thu Mar 23 18:13:35 EET 2006
-Message-Id: <riot.20060323181335.42@riot.invalid>
-Date: Thu Mar 23 18:13:35 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 18:13:35 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Perhaps the functionality of detach.lua could be implemented
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Perhaps the functionality of detach.lua could be implemented
-in a better and more integrated manner. (This could be related
-to the problem of transients etc. in tiny frames in the actual
-TODO list.)
-
-From background-static Thu Mar 23 18:03:17 EET 2006
-Message-Id: <riot.20060323180317.24@riot.invalid>
-Date: Thu Mar 23 18:03:17 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 18:03:17 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: -lintl check
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
--lintl check
-
-From background-static Thu Mar 23 17:32:26 EET 2006
-Message-Id: <riot.20060323173226.3@riot.invalid>
-Date: Thu Mar 23 17:32:26 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:32:26 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Documentation doesn't build ATM.
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Documentation doesn't build ATM.
-
-It should be changed to build, or converted to some yet non-existent
-latex replacement that doesn't have all the problems of latex.
-
-From background-static Thu Mar 23 17:57:15 EET 2006
-Message-Id: <riot.20060323175715.12@riot.invalid>
-Date: Thu Mar 23 17:57:15 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:57:15 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: It should be possible to re-attach regions within same manager
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-It should be possible to re-attach regions within same manager 
-at a new location. (Not really that important, though, but 
-it's ugly that it has to be forbidden ATM.)
-
-From background-static Thu Mar 23 18:03:33 EET 2006
-Message-Id: <riot.20060323180333.26@riot.invalid>
-Date: Thu Mar 23 18:03:33 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 18:03:33 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: What else is broken (besides ac itself)?
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-What else is broken (besides ac itself)?
-
-From background-static Thu Mar 23 18:03:25 EET 2006
-Message-Id: <riot.20060323180325.25@riot.invalid>
-Date: Thu Mar 23 18:03:25 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 18:03:25 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: xmessage check?
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-xmessage check?
-
-From background-static Thu Mar 23 17:37:02 EET 2006
-Message-Id: <riot.20060323173702.3@riot.invalid>
-Date: Thu Mar 23 17:37:02 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:37:02 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Transition to Lua 5.1
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Transition to Lua 5.1
-
-From background-static Thu Mar 23 17:58:26 EET 2006
-Message-Id: <riot.20060323175826.14@riot.invalid>
-Date: Thu Mar 23 17:58:26 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:58:33 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: A version of ioncore.warn() that doesn't dump stack trace
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-A version of ioncore.warn() that doesn't dump stack trace
-should be available for Lua-side Ion code.
-
-From background-static Thu Mar 23 17:54:55 EET 2006
-Message-Id: <riot.20060323175455.10@riot.invalid>
-Date: Thu Mar 23 17:54:55 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:55:31 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Framed transients should be better
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Framed transients should be better
-
-It's not really nice that the transient blocks tab-switching bindings
-for the containing frame and so on.
-
-From background-static Thu Mar 23 17:38:29 EET 2006
-Message-Id: <riot.20060323173829.4@riot.invalid>
-Date: Thu Mar 23 17:38:29 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:38:29 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: goto_notification_target
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-goto_notification_target
-
-It should be possible to go to a region with activity flag set in
-the order of the flags being set by hitting a key.
-
-From background-static Thu Mar 23 17:47:26 EET 2006
-Message-Id: <riot.20060323174726.1@riot.invalid>
-Date: Thu Mar 23 17:47:26 EET 2006
-Status: RO
-X-Riot-Version: 1ds-yyyymmdd
-From: Riot
-X-Riot-Edited: Thu Mar 23 17:47:26 EET 2006
-Content-Type: text/plain; charset=utf-8
-Subject: Should separate stacking code from mod_floatws
-In-Reply-To: <riot.20060323173244.4@riot.invalid>
-
-Should separate stacking code from mod_floatws 
-into a separate independent source file ("module").
-
index 221c8d8f18455440d560ce9f8d23279863e70b8f..8f8ab9985cc6a04ce683ef992913ac2a37d6b4a1 100644 (file)
@@ -1,3 +1,6 @@
+2007-07-08 09:38 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-doc-3rc-20070708
+
 2007-06-08 16:58 UTC  Tuomo Valkonen <tuomov@iki.fi>
   tagged ion-doc-3rc-20070608
 
 2007-06-08 16:58 UTC  Tuomo Valkonen <tuomov@iki.fi>
   tagged ion-doc-3rc-20070608
 
index 1cad080d56a205571ab8ec6af65510d632ff1e28..82d722203373bca923a46623e3db59fddc250096 100644 (file)
@@ -1,5 +1,5 @@
 
 Context:
 
 
 Context:
 
-[TAG ion-doc-3rc-20070608
-Tuomo Valkonen <tuomov@iki.fi>**20070608165851
+[TAG ion-doc-3rc-20070708
+Tuomo Valkonen <tuomov@iki.fi>**20070708093830
index 9443df705fbd7b9f695a3c44bad5bd0441fdb6e8..0df24caba69ffa1e9a544a38a3fefa4514c6eb5f 100644 (file)
Binary files a/doc/ionconf.dvi.gz and b/doc/ionconf.dvi.gz differ
index 0bd7cfbf327da54fc5551168c4c8ca7cbd707b7b..514517fd0e57c5b2111db64aa556f28e685d51ba 100644 (file)
Binary files a/doc/ionconf.ps.gz and b/doc/ionconf.ps.gz differ
index 30fb07a90e8686acda05ba4f849823083dba4681..a71ba17ff76ee9fbe821b217b12daf2018e2f5c8 100644 (file)
@@ -10,7 +10,7 @@
 
 \title{Configuring and extending Ion3 with Lua}
 \author{Tuomo Valkonen \\ tuomov at iki.fi}
 
 \title{Configuring and extending Ion3 with Lua}
 \author{Tuomo Valkonen \\ tuomov at iki.fi}
-\date{2007-06-08}
+\date{2007-07-08}
 
 \makeindex
 
 
 \makeindex
 
index e931a23c35b29b66a3284341962114d465f66789..9d415fb77f93137d2bb6bb3a33320cc095e89ef4 100644 (file)
@@ -1,4 +1,4 @@
-This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=latex 2007.4.8)  8 JUN 2007 20:00
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=latex 2007.4.8)  8 JUL 2007 12:40
 entering extended mode
 **./images.tex
 (./images.tex
 entering extended mode
 **./images.tex
 (./images.tex
@@ -369,17 +369,17 @@ l2hSize :tex2html_wrap_inline2241:8.7125pt::8.7125pt::23.6642pt.
 
 
 ]
 
 
 ]
-l2hSize :tex2html_wrap_inline5512:7.5626pt::7.5626pt::14.53923pt.
+l2hSize :tex2html_wrap_inline5516:7.5626pt::7.5626pt::14.53923pt.
 [4
 
 
 ]
 [4
 
 
 ]
-l2hSize :tex2html_wrap_inline5514:7.5626pt::7.5626pt::14.53923pt.
+l2hSize :tex2html_wrap_inline5518:7.5626pt::7.5626pt::14.53923pt.
 [5
 
 
 ]
 [5
 
 
 ]
-l2hSize :tex2html_wrap_inline7764:8.7125pt::8.7125pt::86.9574pt.
+l2hSize :tex2html_wrap_inline7768:8.7125pt::8.7125pt::86.9574pt.
 [6
 
 
 [6
 
 
@@ -387,7 +387,7 @@ l2hSize :tex2html_wrap_inline7764:8.7125pt::8.7125pt::86.9574pt.
 Here is how much of TeX's memory you used:
  4467 strings out of 94501
  63452 string characters out of 1175795
 Here is how much of TeX's memory you used:
  4467 strings out of 94501
  63452 string characters out of 1175795
- 123527 words of memory out of 1000000
+ 123528 words of memory out of 1000000
  7611 multiletter control sequences out of 10000+50000
  7874 words of font info for 24 fonts, out of 500000 for 2000
  580 hyphenation exceptions out of 8191
  7611 multiletter control sequences out of 10000+50000
  7874 words of font info for 24 fonts, out of 500000 for 2000
  580 hyphenation exceptions out of 8191
index 4906f84ab0ddc59926a85450c0ec636fe941d4d9..75709b4c8c3d5e932731e10910945a9961dc4a46 100644 (file)
@@ -82,7 +82,7 @@
 
 \title{Configuring and extending Ion3 with Lua}
 \author{Tuomo Valkonen \\tuomov at iki.fi}
 
 \title{Configuring and extending Ion3 with Lua}
 \author{Tuomo Valkonen \\tuomov at iki.fi}
-\date{2007-06-08}
+\date{2007-07-08}
 
 
 \makeindex
 
 
 \makeindex
@@ -325,13 +325,13 @@ $(0, 1]$%
 \stepcounter{subsection}
 \stepcounter{subsection}
 {\newpage\clearpage
 \stepcounter{subsection}
 \stepcounter{subsection}
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline5512}%
+\lthtmlinlinemathA{tex2html_wrap_inline5516}%
 $-1$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
 
 {\newpage\clearpage
 $-1$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
 
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline5514}%
+\lthtmlinlinemathA{tex2html_wrap_inline5518}%
 $-2$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
 $-2$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
@@ -361,7 +361,7 @@ $-2$%
 \stepcounter{section}
 \stepcounter{subsection}
 {\newpage\clearpage
 \stepcounter{section}
 \stepcounter{subsection}
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline7764}%
+\lthtmlinlinemathA{tex2html_wrap_inline7768}%
 $\{t,m,b\}\times\{t,c,b\}$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
 $\{t,m,b\}\times\{t,c,b\}$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
index 7bc2dead8f7bf9aa20554a90c1ec325207c951e8..7f97e0ff352d63babc3b9bbc4ad308712a3785cb 100644 (file)
@@ -57,7 +57,7 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 
 <P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
 <P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
 
 <P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
 <P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
-<P ALIGN="CENTER"><STRONG>2007-06-08</STRONG></P>
+<P ALIGN="CENTER"><STRONG>2007-07-08</STRONG></P>
 </DIV>
 
 <P>
 </DIV>
 
 <P>
index 7bc2dead8f7bf9aa20554a90c1ec325207c951e8..7f97e0ff352d63babc3b9bbc4ad308712a3785cb 100644 (file)
@@ -57,7 +57,7 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 
 <P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
 <P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
 
 <P ALIGN="CENTER"><STRONG>Tuomo Valkonen</STRONG></P>
 <P ALIGN="CENTER"><I>tuomov at iki.fi</I></P>
-<P ALIGN="CENTER"><STRONG>2007-06-08</STRONG></P>
+<P ALIGN="CENTER"><STRONG>2007-07-08</STRONG></P>
 </DIV>
 
 <P>
 </DIV>
 
 <P>
index e81317d4b52bcceb6824b638ffcff07923e29d27..d529fb6225d06a681972718168ace836cf7cdf75 100644 (file)
@@ -72,13 +72,13 @@ Index</A>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1473"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>clientwin_do_manage_alt</TT></STRONG>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1473"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>clientwin_do_manage_alt</TT></STRONG>
- : <A HREF="node7.html#8242"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8246"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>clientwin_mapped_hook</TT></STRONG>
 <DD><STRONG><TT>clientwin_mapped_hook</TT></STRONG>
- : <A HREF="node7.html#8243"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8247"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>clientwin_property_change_hook</TT></STRONG>
 <DD><STRONG><TT>clientwin_property_change_hook</TT></STRONG>
- : <A HREF="node7.html#8244"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8248"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>clientwin_unmapped_hook</TT></STRONG>
 <DD><STRONG><TT>clientwin_unmapped_hook</TT></STRONG>
- : <A HREF="node7.html#8245"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8249"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><SPAN  CLASS="textbf">Control</SPAN></STRONG>
  : <A HREF="node4.html#879"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>defmenu</TT></STRONG>
 <DD><STRONG><SPAN  CLASS="textbf">Control</SPAN></STRONG>
  : <A HREF="node4.html#879"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>defmenu</TT></STRONG>
@@ -90,7 +90,7 @@ Index</A>
 <DD><STRONG><TT>float</TT></STRONG>
  : <A HREF="node4.html#1452"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>frame_managed_changed_hook</TT></STRONG>
 <DD><STRONG><TT>float</TT></STRONG>
  : <A HREF="node4.html#1452"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>frame_managed_changed_hook</TT></STRONG>
- : <A HREF="node7.html#8246"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8250"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>fullscreen</TT></STRONG>
  : <A HREF="node4.html#1453"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>ignore_resizeinc</TT></STRONG>
 <DD><STRONG><TT>fullscreen</TT></STRONG>
  : <A HREF="node4.html#1453"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>ignore_resizeinc</TT></STRONG>
@@ -108,15 +108,15 @@ Index</A>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1475"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>ioncore_deinit_hook</TT></STRONG>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1475"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>ioncore_deinit_hook</TT></STRONG>
- : <A HREF="node7.html#8248"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8252"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>ioncore_post_layout_setup_hook</TT></STRONG>
 <DD><STRONG><TT>ioncore_post_layout_setup_hook</TT></STRONG>
- : <A HREF="node7.html#8249"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8253"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>ioncore_sigchld_hook</TT></STRONG>
 <DD><STRONG><TT>ioncore_sigchld_hook</TT></STRONG>
- : <A HREF="node7.html#8247"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8251"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>ioncore_snapshot_hook</TT></STRONG>
 <DD><STRONG><TT>ioncore_snapshot_hook</TT></STRONG>
- : <A HREF="node7.html#8250"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8254"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>ioncore_submap_ungrab_hook</TT></STRONG>
 <DD><STRONG><TT>ioncore_submap_ungrab_hook</TT></STRONG>
- : <A HREF="node7.html#8251"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8255"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>is_dockapp</TT></STRONG><DL>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1478"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>is_dockapp</TT></STRONG><DL>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1478"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
@@ -157,9 +157,9 @@ Index</A>
 <DD><STRONG><TT>PREFIX</TT></STRONG>
  : <A HREF="node4.html#582"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
 <DD><STRONG><TT>region_do_warp_alt</TT></STRONG>
 <DD><STRONG><TT>PREFIX</TT></STRONG>
  : <A HREF="node4.html#582"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
 <DD><STRONG><TT>region_do_warp_alt</TT></STRONG>
- : <A HREF="node7.html#8253"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8257"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>region_notify_hook</TT></STRONG>
 <DD><STRONG><TT>region_notify_hook</TT></STRONG>
- : <A HREF="node7.html#8255"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8259"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><TT>role</TT></STRONG><DL>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1474"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
 <DD><STRONG><TT>role</TT></STRONG><DL>
 <DD><STRONG>winprop</STRONG> : <A HREF="node4.html#1474"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">2</SPAN></A>
 </DL>
@@ -170,7 +170,7 @@ Index</A>
 <DD><STRONG>X</STRONG> : <A HREF="node3.html#332"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
 </DL>
 <DD><STRONG><TT>screen_managed_changed_hook</TT></STRONG>
 <DD><STRONG>X</STRONG> : <A HREF="node3.html#332"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN></A>
 </DL>
 <DD><STRONG><TT>screen_managed_changed_hook</TT></STRONG>
- : <A HREF="node7.html#8254"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8258"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG><SPAN  CLASS="textbf">ScrollLock</SPAN></STRONG>
  : <A HREF="node4.html#886"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><SPAN  CLASS="textbf">Shift</SPAN></STRONG>
 <DD><STRONG><SPAN  CLASS="textbf">ScrollLock</SPAN></STRONG>
  : <A HREF="node4.html#886"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><SPAN  CLASS="textbf">Shift</SPAN></STRONG>
@@ -190,7 +190,7 @@ Index</A>
 <DD><STRONG><TT>target</TT></STRONG>
  : <A HREF="node4.html#1461"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>tiling_placement_alt</TT></STRONG>
 <DD><STRONG><TT>target</TT></STRONG>
  : <A HREF="node4.html#1461"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN></A>
 <DD><STRONG><TT>tiling_placement_alt</TT></STRONG>
- : <A HREF="node7.html#8252"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
+ : <A HREF="node7.html#8256"><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">9</SPAN></A>
 <DD><STRONG>transient</STRONG>
  : <A HREF="node4.html#1432"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
 <DD><STRONG><TT>transient_mode</TT></STRONG>
 <DD><STRONG>transient</STRONG>
  : <A HREF="node4.html#1432"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN>.<SPAN CLASS="arabic">3</SPAN></A>
 <DD><STRONG><TT>transient_mode</TT></STRONG>
index 4ad52180b1cd355b38e2b90e222d313946772fad..dd529eb003aaa153ee96435f54cc6cdf6c40b436 100644 (file)
@@ -70,7 +70,7 @@ Mathematics Department, Macquarie University, Sydney.
 The command line arguments were: <BR>
  <STRONG>latex2html</STRONG> <TT>-show_section_numbers -short_index -local_icons -noaddress -up_url http://iki.fi/tuomov/ion/ -up_title 'Ion homepage' -nofootnode -split 3 ionconf</TT>
 <P>
 The command line arguments were: <BR>
  <STRONG>latex2html</STRONG> <TT>-show_section_numbers -short_index -local_icons -noaddress -up_url http://iki.fi/tuomov/ion/ -up_title 'Ion homepage' -nofootnode -split 3 ionconf</TT>
 <P>
-The translation was initiated by tuomov on 2007-06-08
+The translation was initiated by tuomov on 2007-07-08
 <BR><HR>
 
 </BODY>
 <BR><HR>
 
 </BODY>
index 7b6bec893f3711dfdc0e8270b859d0d074a1c5b0..aa4ddce608e976b0660c9dfdc760d3df62acd6f2 100644 (file)
@@ -1817,6 +1817,8 @@ When a keyboard resize function is called, and at most <TT>kbresize_t_max</TT>
  depends on the types of attached regions and whether <TT>reg</TT> 
  implements <TT>attach_framed</TT> and <TT>attach</TT>. If <TT>param</TT>
  is not set, the default of <code>{switchto=true}</code> is used.
  depends on the types of attached regions and whether <TT>reg</TT> 
  implements <TT>attach_framed</TT> and <TT>attach</TT>. If <TT>param</TT>
  is not set, the default of <code>{switchto=true}</code> is used.
+ The function returns <TT>true</TT> if all tagged regions were
+ succesfully attached, and <TT>false</TT> otherwisse.
   
 </DD>
 </DL>
   
 </DD>
 </DL>
@@ -5844,7 +5846,7 @@ Any parameters not explicitly set in <TT>conftab</TT> will be left unchanged.
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8242"></A>
+<DD><A NAME="8246"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5916,7 +5918,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8243"></A>
+<DD><A NAME="8247"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5936,7 +5938,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8244"></A>
+<DD><A NAME="8248"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5957,7 +5959,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8245"></A>
+<DD><A NAME="8249"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5978,7 +5980,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8246"></A>
+<DD><A NAME="8250"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6024,7 +6026,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8247"></A>
+<DD><A NAME="8251"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6045,7 +6047,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8248"></A>
+<DD><A NAME="8252"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6065,7 +6067,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8249"></A>
+<DD><A NAME="8253"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6086,7 +6088,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8250"></A>
+<DD><A NAME="8254"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6106,7 +6108,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8251"></A>
+<DD><A NAME="8255"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6126,7 +6128,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8252"></A>
+<DD><A NAME="8256"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6178,7 +6180,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8253"></A>
+<DD><A NAME="8257"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6199,7 +6201,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8254"></A>
+<DD><A NAME="8258"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6221,7 +6223,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
 <P>
 
   <DL>
-<DD><A NAME="8255"></A>
+<DD><A NAME="8259"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
index 4a24b16c86ec778ebac81289da0da54dca045f85..693cdf0666829b702da40bb3786d60c57a24ee0d 100644 (file)
Binary files a/doc/ionnotes.dvi.gz and b/doc/ionnotes.dvi.gz differ
index fa9e0b05f7624dbf47b570a5790a5d508be2f3e6..fcdc24c64086ca86a99b48c65c48a6991f3d751d 100644 (file)
Binary files a/doc/ionnotes.ps.gz and b/doc/ionnotes.ps.gz differ
index 3f29d03c619f47b6ad0bf8f81adbc33d32fc2f93..ff3be251a8e7651adca2e3648bdd824f49a6dc7a 100644 (file)
@@ -70,7 +70,7 @@ Mathematics Department, Macquarie University, Sydney.
 The command line arguments were: <BR>
  <STRONG>latex2html</STRONG> <TT>-show_section_numbers -short_index -local_icons -noaddress -up_url http://iki.fi/tuomov/ion/ -up_title 'Ion homepage' -nofootnode -split 4 ionnotes</TT>
 <P>
 The command line arguments were: <BR>
  <STRONG>latex2html</STRONG> <TT>-show_section_numbers -short_index -local_icons -noaddress -up_url http://iki.fi/tuomov/ion/ -up_title 'Ion homepage' -nofootnode -split 4 ionnotes</TT>
 <P>
-The translation was initiated by tuomov on 2007-06-08
+The translation was initiated by tuomov on 2007-07-08
 <BR><HR>
 
 </BODY>
 <BR><HR>
 
 </BODY>
index be393c9b1a75664e0b6a4f79493d999da77d9b4a..a643e4416a4fc5cc5f116a0e4e03a182b8415f77 100644 (file)
@@ -50,7 +50,7 @@ defbindings("WScreen", {
         --kpress("I", "ioncore.goto_activity()"),
         
         bdoc("Clear all tags."),
         --kpress("I", "ioncore.goto_activity()"),
         
         bdoc("Clear all tags."),
-        kpress("T", "ioncore.clear_tags()"),
+        kpress("T", "ioncore.tagged_clear()"),
     }),
 
     bdoc("Go to n:th screen on multihead setup."),
     }),
 
     bdoc("Go to n:th screen on multihead setup."),
@@ -356,7 +356,7 @@ defctxmenu("WFrame", "Frame", {
     menuentry("Close",          "WRegion.rqclose_propagate(_, _sub)"),
     -- Low-priority entries
     menuentry("Attach tagged", "ioncore.tagged_attach(_)", { priority = 0 }),
     menuentry("Close",          "WRegion.rqclose_propagate(_, _sub)"),
     -- Low-priority entries
     menuentry("Attach tagged", "ioncore.tagged_attach(_)", { priority = 0 }),
-    menuentry("Clear tags",    "ioncore.clear_tags()", { priority = 0 }),
+    menuentry("Clear tags",    "ioncore.tagged_clear()", { priority = 0 }),
     menuentry("Window info",   "mod_query.show_tree(_, _sub)", { priority = 0 }),
 })
 
     menuentry("Window info",   "mod_query.show_tree(_, _sub)", { priority = 0 }),
 })
 
index 7bf3474237707ff76fe4df4cdadf6269dde0dda0..912b52fd0558525d233e7d57d3a734bc71fe8ebd 100644 (file)
@@ -1,5 +1,5 @@
 
 Context:
 
 
 Context:
 
-[TAG ion-3rc-20070608
-Tuomo Valkonen <tuomov@iki.fi>**20070608165559
+[TAG ion-3rc-20070708
+Tuomo Valkonen <tuomov@iki.fi>**20070708093638
index bcecf23c557d6ea607c629731c22e9f8e60322ec..6937b3d21b27b20d70c234b21c20de07f9527d30 100644 (file)
@@ -924,7 +924,7 @@ WRegion *frame_managed_disposeroot(WFrame *frame, WRegion *reg)
     if(DEST_EMPTY(frame) &&
        frame->mplex.mgd!=NULL && 
        frame->mplex.mgd->reg==reg && 
     if(DEST_EMPTY(frame) &&
        frame->mplex.mgd!=NULL && 
        frame->mplex.mgd->reg==reg && 
-       frame->mplex.mgd->next==NULL){
+       frame->mplex.mgd->mgr_next==NULL){
         WRegion *tmp=region_disposeroot((WRegion*)frame);
         return (tmp!=NULL ? tmp : reg);
     }
         WRegion *tmp=region_disposeroot((WRegion*)frame);
         return (tmp!=NULL ? tmp : reg);
     }
index 544cd15bfe3d126896c0768a8cf66c473afcb906..d0f15067454adb855f616556852ec08f0266374d 100644 (file)
@@ -182,6 +182,12 @@ void groupcw_managed_notify(WGroupCW *cwg, WRegion *reg, WRegionNotify how)
 }
 
 
 }
 
 
+void groupcw_bottom_set(WGroupCW *cwg)
+{
+    region_notify_change((WRegion*)cwg, ioncore_g.notifies.name);
+}
+
+
 /*}}}*/
 
 
 /*}}}*/
 
 
@@ -277,6 +283,9 @@ static DynFunTab groupcw_dynfuntab[]={
     
     {region_managed_notify,
      groupcw_managed_notify},
     
     {region_managed_notify,
      groupcw_managed_notify},
+     
+    {group_bottom_set,
+     groupcw_bottom_set},
     
     END_DYNFUNTAB
 };
     
     END_DYNFUNTAB
 };
index 6bfdd9ff86b74b5a7df60039ca08ceb818f40334..7d51715e9ee88e1165d4a1ad8162ad61db6bb0d3 100644 (file)
@@ -45,6 +45,8 @@ static void group_place_stdisp(WGroup *ws, WWindow *parent,
 
 static void group_remanage_stdisp(WGroup *ws);
 
 
 static void group_remanage_stdisp(WGroup *ws);
 
+static void group_do_set_bottom(WGroup *grp, WStacking *st);
+
 
 /*{{{ Stacking list stuff */
 
 
 /*{{{ Stacking list stuff */
 
@@ -311,51 +313,40 @@ void group_managed_remove(WGroup *ws, WRegion *reg)
     st=group_find_stacking(ws, reg);
 
     if(st!=NULL){
     st=group_find_stacking(ws, reg);
 
     if(st!=NULL){
-        next_st=stacking_unstack(REGION_PARENT(ws), st);
-        
-        UNLINK_ITEM(ws->managed_list, st, mgr_next, mgr_prev);
+        if(st==ws->bottom){
+            was_bottom=TRUE;
+            group_do_set_bottom(ws, NULL);
+        }
         
         if(st==ws->managed_stdisp){
             ws->managed_stdisp=NULL;
             was_stdisp=TRUE;
         }
         
         if(st==ws->managed_stdisp){
             ws->managed_stdisp=NULL;
             was_stdisp=TRUE;
         }
-        
-        if(st==ws->bottom){
-            ws->bottom=NULL;
-            was_bottom=TRUE;
-        }
             
         if(st==ws->current_managed){
             ws->current_managed=NULL;
             was_current=TRUE;
         }
         
             
         if(st==ws->current_managed){
             ws->current_managed=NULL;
             was_current=TRUE;
         }
         
+        next_st=stacking_unstack(REGION_PARENT(ws), st);
+        UNLINK_ITEM(ws->managed_list, st, mgr_next, mgr_prev);
         stacking_unassoc(st);
         stacking_free(st);
     }
     
     region_unset_manager(reg, (WRegion*)ws);
     
         stacking_unassoc(st);
         stacking_free(st);
     }
     
     region_unset_manager(reg, (WRegion*)ws);
     
-    if(!OBJ_IS_BEING_DESTROYED(ws)){
-        if(was_bottom && !was_stdisp && ws->managed_stdisp==NULL){
-            /* We should probably be managing any stdisp, that 'bottom' 
-             * was managing.
-             */
-            group_remanage_stdisp(ws);
-        }
-        
-        if(was_current){
-            /* This may still potentially cause problems when focus
-             * change is pending. Perhaps we should use region_await_focus,
-             * if it is pointing to our child (and region_may_control_focus 
-             * fail if it is pointing somewhere else).
-             */
-            WStacking *stf=find_to_focus(ws, next_st, TRUE);
-            if(stf!=NULL && mcf){
-                region_maybewarp_now(stf->reg, FALSE);
-            }else{
-                ws->current_managed=stf;
-            }
+    if(!OBJ_IS_BEING_DESTROYED(ws) && was_current){
+        /* This may still potentially cause problems when focus
+         * change is pending. Perhaps we should use region_await_focus,
+         * if it is pointing to our child (and region_may_control_focus 
+         * fail if it is pointing somewhere else).
+         */
+        WStacking *stf=find_to_focus(ws, next_st, TRUE);
+        if(stf!=NULL && mcf){
+            region_maybewarp_now(stf->reg, FALSE);
+        }else{
+            ws->current_managed=stf;
         }
     }
 }
         }
     }
 }
@@ -481,16 +472,31 @@ static WRegion *group_managed_disposeroot(WGroup *ws, WRegion *reg)
 /*{{{ Bottom */
 
 
 /*{{{ Bottom */
 
 
+void group_bottom_set(WGroup *grp)
+{
+    CALL_DYN(group_bottom_set, grp, (grp));
+}
+
+
 static void group_do_set_bottom(WGroup *grp, WStacking *st)
 {
     WStacking *was=grp->bottom;
 static void group_do_set_bottom(WGroup *grp, WStacking *st)
 {
     WStacking *was=grp->bottom;
+    WStacking *std=grp->managed_stdisp;
     
     grp->bottom=st;
     
     
     grp->bottom=st;
     
-    if(st!=was){
-        if(st==NULL || HAS_DYN(st->reg, region_manage_stdisp))
+    if(!OBJ_IS_BEING_DESTROYED(grp)){
+        bool noremanage=((was==st) ||
+                         (was==NULL && std==NULL) || 
+                         (st!=NULL && st==std) || 
+                         (st==NULL && was==std));
+        
+        if(!noremanage &&
+           (st==NULL || HAS_DYN(st->reg, region_manage_stdisp))){
             group_remanage_stdisp(grp);
             group_remanage_stdisp(grp);
+        }
         
         
+        group_bottom_set(grp);
     }
 }
 
     }
 }
 
index d4f2d26abf0924d45a4d14bc6a2ef18ec34a0f40..f9e9647dccc34ec6038d059c1cd070240872e0f5 100644 (file)
@@ -91,6 +91,7 @@ extern void group_managed_notify(WGroup *ws, WRegion *reg, WRegionNotify how);
 
 extern WRegion *group_bottom(WGroup *ws);
 extern bool group_set_bottom(WGroup *ws, WRegion *reg);
 
 extern WRegion *group_bottom(WGroup *ws);
 extern bool group_set_bottom(WGroup *ws, WRegion *reg);
+DYNFUN void group_bottom_set(WGroup *grp);
 
 extern bool group_rescue_clientwins(WGroup *ws, WRescueInfo *info);
 
 
 extern bool group_rescue_clientwins(WGroup *ws, WRescueInfo *info);
 
index 0f1744c640636f82f8d828e754197288a56ee147..9f9bcfce0603281725c5fdde65b0ac6af649932a 100644 (file)
@@ -18,6 +18,8 @@
 #ifndef CF_NO_LOCALE
 #include <locale.h>
 #include <langinfo.h>
 #ifndef CF_NO_LOCALE
 #include <locale.h>
 #include <langinfo.h>
+#endif
+#ifndef CF_NO_GETTEXT
 #include <libintl.h>
 #endif
 
 #include <libintl.h>
 #endif
 
@@ -74,15 +76,15 @@ static const char ioncore_copy[]=
     "Ion " ION_VERSION ", copyright (c) Tuomo Valkonen 1999-2007.";
 
 static const char ioncore_license[]=DUMMY_TR(
     "Ion " ION_VERSION ", copyright (c) Tuomo Valkonen 1999-2007.";
 
 static const char ioncore_license[]=DUMMY_TR(
-    "This program is free software; you can redistribute it and/or\n"
-    "modify it under the terms of the GNU Lesser General Public\n"
-    "License as published by the Free Software Foundation; either\n"
-    "version 2.1 of the License, or (at your option) any later version.\n"
+    "This software is essentially licensed under the GNU Lesser General\n"
+    "Public License (LGPL), version 2.1, unless otherwise indicated in\n"
+    "components taken from elsewhere. Additional terms apply to the use\n"
+    "of the name of the project, Ion(tm). For details, see the file\n"
+    "LICENSE that you should have received with this software.\n"
     "\n"
     "This program is distributed in the hope that it will be useful,\n"
     "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
     "\n"
     "This program is distributed in the hope that it will be useful,\n"
     "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
-    "Lesser General Public License for more details.\n");
+    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"); 
 
 static const char *ioncore_about=NULL;
 
 
 static const char *ioncore_about=NULL;
 
@@ -229,6 +231,10 @@ static bool init_locale()
     return FALSE;
 }
 
     return FALSE;
 }
 
+#endif
+
+#ifndef CF_NO_GETTEXT
+
 #define TEXTDOMAIN "ion3"
 
 static bool init_messages(const char *localedir)
 #define TEXTDOMAIN "ion3"
 
 static bool init_messages(const char *localedir)
@@ -384,6 +390,8 @@ bool ioncore_init(const char *prog, int argc, char *argv[],
 
 #ifndef CF_NO_LOCALE    
     init_locale();
 
 #ifndef CF_NO_LOCALE    
     init_locale();
+#endif
+#ifndef CF_NO_GETTEXT
     init_messages(localedir);
 #endif
 
     init_messages(localedir);
 #endif
 
index 17817659ff5a3af12f153570f443c37acdce2d54..a392c5344e99a6197214f5672d325d72d1f69e68 100644 (file)
@@ -82,7 +82,10 @@ end
 -- depends on the types of attached regions and whether \var{reg} 
 -- implements \code{attach_framed} and \code{attach}. If \var{param}
 -- is not set, the default of \verb!{switchto=true}! is used.
 -- depends on the types of attached regions and whether \var{reg} 
 -- implements \code{attach_framed} and \code{attach}. If \var{param}
 -- is not set, the default of \verb!{switchto=true}! is used.
+-- The function returns \code{true} if all tagged regions were
+-- succesfully attached, and \code{false} otherwisse.
 function ioncore.tagged_attach(reg, param)
 function ioncore.tagged_attach(reg, param)
+    local errors=false
     if not param then
         param={switchto=true}
     end
     if not param then
         param={switchto=true}
     end
@@ -92,9 +95,9 @@ function ioncore.tagged_attach(reg, param)
                   or reg.attach)
         
         if not (fn and fn(reg, r, param)) then
                   or reg.attach)
         
         if not (fn and fn(reg, r, param)) then
-            return false
+            errors=true
         end
     end
         end
     end
-    return true
+    return not errors
 end
 
 end
 
index 57214d2a53b83d1af4c155c443f100e71bf9d60e..d142fad2da4bc90bc774124e0bac4ab220d1469f 100644 (file)
@@ -169,7 +169,8 @@ char **xwindow_get_text_property(Window win, Atom a, int *nret)
     XTextProperty prop;
     char **list=NULL;
     int n=0;
     XTextProperty prop;
     char **list=NULL;
     int n=0;
-    Status st=0;
+    Status st;
+    bool ok;
     
     st=XGetTextProperty(ioncore_g.dpy, win, &prop, a);
 
     
     st=XGetTextProperty(ioncore_g.dpy, win, &prop, a);
 
@@ -189,15 +190,16 @@ char **xwindow_get_text_property(Window win, Atom a, int *nret)
 #endif
 
     if(!ioncore_g.use_mb){
 #endif
 
     if(!ioncore_g.use_mb){
-        st=XTextPropertyToStringList(&prop, &list, &n);
+        Status st=XTextPropertyToStringList(&prop, &list, &n);
+        ok=(st==0);
     }else{
     }else{
-        st=XmbTextPropertyToTextList(ioncore_g.dpy, &prop, &list, &n);
-        st=!st;
+        int st=XmbTextPropertyToTextList(ioncore_g.dpy, &prop, &list, &n);
+        ok=(st>=0);
     }
 
     XFree(prop.value);
     
     }
 
     XFree(prop.value);
     
-    if(!st || n==0 || list==NULL)
+    if(!ok || n==0 || list==NULL)
         return NULL;
     
     if(nret)
         return NULL;
     
     if(nret)
@@ -210,17 +212,18 @@ char **xwindow_get_text_property(Window win, Atom a, int *nret)
 void xwindow_set_text_property(Window win, Atom a, const char **ptr, int n)
 {
     XTextProperty prop;
 void xwindow_set_text_property(Window win, Atom a, const char **ptr, int n)
 {
     XTextProperty prop;
-    Status st;
-
+    bool ok;
+    
     if(!ioncore_g.use_mb){
     if(!ioncore_g.use_mb){
-        st=XStringListToTextProperty((char **)&ptr, n, &prop);
+        Status st=XStringListToTextProperty((char **)ptr, n, &prop);
+        ok=(st!=0);
     }else{
     }else{
-        st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)ptr, n,
-                                     XTextStyle, &prop);
-        st=!st;
+        int st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)ptr, n,
+                                         XTextStyle, &prop);
+        ok=(st>=0);
     }
     
     }
     
-    if(!st)
+    if(!ok)
         return;
     
     XSetTextProperty(ioncore_g.dpy, win, &prop, a);
         return;
     
     XSetTextProperty(ioncore_g.dpy, win, &prop, a);
index 9b5c39736869ed594a03ad927b5e17812b141a3f..1ebbb43be3070c5e13be04b3a070bee342be5d09 100644 (file)
@@ -50,8 +50,8 @@ void ioncore_handle_selection_request(XSelectionRequestEvent *ev)
     p[0]=selection_data;
     
     if(!ioncore_g.use_mb && ev->target==XA_STRING){
     p[0]=selection_data;
     
     if(!ioncore_g.use_mb && ev->target==XA_STRING){
-        Status st=XStringListToTextProperty((char **)&p, 1, &prop);
-        ok=st;
+        Status st=XStringListToTextProperty((char **)p, 1, &prop);
+        ok=(st!=0);
     }else if(ioncore_g.use_mb){
         XICCEncodingStyle style;
         
     }else if(ioncore_g.use_mb){
         XICCEncodingStyle style;
         
@@ -64,15 +64,15 @@ void ioncore_handle_selection_request(XSelectionRequestEvent *ev)
         }
         
         if(ok){
         }
         
         if(ok){
-            Status st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)p, 1,
-                                                style, &prop);
-            ok=!st;
+            int st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)p, 1,
+                                             style, &prop);
+            ok=(st>=0);
         }
     }
     
     if(ok){
         XSetTextProperty(ioncore_g.dpy, ev->requestor, &prop, ev->property);
         }
     }
     
     if(ok){
         XSetTextProperty(ioncore_g.dpy, ev->requestor, &prop, ev->property);
-        sev.target=prop.encoding;
+        sev.target=ev->target;
         sev.property=ev->property;
         XFree(prop.value);
     }
         sev.property=ev->property;
         XFree(prop.value);
     }
@@ -112,29 +112,13 @@ static void insert_selection(Window win, Atom prop)
 }
 
 
 }
 
 
-static void insert_cutbuffer(Window win)
-{
-    char *p;
-    int n;
-    
-    p=XFetchBytes(ioncore_g.dpy, &n);
-    
-    if(n<=0 || p==NULL)
-        return;
-    
-    ins(win, p, n);
-}
-
-
 void ioncore_handle_selection(XSelectionEvent *ev)
 {
     Atom prop=ev->property;
     Window win=ev->requestor;
     WWindow *wwin;
     
 void ioncore_handle_selection(XSelectionEvent *ev)
 {
     Atom prop=ev->property;
     Window win=ev->requestor;
     WWindow *wwin;
     
-    if(prop==None){
-        insert_cutbuffer(win);
-    }else{
+    if(prop!=None){
         insert_selection(win, prop);
         XDeleteProperty(ioncore_g.dpy, win, prop);
     }
         insert_selection(win, prop);
         XDeleteProperty(ioncore_g.dpy, win, prop);
     }
@@ -169,8 +153,6 @@ void ioncore_set_selection_n(const char *p, int n)
     selection_data[n]='\0';
     selection_length=n;
     
     selection_data[n]='\0';
     selection_length=n;
     
-    XStoreBytes(ioncore_g.dpy, p, n);
-    
     XSetSelectionOwner(ioncore_g.dpy, CLIPATOM(ioncore_g.dpy),
                        DefaultRootWindow(ioncore_g.dpy),
                        CurrentTime);
     XSetSelectionOwner(ioncore_g.dpy, CLIPATOM(ioncore_g.dpy),
                        DefaultRootWindow(ioncore_g.dpy),
                        CurrentTime);
index 6f887fafef4642de1aaca3f4a927194717dbb0c3..77ec659472f9730da1d3b56d0d368b3c92d20d9b 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/build/system-inc.mk
 
 INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I..
 
 
 INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) -I..
 
-CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
+CFLAGS += $(POSIX_SOURCE) $(XOPEN_SOURCE) $(C99_SOURCE)
 
 SOURCES = select.c defer.c signal.c hooks.c exec.c
 
 
 SOURCES = select.c defer.c signal.c hooks.c exec.c
 
index f09d1db1a1b55c22037a981736c06cd1ca987cbb..37ee995f507da6818d8b0c622d9a9782ef12a0c4 100644 (file)
@@ -14,6 +14,7 @@
 #include <signal.h>
 #include <string.h>
 #include <stdlib.h>
 #include <signal.h>
 #include <string.h>
 #include <stdlib.h>
+#include <errno.h>
 
 #include <libtu/objp.h>
 #include <libtu/types.h>
 
 #include <libtu/objp.h>
 #include <libtu/types.h>
@@ -44,19 +45,29 @@ static WTimer *queue=NULL;
 
 int mainloop_gettime(struct timeval *val)
 {
 
 int mainloop_gettime(struct timeval *val)
 {
-#ifdef _POSIX_MONOTONIC_CLOCK
+#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK>=0)
     struct timespec spec;
     int ret;
     struct timespec spec;
     int ret;
+    static int checked=0;
     
     
-    ret=clock_gettime(CLOCK_MONOTONIC, &spec);
+    if(checked>=0){
+        ret=clock_gettime(CLOCK_MONOTONIC, &spec);
     
     
-    val->tv_sec=spec.tv_sec;
-    val->tv_usec=spec.tv_nsec/1000;
-    
-    return ret;
+        if(ret==-1 && errno==EINVAL && checked==0){
+            checked=-1;
+        }else{
+            checked=1;
+            
+            val->tv_sec=spec.tv_sec;
+            val->tv_usec=spec.tv_nsec/1000;
+        
+            return ret;
+        }
+    }
 #else
 #else
-    return gettimeofday(&val, NULL);
+    #warning "Monotonic clock unavailable; please fix your operating system."
 #endif
 #endif
+    return gettimeofday(val, NULL);
 }
 
 
 }
 
 
index e8507009514322cbf519e442e6b15cc22fb3e4cf..5adae397b2e2ac8b29e2a45decdccd2e4408904b 100644 (file)
@@ -1,6 +1,9 @@
 
 Context:
 
 
 Context:
 
+[CF_NO_GETTEXT
+Tuomo Valkonen <tuomov@iki.fi>**20070620202409] 
+
 [Some list code improvements
 Tuomo Valkonen <tuomov@iki.fi>**20070506140559] 
 
 [Some list code improvements
 Tuomo Valkonen <tuomov@iki.fi>**20070506140559] 
 
index b50f5287bf7239ff5d0b4e977bb0982844c245d5..826dd142e38788a8a2a2aa0fe7b8a111d16aa7e3 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef LIBTU_LOCALE_H
 #define LIBTU_LOCALE_H
 
 #ifndef LIBTU_LOCALE_H
 #define LIBTU_LOCALE_H
 
-#ifdef CF_NO_LOCALE
+#ifdef CF_NO_GETTEXT
 
 #define TR(X) X
 #define DUMMY_TR(X) X
 
 #define TR(X) X
 #define DUMMY_TR(X) X
index 20068edca02a30719704fb54d5f494e2e457d53b..470e7908fae8608d651732b003f94bc40145e936 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef LIBTU_PRIVATE_H
 #define LIBTU_PRIVATE_H
 
 #ifndef LIBTU_PRIVATE_H
 #define LIBTU_PRIVATE_H
 
-#ifndef CF_NO_LOCALE
+#ifndef CF_NO_GETTEXT
 
 #include <libintl.h>
 
 
 #include <libintl.h>
 
index b0c969975577556bd6485625d74dbca044160445..e4168710063991efba56097040f2fd8b12257b4a 100644 (file)
@@ -24,7 +24,7 @@ void libtu_init(const char *argv0)
 {
     progname=argv0;
 
 {
     progname=argv0;
 
-#ifndef CF_NO_LOCALE
+#ifndef CF_NO_GETTEXT
     textdomain(simple_basename(argv0));
 #endif
 }
     textdomain(simple_basename(argv0));
 #endif
 }
index 6626f7aadd9c7582c8338ba5b13d679f5174526e..27a1753ad3aca84e233aafd66d1cb5e9a2c8cbfa 100644 (file)
@@ -73,7 +73,7 @@ system. On PC:s with XFree86 it is probably bound to the left Alt key
 (\fBMeta_L\fP, \fBMeta_R\fP). Use \fIxmodmap(1x)\fP to find out.
 
 The string in square brackets after a binding group heading below indicates
 (\fBMeta_L\fP, \fBMeta_R\fP). Use \fIxmodmap(1x)\fP to find out.
 
 The string in square brackets after a binding group heading below indicates
-the module that whose configuration file defines these bindings.
+the module whose configuration file defines these bindings.
 
 .SS Globally available bindings
 
 
 .SS Globally available bindings
 
index b187e99291d13d31c67319079f0cc2a2009016d1..c94615bca483df5e552c491b33133b0d972a8808 100644 (file)
@@ -155,11 +155,11 @@ bool mod_sp_set_shown_on(WMPlex *mplex, const char *how)
     int setpar=libtu_setparam_invert(libtu_string_to_setparam(how));
     WMPlexIterTmp tmp;
     WRegion *reg;
     int setpar=libtu_setparam_invert(libtu_string_to_setparam(how));
     WMPlexIterTmp tmp;
     WRegion *reg;
-    bool found=FALSE;
+    bool found=FALSE, res=FALSE;
     
     FOR_ALL_MANAGED_BY_MPLEX(mplex, reg, tmp){
         if(is_scratchpad(reg)){
     
     FOR_ALL_MANAGED_BY_MPLEX(mplex, reg, tmp){
         if(is_scratchpad(reg)){
-            mplex_set_hidden(mplex, reg, setpar);
+            res=!mplex_set_hidden(mplex, reg, setpar);
             found=TRUE;
         }
     }
             found=TRUE;
         }
     }
@@ -168,9 +168,10 @@ bool mod_sp_set_shown_on(WMPlex *mplex, const char *how)
         int sp=libtu_string_to_setparam(how);
         if(sp==SETPARAM_SET || sp==SETPARAM_TOGGLE)
             found=(create(mplex, 0)!=NULL);
         int sp=libtu_string_to_setparam(how);
         if(sp==SETPARAM_SET || sp==SETPARAM_TOGGLE)
             found=(create(mplex, 0)!=NULL);
+            res=found;
     }
     
     }
     
-    return found;
+    return res;
 }
 
 
 }
 
 
index 8debea9997d11e754f14ca69993b6cc53bc55d34..6fa01b9b2ca8260e3945155c7f0e0fc13ab62978 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,224 +9,225 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ion3\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: Ion3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-04-22 15:41+0200\n"
-"PO-Revision-Date: 2007-04-22 15:42+0200\n"
+"POT-Creation-Date: 2007-07-03 12:00+0300\n"
+"PO-Revision-Date: 2007-07-02 19:12+0200\n"
 "Last-Translator: Miroslav Kure <kurem at debian.cz>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Last-Translator: Miroslav Kure <kurem at debian.cz>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../ioncore/conf-bindings.c:96
+#: ../ioncore/conf-bindings.c:93
 msgid "Insane key combination."
 msgstr "©ílená klávesová kombinace."
 
 msgid "Insane key combination."
 msgstr "©ílená klávesová kombinace."
 
-#: ../ioncore/conf-bindings.c:100
+#: ../ioncore/conf-bindings.c:97
 msgid "Could not convert keysym to keycode."
 msgstr "Nemohu pøevést keysym na keycode."
 
 msgid "Could not convert keysym to keycode."
 msgstr "Nemohu pøevést keysym na keycode."
 
-#: ../ioncore/conf-bindings.c:111
+#: ../ioncore/conf-bindings.c:108
 #, c-format
 msgid "Unknown button \"%s\"."
 msgstr "Neznámé tlaèítko \"%s\"."
 
 #, c-format
 msgid "Unknown button \"%s\"."
 msgstr "Neznámé tlaèítko \"%s\"."
 
-#: ../ioncore/conf-bindings.c:116
+#: ../ioncore/conf-bindings.c:113
 msgid "Insane button combination."
 msgstr "©ílená kombinace tlaèítek."
 
 msgid "Insane button combination."
 msgstr "©ílená kombinace tlaèítek."
 
-#: ../ioncore/conf-bindings.c:123 ../ioncore/conf-bindings.c:130
+#: ../ioncore/conf-bindings.c:120 ../ioncore/conf-bindings.c:127
 msgid "Insane modifier combination."
 msgstr "©ílená kombinace modifikátorù."
 
 msgid "Insane modifier combination."
 msgstr "©ílená kombinace modifikátorù."
 
-#: ../ioncore/conf-bindings.c:168
+#: ../ioncore/conf-bindings.c:165
 #, c-format
 msgid "Can not wait on modifiers when no modifiers set in \"%s\"."
 msgstr "Nemohu èekat na modifikátory, kdy¾ ¾ádné nebyly nastaveny v \"%s\"."
 
 #, c-format
 msgid "Can not wait on modifiers when no modifiers set in \"%s\"."
 msgstr "Nemohu èekat na modifikátory, kdy¾ ¾ádné nebyly nastaveny v \"%s\"."
 
-#: ../ioncore/conf-bindings.c:186
+#: ../ioncore/conf-bindings.c:183
 #, c-format
 msgid "Unable to add binding %s."
 msgstr "Nemohu pøidat vazbu %s."
 
 #, c-format
 msgid "Unable to add binding %s."
 msgstr "Nemohu pøidat vazbu %s."
 
-#: ../ioncore/conf-bindings.c:191
+#: ../ioncore/conf-bindings.c:188
 #, c-format
 msgid "Unable to remove binding %s."
 msgstr "Nemohu odstranit vazbu %s."
 
 #, c-format
 msgid "Unable to remove binding %s."
 msgstr "Nemohu odstranit vazbu %s."
 
-#: ../ioncore/conf-bindings.c:230
+#: ../ioncore/conf-bindings.c:228
 #, c-format
 msgid "Unable to add submap for binding %s."
 msgstr "Nemohu pøidat **** pro vazbu %s."
 
 #
 #, c-format
 msgid "Unable to add submap for binding %s."
 msgstr "Nemohu pøidat **** pro vazbu %s."
 
 #
-#: ../ioncore/conf-bindings.c:260
+#: ../ioncore/conf-bindings.c:261
 msgid "Binding type not set."
 msgstr "Typ vazby není nastaven."
 
 msgid "Binding type not set."
 msgstr "Typ vazby není nastaven."
 
-#: ../ioncore/conf-bindings.c:270
+#: ../ioncore/conf-bindings.c:271
 #, c-format
 msgid "Unknown binding type \"%s\"."
 msgstr "Neznámý typ vazby \"%s\"."
 
 #, c-format
 msgid "Unknown binding type \"%s\"."
 msgstr "Neznámý typ vazby \"%s\"."
 
-#: ../ioncore/conf-bindings.c:292
+#: ../ioncore/conf-bindings.c:295
 #, c-format
 msgid "Unknown area \"%s\" for binding %s."
 msgstr "Neznámá oblast \"%s\" pro vazbu %s."
 
 #, c-format
 msgid "Unknown area \"%s\" for binding %s."
 msgstr "Neznámá oblast \"%s\" pro vazbu %s."
 
-#: ../ioncore/conf-bindings.c:333
+#: ../ioncore/conf-bindings.c:336
 #, c-format
 msgid "Unable to get bindmap entry %d."
 msgstr "Nemohu získat záznam o vazbì %d."
 
 #, c-format
 msgid "Unable to get bindmap entry %d."
 msgstr "Nemohu získat záznam o vazbì %d."
 
-#: ../ioncore/conf-bindings.c:375
+#: ../ioncore/conf-bindings.c:378
 msgid "Unable to convert keysym to string."
 msgstr "Nemohu pøevést keysym na øetìzec."
 
 msgid "Unable to convert keysym to string."
 msgstr "Nemohu pøevést keysym na øetìzec."
 
-#: ../ioncore/conf-bindings.c:389
+#: ../ioncore/conf-bindings.c:392
 msgid "Unable to convert button to string."
 msgstr "Nemohu pøevést tlaèítko na øetìzec."
 
 #
 msgid "Unable to convert button to string."
 msgstr "Nemohu pøevést tlaèítko na øetìzec."
 
 #
-#: ../ioncore/event.c:113
+#: ../ioncore/event.c:110
 msgid "Time request from X server failed."
 msgstr "Èasový po¾adavek od X serveru selhal."
 
 #
 msgid "Time request from X server failed."
 msgstr "Èasový po¾adavek od X serveru selhal."
 
 #
-#: ../ioncore/exec.c:186
+#: ../ioncore/exec.c:185
 msgid "Not saving state: running under session manager."
 msgstr "Neukládám stav: bì¾ím pod správcem sezení."
 
 msgid "Not saving state: running under session manager."
 msgstr "Neukládám stav: bì¾ím pod správcem sezení."
 
-#: ../ioncore/strings.c:107 ../ioncore/strings.c:143 ../ioncore/strings.c:176
+#: ../ioncore/strings.c:104 ../ioncore/strings.c:140 ../ioncore/strings.c:173
 msgid "Invalid multibyte string."
 msgstr "Neplatný vícebajtový øetìzec."
 
 msgid "Invalid multibyte string."
 msgstr "Neplatný vícebajtový øetìzec."
 
-#: ../ioncore/strings.c:267
+#: ../ioncore/strings.c:264
 #, c-format
 msgid "Error compiling regular expression: %s"
 msgstr "Chyba pøi kompilaci regulárního výrazu: %s"
 
 #, c-format
 msgid "Error compiling regular expression: %s"
 msgstr "Chyba pøi kompilaci regulárního výrazu: %s"
 
-#: ../ioncore/modules.c:158
+#: ../ioncore/modules.c:155
 msgid "Invalid module name."
 msgstr "Neplatné jméno modulu."
 
 #
 msgid "Invalid module name."
 msgstr "Neplatné jméno modulu."
 
 #
-#: ../ioncore/modules.c:170
+#: ../ioncore/modules.c:167
 msgid "The module is already loaded."
 msgstr "Modul je ji¾ zaveden."
 
 msgid "The module is already loaded."
 msgstr "Modul je ji¾ zaveden."
 
-#: ../ioncore/modules.c:185
+#: ../ioncore/modules.c:182
 msgid ""
 "Module version information not found or version mismatch. Refusing to use."
 msgstr ""
 "Nemohu najít informace o verzi modulu, nebo verze nesouhlasí. Odmítám modul "
 "pou¾ít."
 
 msgid ""
 "Module version information not found or version mismatch. Refusing to use."
 msgstr ""
 "Nemohu najít informace o verzi modulu, nebo verze nesouhlasí. Odmítám modul "
 "pou¾ít."
 
-#: ../ioncore/modules.c:196
+#: ../ioncore/modules.c:193
 #, c-format
 msgid "Unable to initialise module %s."
 msgstr "Nemohu inicializovat modul %s."
 
 #, c-format
 msgid "Unable to initialise module %s."
 msgstr "Nemohu inicializovat modul %s."
 
-#: ../ioncore/modules.c:220 ../libextl/readconfig.c:388
+#: ../ioncore/modules.c:217 ../../libextl-3/readconfig.c:388
 #, c-format
 msgid "Unable to find '%s' on search path."
 msgstr "V prohledávané cestì nemohu najít \"%s\"."
 
 #, c-format
 msgid "Unable to find '%s' on search path."
 msgstr "V prohledávané cestì nemohu najít \"%s\"."
 
-#: ../ioncore/modules.c:291
+#: ../ioncore/modules.c:288
 msgid "Unknown module."
 msgstr "Neznámý modul."
 
 msgid "Unknown module."
 msgstr "Neznámý modul."
 
-#: ../ioncore/modules.c:299
+#: ../ioncore/modules.c:296
 msgid "Unable to initialise module."
 msgstr "Nemohu inicializovat modul."
 
 msgid "Unable to initialise module."
 msgstr "Nemohu inicializovat modul."
 
-#: ../ioncore/modules.c:344
+#: ../ioncore/modules.c:341
 msgid "No module to load given."
 msgstr "Nebyl zadán modul pro zavedení."
 
 msgid "No module to load given."
 msgstr "Nebyl zadán modul pro zavedení."
 
-#: ../ioncore/property.c:355 ../ioncore/property.c:364
+#: ../ioncore/property.c:350 ../ioncore/property.c:359
 msgid "Invalid arguments."
 msgstr "Neplatné argumenty."
 
 msgid "Invalid arguments."
 msgstr "Neplatné argumenty."
 
-#: ../ioncore/screen.c:385
+#: ../ioncore/screen.c:382
 msgid "Only workspace may not be destroyed/detached."
 msgstr "Jediná pracovní plocha nemù¾e být zru¹ena."
 
 msgid "Only workspace may not be destroyed/detached."
 msgstr "Jediná pracovní plocha nemù¾e být zru¹ena."
 
-#: ../ioncore/screen.c:396
+#: ../ioncore/screen.c:393
 msgid "Screens may not be destroyed."
 msgstr "Obrazovky nesmí být znièeny."
 
 msgid "Screens may not be destroyed."
 msgstr "Obrazovky nesmí být znièeny."
 
-#: ../ioncore/screen.c:432
+#: ../ioncore/screen.c:429
 msgid "Invalid offset."
 msgstr "Neplatné odsazení"
 
 msgid "Invalid offset."
 msgstr "Neplatné odsazení"
 
-#: ../ioncore/screen.c:471
+#: ../ioncore/screen.c:468
 #, c-format
 msgid "Unable to create a workspace on screen %d."
 msgstr "Nemohu vytvoøit pracovní plochu na obrazovce %d."
 
 #, c-format
 msgid "Unable to create a workspace on screen %d."
 msgstr "Nemohu vytvoøit pracovní plochu na obrazovce %d."
 
-#: ../ioncore/sizehint.c:157
+#: ../ioncore/sizehint.c:146
 msgid "Invalid client-supplied width/height increment."
 msgstr "Klient zadal neplatný pøírùstek ¹íøky/vý¹ky."
 
 msgid "Invalid client-supplied width/height increment."
 msgstr "Klient zadal neplatný pøírùstek ¹íøky/vý¹ky."
 
-#: ../ioncore/sizehint.c:165
+#: ../ioncore/sizehint.c:154
 msgid "Invalid client-supplied aspect-ratio."
 msgstr "Klient zadal neplatný pomìr stran."
 
 msgid "Invalid client-supplied aspect-ratio."
 msgstr "Klient zadal neplatný pomìr stran."
 
-#: ../ioncore/ioncore.c:78
+#: ../ioncore/ioncore.c:79
 msgid ""
 msgid ""
-"This program is free software; you can redistribute it and/or\n"
-"modify it under the terms of the GNU Lesser General Public\n"
-"License as published by the Free Software Foundation; either\n"
-"version 2.1 of the License, or (at your option) any later version.\n"
+"This software is essentially licensed under the GNU Lesser General\n"
+"Public License (LGPL), version 2.1, unless otherwise indicated in\n"
+"components taken from elsewhere. Additional terms apply to the use\n"
+"of the name of the project, Ion(tm). For details, see the file\n"
+"LICENSE that you should have received with this software.\n"
 "\n"
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
 "\n"
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
-"Lesser General Public License for more details.\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 msgstr ""
-"Tento program je svobodný software; mù¾ete jej ¹íøit a/nebo upravovat\n"
-"podle podmínek licence GNU Lesser General Public Licence verze 2.1 nebo\n"
-"(podle va¹eho uvá¾ení) novìj¹í, jak ji publikuje Free Software Foundation.\n"
+"Tento program je v podstatì licencovaný pod licencí GNU Lesser\n"
+"General Public Licence (LGPL) verze 2.1, s mo¾nou výjimkou\n"
+"komponent získaných jinde. Na pou¾ití jména projektu, Ion(tm),\n"
+"se vztahují dal¹í podmínky. Podrobnosti naleznete v souboru\n"
+"LICENSE, který byste mìli obdr¾et spolu s tímto softwarem.\n"
 "\n"
 "\n"
-"Tento program je distribuovaný v nadìji, ¾e bude u¾iteèný, ale BEZ\n"
-"JAKÉKOLIV ZÁRUKY. Pro více podrobností se podívejte do licence GNU\n"
-"Lesser General Public License.\n"
+"Tento program je distribuovaný v nadìji, ¾e bude u¾iteèný, ale\n"
+"BEZ JAKÉKOLIV ZÁRUKY.\n"
 
 
-#: ../ioncore/ioncore.c:159
+#: ../ioncore/ioncore.c:160
 msgid "No encoding given in LC_CTYPE."
 msgstr "V LC_CTYPE není zadáno kódování."
 
 msgid "No encoding given in LC_CTYPE."
 msgstr "V LC_CTYPE není zadáno kódování."
 
-#: ../ioncore/ioncore.c:470
+#: ../ioncore/ioncore.c:478
 #, c-format
 msgid "Could not connect to X display '%s'"
 msgstr "Nemohu se pøipojit na X displej \"%s\""
 
 #, c-format
 msgid "Could not connect to X display '%s'"
 msgstr "Nemohu se pøipojit na X displej \"%s\""
 
-#: ../ioncore/ioncore.c:522
+#: ../ioncore/ioncore.c:531
 msgid "Could not find a screen to manage."
 msgstr "Nemohu najít obrazovku, kterou bych mohl spravovat."
 
 msgid "Could not find a screen to manage."
 msgstr "Nemohu najít obrazovku, kterou bych mohl spravovat."
 
-#: ../ioncore/xic.c:38
+#: ../ioncore/xic.c:35
 msgid "Failed to open input method."
 msgstr "Selhalo otevøení vstupní metody."
 
 msgid "Failed to open input method."
 msgstr "Selhalo otevøení vstupní metody."
 
-#: ../ioncore/xic.c:43
+#: ../ioncore/xic.c:40
 msgid "Input method doesn't support any style."
 msgstr "Vstupní metoda nepodporuje ¾ádný styl."
 
 msgid "Input method doesn't support any style."
 msgstr "Vstupní metoda nepodporuje ¾ádný styl."
 
-#: ../ioncore/xic.c:58
+#: ../ioncore/xic.c:55
 msgid "input method doesn't support my preedit type."
 msgstr "Vstupní metoda nepodporuje mùj pøedpøipravený typ."
 
 msgid "input method doesn't support my preedit type."
 msgstr "Vstupní metoda nepodporuje mùj pøedpøipravený typ."
 
-#: ../ioncore/xic.c:86
+#: ../ioncore/xic.c:83
 msgid "Failed to create input context."
 msgstr "Selhalo vytvoøení vstupního kontextu."
 
 msgid "Failed to create input context."
 msgstr "Selhalo vytvoøení vstupního kontextu."
 
-#: ../ioncore/clientwin.c:379
+#: ../ioncore/clientwin.c:376
 #, c-format
 msgid "The transient_for hint for \"%s\" points to itself."
 msgstr "Nápovìda transient_for pro \"%s\" ukazuje sama na sebe."
 
 #, c-format
 msgid "The transient_for hint for \"%s\" points to itself."
 msgstr "Nápovìda transient_for pro \"%s\" ukazuje sama na sebe."
 
-#: ../ioncore/clientwin.c:383
+#: ../ioncore/clientwin.c:380
 #, c-format
 msgid ""
 "Client window \"%s\" has broken transient_for hint. (\"Extended WM hints\" "
 #, c-format
 msgid ""
 "Client window \"%s\" has broken transient_for hint. (\"Extended WM hints\" "
@@ -235,49 +236,49 @@ msgstr ""
 "Klientské okno \"%s\" má poru¹enou nápovìdu transient_for. (Schizofrenie "
 "více rodièù \"Extended WM hints\"?)"
 
 "Klientské okno \"%s\" má poru¹enou nápovìdu transient_for. (Schizofrenie "
 "více rodièù \"Extended WM hints\"?)"
 
-#: ../ioncore/clientwin.c:388
+#: ../ioncore/clientwin.c:385
 #, c-format
 msgid "The transient_for window for \"%s\" is not on the same screen."
 msgstr "Okno transient_for pro \"%s\" není na stejné obrazovce."
 
 #, c-format
 msgid "The transient_for window for \"%s\" is not on the same screen."
 msgstr "Okno transient_for pro \"%s\" není na stejné obrazovce."
 
-#: ../ioncore/clientwin.c:408 ../ioncore/clientwin.c:496
-#: ../ioncore/clientwin.c:1292
+#: ../ioncore/clientwin.c:405 ../ioncore/clientwin.c:512
+#: ../ioncore/clientwin.c:1327
 #, c-format
 msgid "Window %#x disappeared."
 msgstr "Okno %#x zmizelo."
 
 #, c-format
 msgid "Window %#x disappeared."
 msgstr "Okno %#x zmizelo."
 
-#: ../ioncore/clientwin.c:516
+#: ../ioncore/clientwin.c:532
 msgid "Unable to find a matching root window!"
 msgstr "Nemohu najít odpovídající koøenové okno!"
 
 msgid "Unable to find a matching root window!"
 msgstr "Nemohu najít odpovídající koøenové okno!"
 
-#: ../ioncore/clientwin.c:555
+#: ../ioncore/clientwin.c:571
 #, c-format
 msgid "Unable to manage client window %#x."
 msgstr "Nemohu spravovat klientské okno %#x."
 
 #, c-format
 msgid "Unable to manage client window %#x."
 msgstr "Nemohu spravovat klientské okno %#x."
 
-#: ../ioncore/clientwin.c:604
+#: ../ioncore/clientwin.c:620
 msgid "Changes is WM_TRANSIENT_FOR property are unsupported."
 msgstr "Zmìny vlastnosti WM_TRANSIENT_FOR nejsou podporovány."
 
 #
 msgid "Changes is WM_TRANSIENT_FOR property are unsupported."
 msgstr "Zmìny vlastnosti WM_TRANSIENT_FOR nejsou podporovány."
 
 #
-#: ../ioncore/clientwin.c:776
+#: ../ioncore/clientwin.c:792
 msgid "Client does not support the WM_DELETE protocol."
 msgstr "Klient nepodporuje protokol WM_DELETE."
 
 msgid "Client does not support the WM_DELETE protocol."
 msgstr "Klient nepodporuje protokol WM_DELETE."
 
-#: ../ioncore/clientwin.c:1298
+#: ../ioncore/clientwin.c:1333
 msgid "Saved client window does not want to be managed."
 msgstr "Ulo¾ené klientské okno nechce být spravováno."
 
 #
 msgid "Saved client window does not want to be managed."
 msgstr "Ulo¾ené klientské okno nechce být spravováno."
 
 #
-#: ../ioncore/colormap.c:96
+#: ../ioncore/colormap.c:93
 msgid "Unable to store colourmap watch info."
 msgstr "Nemohu ulo¾it informace o barevné mapì."
 
 msgid "Unable to store colourmap watch info."
 msgstr "Nemohu ulo¾it informace o barevné mapì."
 
-#: ../ioncore/region.c:47
+#: ../ioncore/region.c:45
 msgid "Creating region with negative width or height!"
 msgstr "Vytváøím oblast se zápornou ¹íøkou nebo vý¹kou!"
 
 msgid "Creating region with negative width or height!"
 msgstr "Vytváøím oblast se zápornou ¹íøkou nebo vý¹kou!"
 
-#: ../ioncore/region.c:95
+#: ../ioncore/region.c:93
 #, c-format
 msgid "Destroying object \"%s\" with client windows as children."
 msgstr "Nièím objekt \"%s\" spoleènì s klientskými okny jako dìtmi."
 #, c-format
 msgid "Destroying object \"%s\" with client windows as children."
 msgstr "Nièím objekt \"%s\" spoleènì s klientskými okny jako dìtmi."
@@ -295,43 +296,43 @@ msgstr "(nezn
 msgid "Failed to rescue some client windows - not closing."
 msgstr "Záchrana nìkterých klientských oken selhala - nezavírám."
 
 msgid "Failed to rescue some client windows - not closing."
 msgstr "Záchrana nìkterých klientských oken selhala - nezavírám."
 
-#: ../ioncore/attach.c:58 ../ioncore/frame-pointer.c:280
+#: ../ioncore/attach.c:55 ../ioncore/frame-pointer.c:278
 #, c-format
 msgid "Attempt to make region %s manage its ancestor %s."
 msgstr "Pokus, aby oblast %s spravovala svého pøedka %s."
 
 #, c-format
 msgid "Attempt to make region %s manage its ancestor %s."
 msgstr "Pokus, aby oblast %s spravovala svého pøedka %s."
 
-#: ../ioncore/attach.c:83
+#: ../ioncore/attach.c:80
 msgid "Unable to reparent."
 msgstr "Nemohu zmìnit rodièe."
 
 msgid "Unable to reparent."
 msgstr "Nemohu zmìnit rodièe."
 
-#: ../ioncore/attach.c:92
+#: ../ioncore/attach.c:89
 msgid "Unexpected attach error: trying to recover by attaching to screen."
 msgstr "Neoèekávaná chyba pøipojení: zkou¹ím obnovit pøipojením k obrazovce."
 
 msgid "Unexpected attach error: trying to recover by attaching to screen."
 msgstr "Neoèekávaná chyba pøipojení: zkou¹ím obnovit pøipojením k obrazovce."
 
-#: ../ioncore/attach.c:111
+#: ../ioncore/attach.c:108
 msgid "Failed recovery."
 msgstr "Obnovení selhalo."
 
 msgid "Failed recovery."
 msgstr "Obnovení selhalo."
 
-#: ../ioncore/manage.c:193
+#: ../ioncore/manage.c:190
 msgid "Unable to find a screen for a new client window."
 msgstr "Nemohu najít obrazovku pro nové klientské okno."
 
 msgid "Unable to find a screen for a new client window."
 msgstr "Nemohu najít obrazovku pro nové klientské okno."
 
-#: ../ioncore/rootwin.c:218
+#: ../ioncore/rootwin.c:215
 #, c-format
 msgid "Unable to redirect root window events for screen %d."
 msgstr "Nemohu pøesmìrovat události koøenového okna na obrazovce %d."
 
 #, c-format
 msgid "Unable to redirect root window events for screen %d."
 msgstr "Nemohu pøesmìrovat události koøenového okna na obrazovce %d."
 
-#: ../ioncore/names.c:91
+#: ../ioncore/names.c:88
 #, c-format
 msgid "Corrupt instance number %s."
 msgstr "Poru¹ená instance èíslo %s."
 
 #, c-format
 msgid "Corrupt instance number %s."
 msgstr "Poru¹ená instance èíslo %s."
 
-#: ../ioncore/saveload.c:98
+#: ../ioncore/saveload.c:95
 #, c-format
 msgid "Unknown class \"%s\", cannot create region."
 msgstr "Neznámá tøída \"%s\", nemohu vytvoøit oblast."
 
 #, c-format
 msgid "Unknown class \"%s\", cannot create region."
 msgstr "Neznámá tøída \"%s\", nemohu vytvoøit oblast."
 
-#: ../ioncore/saveload.c:202
+#: ../ioncore/saveload.c:199
 #, c-format
 msgid ""
 "There were errors loading layout. Backing up current layout savefile as\n"
 #, c-format
 msgid ""
 "There were errors loading layout. Backing up current layout savefile as\n"
@@ -349,46 +350,46 @@ msgstr ""
 "Pøedtím nezapomeòte opravit konfiguraèní soubory, které zpùsobily tyto\n"
 "problémy. (Mo¾ná chybìjící modul?)"
 
 "Pøedtím nezapomeòte opravit konfiguraèní soubory, které zpùsobily tyto\n"
 "problémy. (Mo¾ná chybìjící modul?)"
 
-#: ../ioncore/saveload.c:253
+#: ../ioncore/saveload.c:250
 msgid "Unable to get file for layout backup."
 msgstr "Nemohu získat soubor pro zálohu rozlo¾ení."
 
 msgid "Unable to get file for layout backup."
 msgstr "Nemohu získat soubor pro zálohu rozlo¾ení."
 
-#: ../ioncore/saveload.c:257
+#: ../ioncore/saveload.c:254
 #, c-format
 msgid "Backup file %s already exists."
 msgstr "Zálo¾ní soubor %s ji¾ existuje."
 
 #, c-format
 msgid "Backup file %s already exists."
 msgstr "Zálo¾ní soubor %s ji¾ existuje."
 
-#: ../ioncore/saveload.c:263
+#: ../ioncore/saveload.c:260
 msgid "Failed backup."
 msgstr "Selhala záloha."
 
 #
 msgid "Failed backup."
 msgstr "Selhala záloha."
 
 #
-#: ../ioncore/saveload.c:268
+#: ../ioncore/saveload.c:265
 msgid "Unable to initialise layout on any screen."
 msgstr "Na ¾ádné obrazovce nemohu inicializovat rozlo¾ení."
 
 msgid "Unable to initialise layout on any screen."
 msgstr "Na ¾ádné obrazovce nemohu inicializovat rozlo¾ení."
 
-#: ../ioncore/saveload.c:295
+#: ../ioncore/saveload.c:292
 #, c-format
 msgid "Unable to get configuration for screen %d."
 msgstr "Nemohu získat nastavení pro obrazovku %d."
 
 #, c-format
 msgid "Unable to get configuration for screen %d."
 msgstr "Nemohu získat nastavení pro obrazovku %d."
 
-#: ../ioncore/saveload.c:308
+#: ../ioncore/saveload.c:305
 msgid "Unable to save layout."
 msgstr "Nemohu ulo¾it rozlo¾ení."
 
 msgid "Unable to save layout."
 msgstr "Nemohu ulo¾it rozlo¾ení."
 
-#: ../ioncore/conf.c:235
+#: ../ioncore/conf.c:237
 msgid "User directory can not be set."
 msgstr "U¾ivatelský adresáø nemù¾e být nastaven."
 
 msgid "User directory can not be set."
 msgstr "U¾ivatelský adresáø nemù¾e být nastaven."
 
-#: ../ioncore/conf.c:309
+#: ../ioncore/conf.c:311
 msgid "Some bindmaps were empty, loading ioncore_efbb."
 msgstr "Nìkteré tabulky kláves jsou prázdné, nahrávám ioncore_efbb."
 
 msgid "Some bindmaps were empty, loading ioncore_efbb."
 msgstr "Nìkteré tabulky kláves jsou prázdné, nahrávám ioncore_efbb."
 
-#: ../ioncore/fullscreen.c:49
+#: ../ioncore/fullscreen.c:46
 msgid "Failed to enter full screen mode."
 msgstr "Selhal pøechod do celoobrazovkového re¾imu."
 
 msgid "Failed to enter full screen mode."
 msgstr "Selhal pøechod do celoobrazovkového re¾imu."
 
-#: ../ioncore/fullscreen.c:83
+#: ../ioncore/fullscreen.c:80
 msgid ""
 "Failed to return from full screen mode; remaining manager or parent from "
 "previous location refused to manage us."
 msgid ""
 "Failed to return from full screen mode; remaining manager or parent from "
 "previous location refused to manage us."
@@ -397,153 +398,148 @@ msgstr ""
 "z pøedchozího umístìní nás nechce spravovat."
 
 #
 "z pøedchozího umístìní nás nechce spravovat."
 
 #
-#: ../ioncore/mplex.c:1685
+#: ../ioncore/mplex.c:1797
 msgid "Invalid position setting."
 msgstr "Neplatné nastavení pozice."
 
 #
 msgid "Invalid position setting."
 msgstr "Neplatné nastavení pozice."
 
 #
-#: ../ioncore/mplex.c:1725
+#: ../ioncore/mplex.c:1837
 msgid "Invalid action setting."
 msgstr "Neplatné nastavení akce."
 
 msgid "Invalid action setting."
 msgstr "Neplatné nastavení akce."
 
-#: ../ioncore/gr.c:120
+#: ../ioncore/gr.c:117
 #, c-format
 msgid "Drawing engine %s is not registered!"
 msgstr "Vykreslovací jednotka %s není registrována!"
 
 #, c-format
 msgid "Drawing engine %s is not registered!"
 msgstr "Vykreslovací jednotka %s není registrována!"
 
-#: ../ioncore/gr.c:139
+#: ../ioncore/gr.c:136
 #, c-format
 msgid "Unable to find brush for style '%s'."
 msgstr "Nemohu najít ¹tìtec pro styl \"%s\"."
 
 #, c-format
 msgid "Unable to find brush for style '%s'."
 msgstr "Nemohu najít ¹tìtec pro styl \"%s\"."
 
-#: ../ioncore/gr.c:646
+#: ../ioncore/gr.c:652
 msgid "No drawing engines loaded, trying \"de\"."
 msgstr "Nebyly nahrány ¾ádné vykreslovací jednotky, zkou¹ím \"%s\"."
 
 msgid "No drawing engines loaded, trying \"de\"."
 msgstr "Nebyly nahrány ¾ádné vykreslovací jednotky, zkou¹ím \"%s\"."
 
-#: ../ioncore/frame-draw.c:314
+#: ../ioncore/frame-draw.c:311
 msgid "<empty frame>"
 msgstr "<prázdný rám>"
 
 msgid "<empty frame>"
 msgstr "<prázdný rám>"
 
-#: ../ioncore/group.c:186 ../mod_tiling/tiling.c:92
+#: ../ioncore/group.c:183 ../mod_tiling/tiling.c:89
 #, c-format
 msgid "Error reparenting %s."
 msgstr "Chyba zmìny rodièe %s."
 
 #, c-format
 msgid "Error reparenting %s."
 msgstr "Chyba zmìny rodièe %s."
 
-#: ../ioncore/group.c:711
+#: ../ioncore/group.c:708
 msgid "'bottom' already set."
 msgstr "'bottom' je ji¾ nastaven."
 
 msgid "'bottom' already set."
 msgstr "'bottom' je ji¾ nastaven."
 
-#: ../ioncore/navi.c:45
+#: ../ioncore/navi.c:42
 msgid "Invalid parameter."
 msgstr "Neplatný parametr"
 
 msgid "Invalid parameter."
 msgstr "Neplatný parametr"
 
-#: ../ioncore/navi.c:72
+#: ../ioncore/navi.c:69
 msgid "Invalid direction parameter."
 msgstr "Neplatný parametr smìru."
 
 msgid "Invalid direction parameter."
 msgstr "Neplatný parametr smìru."
 
-#: ../ioncore/group-ws.c:51
+#: ../ioncore/group-ws.c:48
 #, c-format
 msgid "Unknown placement method \"%s\"."
 msgstr "Neznámý zpùsob umístìní \"%s\"."
 
 #, c-format
 msgid "Unknown placement method \"%s\"."
 msgstr "Neznámý zpùsob umístìní \"%s\"."
 
-#: ../ioncore/detach.c:176
+#: ../ioncore/detach.c:174
 msgid "Failed to reattach."
 msgstr "Znovupøipojení selhalo."
 
 msgid "Failed to reattach."
 msgstr "Znovupøipojení selhalo."
 
-#: ../ioncore/screen-notify.c:190
+#: ../ioncore/screen-notify.c:187
 msgid "act: "
 msgstr "akt: "
 
 #
 msgid "act: "
 msgstr "akt: "
 
 #
-#: ../mod_tiling/tiling.c:73
+#: ../mod_tiling/tiling.c:70
 msgid "Split not on workspace."
 msgstr "Rozdìlení není na pracovní plo¹e."
 
 msgid "Split not on workspace."
 msgstr "Rozdìlení není na pracovní plo¹e."
 
-#: ../mod_tiling/tiling.c:348
+#: ../mod_tiling/tiling.c:345
 msgid "Unable to create a node for status display."
 msgstr "Nemohu vytvoøit uzel pro stavový øádek."
 
 msgid "Unable to create a node for status display."
 msgstr "Nemohu vytvoøit uzel pro stavový øádek."
 
-#: ../mod_tiling/tiling.c:361
+#: ../mod_tiling/tiling.c:358
 msgid "Unable to create new split for status display."
 msgstr "Nemohu vytvoøit nové rozdìlení pro stavový øádek."
 
 msgid "Unable to create new split for status display."
 msgstr "Nemohu vytvoøit nové rozdìlení pro stavový øádek."
 
-#: ../mod_tiling/tiling.c:710
+#: ../mod_tiling/tiling.c:709
 msgid "Tiling in useless state."
 msgstr "Dl¾dice v neu¾iteèném stavu."
 
 msgid "Tiling in useless state."
 msgstr "Dl¾dice v neu¾iteèném stavu."
 
-#: ../mod_tiling/tiling.c:924
+#: ../mod_tiling/tiling.c:923
 msgid "Invalid direction"
 msgstr "Neplatný smìr"
 
 #
 msgid "Invalid direction"
 msgstr "Neplatný smìr"
 
 #
-#: ../mod_tiling/tiling.c:957 ../mod_tiling/split.c:1018
+#: ../mod_tiling/tiling.c:956 ../mod_tiling/split.c:1030
 msgid "Invalid node."
 msgstr "Neplatný uzel."
 
 #
 msgid "Invalid node."
 msgstr "Neplatný uzel."
 
 #
-#: ../mod_tiling/tiling.c:976
+#: ../mod_tiling/tiling.c:975
 msgid "Unable to split."
 msgstr "Nemohu rozdìlit."
 
 msgid "Unable to split."
 msgstr "Nemohu rozdìlit."
 
-#: ../mod_tiling/tiling.c:1090
-msgid ""
-"Unable to unsplit: Could not move client windows elsewhere within the tiling."
-msgstr "Nemohu slouèit: Nemohu pøesunout klientské okno nìkam do dla¾dic."
-
-#: ../mod_tiling/tiling.c:1207
+#: ../mod_tiling/tiling.c:1190
 msgid "Nil parameter."
 msgstr "Prázdný parametr."
 
 msgid "Nil parameter."
 msgstr "Prázdný parametr."
 
-#: ../mod_tiling/tiling.c:1212
+#: ../mod_tiling/tiling.c:1195
 msgid "Manager doesn't match."
 msgstr "Správce se neshoduje."
 
 msgid "Manager doesn't match."
 msgstr "Správce se neshoduje."
 
-#: ../mod_tiling/tiling.c:1249
+#: ../mod_tiling/tiling.c:1232
 msgid "The status display is not a valid parameter for this routine."
 msgstr "Stavový displej není v této rutinì platným parametrem."
 
 msgid "The status display is not a valid parameter for this routine."
 msgstr "Stavový displej není v této rutinì platným parametrem."
 
-#: ../mod_tiling/tiling.c:1340
+#: ../mod_tiling/tiling.c:1323
 msgid "Refusing to float split directly containing the status display."
 msgstr "Odmítám rozdìlit pøímo prvek obsahující stavový displej."
 
 msgid "Refusing to float split directly containing the status display."
 msgstr "Odmítám rozdìlit pøímo prvek obsahující stavový displej."
 
-#: ../mod_tiling/tiling.c:1403
+#: ../mod_tiling/tiling.c:1387
 msgid "No suitable split here."
 msgstr "®ádné vhodné rozdìlení."
 
 #
 msgid "No suitable split here."
 msgstr "®ádné vhodné rozdìlení."
 
 #
-#: ../mod_tiling/tiling.c:1439
+#: ../mod_tiling/tiling.c:1423
 msgid "Could not get split tree."
 msgstr "Nemohu získat strom rozdìlení"
 
 msgid "Could not get split tree."
 msgstr "Nemohu získat strom rozdìlení"
 
-#: ../mod_tiling/tiling.c:1460
+#: ../mod_tiling/tiling.c:1444
 msgid "Workspace already has a status display node."
 msgstr "Pracovní plocha ji¾ obsahuje stavový displej."
 
 #
 msgid "Workspace already has a status display node."
 msgstr "Pracovní plocha ji¾ obsahuje stavový displej."
 
 #
-#: ../mod_tiling/tiling.c:1498
+#: ../mod_tiling/tiling.c:1482
 msgid "Missing region parameters."
 msgstr "Chybìjící parametry oblasti."
 
 msgid "Missing region parameters."
 msgstr "Chybìjící parametry oblasti."
 
-#: ../mod_tiling/tiling.c:1542 ../mod_tiling/splitfloat.c:780
+#: ../mod_tiling/tiling.c:1526 ../mod_tiling/splitfloat.c:777
 msgid "Invalid direction."
 msgstr "Neplatný smìr."
 
 #
 msgid "Invalid direction."
 msgstr "Neplatný smìr."
 
 #
-#: ../mod_tiling/tiling.c:1617
+#: ../mod_tiling/tiling.c:1601
 msgid "No split type given."
 msgstr "Nebyl zadán typ rozdìlení."
 
 msgid "No split type given."
 msgstr "Nebyl zadán typ rozdìlení."
 
-#: ../mod_tiling/tiling.c:1630
+#: ../mod_tiling/tiling.c:1614
 msgid "Unknown split type."
 msgstr "Neznámý typ rozdìlení."
 
 #
 #
 msgid "Unknown split type."
 msgstr "Neznámý typ rozdìlení."
 
 #
 #
-#: ../mod_tiling/tiling.c:1670
+#: ../mod_tiling/tiling.c:1654
 msgid "The workspace is empty."
 msgstr "Pracovní plocha je prázdná."
 
 msgid "The workspace is empty."
 msgstr "Pracovní plocha je prázdná."
 
-#: ../mod_tiling/placement.c:104
+#: ../mod_tiling/placement.c:101
 #, c-format
 msgid ""
 "Ooops... could not find a region to attach client window to on workspace %s."
 #, c-format
 msgid ""
 "Ooops... could not find a region to attach client window to on workspace %s."
@@ -552,63 +548,63 @@ msgstr ""
 "klientské okno."
 
 #
 "klientské okno."
 
 #
-#: ../mod_tiling/split.c:524
+#: ../mod_tiling/split.c:536
 msgid "Unable to move the status display out of way."
 msgstr "Nemohu pøesunout stavový øádek tak, aby nezavazel."
 
 msgid "Unable to move the status display out of way."
 msgstr "Nemohu pøesunout stavový øádek tak, aby nezavazel."
 
-#: ../mod_tiling/split.c:937
+#: ../mod_tiling/split.c:949
 msgid "REGION_RQGEOM_TRYONLY unsupported for status display."
 msgstr "REGION_RQGEOM_TRYONLY není stavovým displejem podporován."
 
 #
 msgid "REGION_RQGEOM_TRYONLY unsupported for status display."
 msgstr "REGION_RQGEOM_TRYONLY není stavovým displejem podporován."
 
 #
-#: ../mod_tiling/split.c:1083
+#: ../mod_tiling/split.c:1102
 msgid "Splitting the status display is not allowed."
 msgstr "Rozdìlení stavového displeje není povoleno."
 
 msgid "Splitting the status display is not allowed."
 msgstr "Rozdìlení stavového displeje není povoleno."
 
-#: ../mod_tiling/split.c:1114 ../mod_tiling/splitfloat.c:903
+#: ../mod_tiling/split.c:1128 ../mod_tiling/splitfloat.c:900
 msgid "Unable to split: not enough free space."
 msgstr "Nelze rozdìlit: nedostatek volného místa."
 
 msgid "Unable to split: not enough free space."
 msgstr "Nelze rozdìlit: nedostatek volného místa."
 
-#: ../mod_tiling/split.c:1865
+#: ../mod_tiling/split.c:1881
 #, c-format
 msgid "Unable to get configuration for %s."
 msgstr "Nemohu získat nastavení pro %s."
 
 #, c-format
 msgid "Unable to get configuration for %s."
 msgstr "Nemohu získat nastavení pro %s."
 
-#: ../mod_tiling/split-stdisp.c:602 ../mod_tiling/split-stdisp.c:627
+#: ../mod_tiling/split-stdisp.c:599 ../mod_tiling/split-stdisp.c:624
 msgid "Status display in bad split configuration."
 msgstr "Stavový øádek se nachází v chybné konfiguraci rozdìlení."
 
 msgid "Status display in bad split configuration."
 msgstr "Stavový øádek se nachází v chybné konfiguraci rozdìlení."
 
-#: ../mod_tiling/split-stdisp.c:667
+#: ../mod_tiling/split-stdisp.c:664
 msgid "Status display badly located in split tree."
 msgstr "Stavový øádek je ve stromu rozdìlení umístìn na ¹patném místì."
 
 msgid "Status display badly located in split tree."
 msgstr "Stavový øádek je ve stromu rozdìlení umístìn na ¹patném místì."
 
-#: ../mod_tiling/ops.c:72 ../mod_tiling/ops.c:120
+#: ../mod_tiling/ops.c:69 ../mod_tiling/ops.c:117
 msgid "Not member of a group"
 msgstr "Není èlenem skupiny"
 
 msgid "Not member of a group"
 msgstr "Není èlenem skupiny"
 
-#: ../mod_tiling/ops.c:77
+#: ../mod_tiling/ops.c:74
 msgid "Manager group already has bottom"
 msgstr "Øídící skupina ji¾ má dno"
 
 msgid "Manager group already has bottom"
 msgstr "Øídící skupina ji¾ má dno"
 
-#: ../mod_tiling/ops.c:154
+#: ../mod_tiling/ops.c:151
 msgid "Unable to move a region from tiling to group."
 msgstr "Nemohu pøesunout regiion z dlá¾dìní do skupiny."
 
 msgid "Unable to move a region from tiling to group."
 msgstr "Nemohu pøesunout regiion z dlá¾dìní do skupiny."
 
-#: ../mod_query/wedln.c:813
+#: ../mod_query/wedln.c:811
 msgid "history"
 msgstr "historie"
 
 msgid "history"
 msgstr "historie"
 
-#: ../mod_query/fwarn.c:35
+#: ../mod_query/fwarn.c:32
 msgid "Error:\n"
 msgstr "Chyba:\n"
 
 #
 msgid "Error:\n"
 msgstr "Chyba:\n"
 
 #
-#: ../mod_menu/menu.c:601
+#: ../mod_menu/menu.c:598
 msgid "Empty menu."
 msgstr "Prázdné menu."
 
 #
 msgid "Empty menu."
 msgstr "Prázdné menu."
 
 #
-#: ../mod_sm/sm.c:111
+#: ../mod_sm/sm.c:108
 msgid "Failed to set session directory."
 msgstr "Selhalo nastavení adresáøe s relací."
 
 msgid "Failed to set session directory."
 msgstr "Selhalo nastavení adresáøe s relací."
 
@@ -638,34 +634,34 @@ msgstr "Spr
 msgid "Unable to connect to the session manager."
 msgstr "Nemohu se pøipojit ke správci sezení."
 
 msgid "Unable to connect to the session manager."
 msgstr "Nemohu se pøipojit ke správci sezení."
 
-#: ../mod_sp/main.c:126
+#: ../mod_sp/main.c:124
 msgid "Unable to create scratchpad."
 msgstr "Nemohu vytvoøit poznámkový blok."
 
 msgid "Unable to create scratchpad."
 msgstr "Nemohu vytvoøit poznámkový blok."
 
-#: ../mod_statusbar/main.c:75
+#: ../mod_statusbar/main.c:74
 msgid "reading a pipe"
 msgstr "ètu rouru"
 
 msgid "reading a pipe"
 msgstr "ètu rouru"
 
-#: ../mod_statusbar/main.c:159
+#: ../mod_statusbar/main.c:163
 msgid "ion-statusd timed out."
 msgstr "Èas ion-statusd vypr¹el."
 
 msgid "ion-statusd timed out."
 msgstr "Èas ion-statusd vypr¹el."
 
-#: ../mod_statusbar/statusbar.c:1081
+#: ../mod_statusbar/statusbar.c:1079
 #, c-format
 msgid "[ %date || load: %load ] %filler%systray"
 msgstr "[ %date || vytí¾ení: %load ] %filler%systray"
 
 #, c-format
 msgid "[ %date || load: %load ] %filler%systray"
 msgstr "[ %date || vytí¾ení: %load ] %filler%systray"
 
-#: ../de/init.c:68
+#: ../de/init.c:65
 #, c-format
 msgid "Border attribute %s sanity check failed."
 msgstr "Selhala kontrola atributu okraje %s."
 
 #, c-format
 msgid "Border attribute %s sanity check failed."
 msgstr "Selhala kontrola atributu okraje %s."
 
-#: ../de/init.c:91
+#: ../de/init.c:88
 #, c-format
 msgid "Unknown border style \"%s\"."
 msgstr "Neznámý styl okraje \"%s\"."
 
 #, c-format
 msgid "Unknown border style \"%s\"."
 msgstr "Neznámý styl okraje \"%s\"."
 
-#: ../de/init.c:111
+#: ../de/init.c:108
 #, c-format
 msgid "Unknown border side configuration \"%s\"."
 msgstr "Neznámé nastavení okraje \"%s\"."
 #, c-format
 msgid "Unknown border side configuration \"%s\"."
 msgstr "Neznámé nastavení okraje \"%s\"."
@@ -675,27 +671,17 @@ msgstr "Nezn
 msgid "Unable to allocate colour \"%s\"."
 msgstr "Nemohu alokovat barvu \"%s\"."
 
 msgid "Unable to allocate colour \"%s\"."
 msgstr "Nemohu alokovat barvu \"%s\"."
 
-#: ../de/init.c:210
+#: ../de/init.c:220
 #, c-format
 msgid "Corrupt substyle table %d."
 msgstr "Poru¹ená tabulka stylù %d."
 
 #, c-format
 msgid "Corrupt substyle table %d."
 msgstr "Poru¹ená tabulka stylù %d."
 
-#: ../de/init.c:243
+#: ../de/init.c:253
 #, c-format
 msgid "Unknown text alignment \"%s\"."
 msgstr "Neznámý textový prvek \"%s\"."
 
 #, c-format
 msgid "Unknown text alignment \"%s\"."
 msgstr "Neznámý textový prvek \"%s\"."
 
-#: ../de/init.c:319
-#, c-format
-msgid "'based_on' for %s points back to the style itself."
-msgstr "Èást 'based_on' stylu %s ukazuje sama na sebe."
-
-#: ../de/init.c:322
-#, c-format
-msgid "Unknown base style. \"%s\""
-msgstr "Neznámý základní styl. \"%s\""
-
-#: ../de/font.c:47
+#: ../de/font.c:44
 #, c-format
 msgid ""
 "Fontset for font pattern '%s' implements context dependent drawing, which is "
 #, c-format
 msgid ""
 "Fontset for font pattern '%s' implements context dependent drawing, which is "
@@ -704,71 +690,71 @@ msgstr ""
 "Sada fontù pro vzor '%s' implementuje kontextovì závislé kreslení, co¾ není "
 "podporováno. Oèekávejte nesmysly."
 
 "Sada fontù pro vzor '%s' implementuje kontextovì závislé kreslení, co¾ není "
 "podporováno. Oèekávejte nesmysly."
 
-#: ../de/font.c:59
+#: ../de/font.c:56
 #, c-format
 msgid "Could not load font \"%s\", trying \"%s\""
 msgstr "Nemohu nahrát font \"%s\", zkou¹ím \"%s\"."
 
 #, c-format
 msgid "Could not load font \"%s\", trying \"%s\""
 msgstr "Nemohu nahrát font \"%s\", zkou¹ím \"%s\"."
 
-#: ../de/font.c:63
+#: ../de/font.c:60
 msgid "Failed to load fallback font."
 msgstr "Nahrání zálo¾ního fontu selhalo."
 
 msgid "Failed to load fallback font."
 msgstr "Nahrání zálo¾ního fontu selhalo."
 
-#: ../de/style.c:315
+#: ../de/style.c:291
 #, c-format
 msgid "Style is still in use [%d] but the module is being unloaded!"
 msgstr "Styl se stále pou¾ívá [%d], ale modul se ji¾ ru¹í z pamìti!"
 
 #, c-format
 msgid "Style is still in use [%d] but the module is being unloaded!"
 msgstr "Styl se stále pou¾ívá [%d], ale modul se ji¾ ru¹í z pamìti!"
 
-#: ../ion/ion.c:42 ../pwm/pwm.c:42
+#: ../ion/ion.c:39 ../pwm/pwm.c:39
 msgid "X display to use"
 msgstr "X displej, který se má pou¾ít"
 
 msgid "X display to use"
 msgstr "X displej, který se má pou¾ít"
 
-#: ../ion/ion.c:45 ../pwm/pwm.c:45
+#: ../ion/ion.c:42 ../pwm/pwm.c:42
 msgid "Configuration file"
 msgstr "Konfiguraèní soubor"
 
 msgid "Configuration file"
 msgstr "Konfiguraèní soubor"
 
-#: ../ion/ion.c:48 ../pwm/pwm.c:48
+#: ../ion/ion.c:45 ../pwm/pwm.c:45
 msgid "Add directory to search path"
 msgstr "Pøidá adresáø do prohledávané cesty"
 
 msgid "Add directory to search path"
 msgstr "Pøidá adresáø do prohledávané cesty"
 
-#: ../ion/ion.c:51 ../pwm/pwm.c:51
+#: ../ion/ion.c:48 ../pwm/pwm.c:48
 msgid "Manage default screen only"
 msgstr "Spravuje pouze výchozí obrazovku"
 
 msgid "Manage default screen only"
 msgstr "Spravuje pouze výchozí obrazovku"
 
-#: ../ion/ion.c:54 ../pwm/pwm.c:54
+#: ../ion/ion.c:51 ../pwm/pwm.c:51
 msgid "Name of session (affects savefiles)"
 msgstr "Jméno sezení (ovlivní místo ulo¾ení)"
 
 msgid "Name of session (affects savefiles)"
 msgstr "Jméno sezení (ovlivní místo ulo¾ení)"
 
-#: ../ion/ion.c:57 ../pwm/pwm.c:57
+#: ../ion/ion.c:54 ../pwm/pwm.c:54
 msgid "Session manager client ID"
 msgstr "Klientské ID správce sezení"
 
 msgid "Session manager client ID"
 msgstr "Klientské ID správce sezení"
 
-#: ../ion/ion.c:60 ../pwm/pwm.c:60
+#: ../ion/ion.c:57 ../pwm/pwm.c:57
 msgid "Do not create startup error log and display it with xmessage."
 msgstr ""
 "Nevytváøet záznam o chybách pøi startu a nezobrazovat jej pomocí xmessage."
 
 msgid "Do not create startup error log and display it with xmessage."
 msgstr ""
 "Nevytváøet záznam o chybách pøi startu a nezobrazovat jej pomocí xmessage."
 
-#: ../ion/ion.c:64 ../pwm/pwm.c:64
+#: ../ion/ion.c:61 ../pwm/pwm.c:61
 msgid "Show this help"
 msgstr "Zobrazí tuto nápovìdu"
 
 msgid "Show this help"
 msgstr "Zobrazí tuto nápovìdu"
 
-#: ../ion/ion.c:67 ../pwm/pwm.c:67
+#: ../ion/ion.c:64 ../pwm/pwm.c:64
 msgid "Show program version"
 msgstr "Zobrazí verzi programu"
 
 msgid "Show program version"
 msgstr "Zobrazí verzi programu"
 
-#: ../ion/ion.c:70 ../pwm/pwm.c:70
+#: ../ion/ion.c:67 ../pwm/pwm.c:67
 msgid "Show about text"
 msgstr "Zobrazí nìco o programu"
 
 msgid "Show about text"
 msgstr "Zobrazí nìco o programu"
 
-#: ../ion/ion.c:85
+#: ../ion/ion.c:82
 msgid "Could not get user configuration file directory."
 msgstr "Nemohu získat u¾ivatelùv adresáø s nastavením."
 
 msgid "Could not get user configuration file directory."
 msgstr "Nemohu získat u¾ivatelùv adresáø s nastavením."
 
-#: ../ion/ion.c:99
+#: ../ion/ion.c:96
 #, c-format
 msgid "%s/welcome.txt"
 msgstr "%s/welcome.cs.txt"
 
 #, c-format
 msgid "%s/welcome.txt"
 msgstr "%s/welcome.cs.txt"
 
-#: ../ion/ion.c:132 ../pwm/pwm.c:79
+#: ../ion/ion.c:129 ../pwm/pwm.c:76
 #, c-format
 msgid ""
 "Usage: %s [options]\n"
 #, c-format
 msgid ""
 "Usage: %s [options]\n"
@@ -778,54 +764,54 @@ msgstr ""
 "\n"
 
 #
 "\n"
 
 #
-#: ../ion/ion.c:200 ../pwm/pwm.c:150
+#: ../ion/ion.c:197 ../pwm/pwm.c:147
 msgid "Invalid command line."
 msgstr "Neplatná pøíkazová øádka."
 
 msgid "Invalid command line."
 msgstr "Neplatná pøíkazová øádka."
 
-#: ../ion/ion.c:222
+#: ../ion/ion.c:219
 msgid "Ion startup error log:\n"
 msgstr "Záznam chyb pøi startu Ionu:\n"
 
 msgid "Ion startup error log:\n"
 msgstr "Záznam chyb pøi startu Ionu:\n"
 
-#: ../ion/ion.c:233 ../pwm/pwm.c:183
+#: ../ion/ion.c:230 ../pwm/pwm.c:180
 msgid "Refusing to start due to encountered errors."
 msgstr "Odmítám se spustit kvùli zaznamenaným chybám."
 
 msgid "Refusing to start due to encountered errors."
 msgstr "Odmítám se spustit kvùli zaznamenaným chybám."
 
-#: ../pwm/pwm.c:172
+#: ../pwm/pwm.c:169
 msgid "PWM startup error log:\n"
 msgstr "Záznam chyb pøi startu PWM:\n"
 
 msgid "PWM startup error log:\n"
 msgstr "Záznam chyb pøi startu PWM:\n"
 
-#: ../libextl/readconfig.c:86
+#: ../../libextl-3/readconfig.c:86
 msgid "$HOME not set"
 msgstr "Promìnná $HOME není nastavená"
 
 msgid "$HOME not set"
 msgstr "Promìnná $HOME není nastavená"
 
-#: ../libextl/readconfig.c:113
+#: ../../libextl-3/readconfig.c:113
 msgid "User directory not set. Unable to set session directory."
 msgstr "U¾ivatelský adresáø není nastaven. Nemohu nastavit adresáø pro sezení."
 
 msgid "User directory not set. Unable to set session directory."
 msgstr "U¾ivatelský adresáø není nastaven. Nemohu nastavit adresáø pro sezení."
 
-#: ../libextl/readconfig.c:254
+#: ../../libextl-3/readconfig.c:254
 #, c-format
 msgid "Falling back to %s."
 msgstr "Nouzovì pou¾ívám %s."
 
 #, c-format
 msgid "Falling back to %s."
 msgstr "Nouzovì pou¾ívám %s."
 
-#: ../libextl/readconfig.c:474
+#: ../../libextl-3/readconfig.c:474
 #, c-format
 msgid "Unable to create session directory \"%s\"."
 msgstr "Nemohu vytvoøit adresáø pro sezení \"%s\"."
 
 #, c-format
 msgid "Unable to create session directory \"%s\"."
 msgstr "Nemohu vytvoøit adresáø pro sezení \"%s\"."
 
-#: ../libextl/luaextl.c:117
+#: ../../libextl-3/luaextl.c:117
 msgid "Lua stack full."
 msgstr "Lua zásobník je plný."
 
 #
 msgid "Lua stack full."
 msgstr "Lua zásobník je plný."
 
 #
-#: ../libextl/luaextl.c:143
+#: ../../libextl-3/luaextl.c:143
 msgid "Unknown Lua error."
 msgstr "Neznámá Lua chyba."
 
 msgid "Unknown Lua error."
 msgstr "Neznámá Lua chyba."
 
-#: ../libextl/luaextl.c:490
+#: ../../libextl-3/luaextl.c:490
 msgid "Stack trace:"
 msgstr "Výpis zásobníku:"
 
 msgid "Stack trace:"
 msgstr "Výpis zásobníku:"
 
-#: ../libextl/luaextl.c:497
+#: ../../libextl-3/luaextl.c:497
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -834,7 +820,7 @@ msgstr ""
 "\n"
 "(Nemohu získat ladicí informace pro úroveò %d)"
 
 "\n"
 "(Nemohu získat ladicí informace pro úroveò %d)"
 
-#: ../libextl/luaextl.c:515
+#: ../../libextl-3/luaextl.c:515
 msgid ""
 "\n"
 "  [Skipping unnamed C functions.]"
 msgid ""
 "\n"
 "  [Skipping unnamed C functions.]"
@@ -842,40 +828,40 @@ msgstr ""
 "\n"
 "  [Pøeskakuji nepojmenované C funkce.]"
 
 "\n"
 "  [Pøeskakuji nepojmenované C funkce.]"
 
-#: ../libextl/luaextl.c:566
+#: ../../libextl-3/luaextl.c:566
 msgid "Internal error."
 msgstr "Interní chyba."
 
 msgid "Internal error."
 msgstr "Interní chyba."
 
-#: ../libextl/luaextl.c:585
+#: ../../libextl-3/luaextl.c:585
 msgid "Unable to initialize Lua."
 msgstr "Nemohu inicializovat Lua."
 
 msgid "Unable to initialize Lua."
 msgstr "Nemohu inicializovat Lua."
 
-#: ../libextl/luaextl.c:1336
+#: ../../libextl-3/luaextl.c:1469
 msgid ""
 "Too many return values. Use a C compiler that has va_copy to support more."
 msgstr ""
 "Pøíli¹ mnoho návratových hodnot. Pou¾ijte kompilátor C, který obsahuje "
 "va_copy."
 
 msgid ""
 "Too many return values. Use a C compiler that has va_copy to support more."
 msgstr ""
 "Pøíli¹ mnoho návratových hodnot. Pou¾ijte kompilátor C, který obsahuje "
 "va_copy."
 
-#: ../libextl/luaextl.c:1356
+#: ../../libextl-3/luaextl.c:1489
 msgid "Returned dead object."
 msgstr "Vrácen mrtvý objekt."
 
 msgid "Returned dead object."
 msgstr "Vrácen mrtvý objekt."
 
-#: ../libextl/luaextl.c:1359
+#: ../../libextl-3/luaextl.c:1492
 #, c-format
 msgid "Invalid return value (expected '%c', got lua type \"%s\")."
 msgstr "Neplatná návratová hodnota (oèekávána %c, obdr¾en lua typ \"%s\")."
 
 #, c-format
 msgid "Invalid return value (expected '%c', got lua type \"%s\")."
 msgstr "Neplatná návratová hodnota (oèekávána %c, obdr¾en lua typ \"%s\")."
 
-#: ../libextl/luaextl.c:1395 ../libextl/luaextl.c:1750
+#: ../../libextl-3/luaextl.c:1528 ../../libextl-3/luaextl.c:1883
 msgid "Stack full."
 msgstr "Zásobník je plný."
 
 msgid "Stack full."
 msgstr "Zásobník je plný."
 
-#: ../libextl/luaextl.c:1761
+#: ../../libextl-3/luaextl.c:1894
 #, c-format
 msgid "Argument %d to %s is a dead object."
 msgstr "Argument %d pro %s je mrtvý objekt."
 
 #, c-format
 msgid "Argument %d to %s is a dead object."
 msgstr "Argument %d pro %s je mrtvý objekt."
 
-#: ../libextl/luaextl.c:1764
+#: ../../libextl-3/luaextl.c:1897
 #, c-format
 msgid ""
 "Argument %d to %s is of invalid type. (Argument template is '%s', got lua "
 #, c-format
 msgid ""
 "Argument %d to %s is of invalid type. (Argument template is '%s', got lua "
@@ -884,40 +870,40 @@ msgstr ""
 "Argument %d pro %s má neplatný typ. (©ablona argumentu je '%s', dostal jsem "
 "lua typ %s)."
 
 "Argument %d pro %s má neplatný typ. (©ablona argumentu je '%s', dostal jsem "
 "lua typ %s)."
 
-#: ../libextl/luaextl.c:1827
+#: ../../libextl-3/luaextl.c:1960
 msgid "L1 call handler upvalues corrupt."
 msgstr "Obsluha volání L1 je poru¹ená."
 
 msgid "L1 call handler upvalues corrupt."
 msgstr "Obsluha volání L1 je poru¹ená."
 
-#: ../libextl/luaextl.c:1832
+#: ../../libextl-3/luaextl.c:1965
 msgid "Called function has been unregistered."
 msgstr "Volaná funkce byla byla odregistrována."
 
 msgid "Called function has been unregistered."
 msgstr "Volaná funkce byla byla odregistrována."
 
-#: ../libextl/luaextl.c:1843
+#: ../../libextl-3/luaextl.c:1976
 #, c-format
 msgid "Attempt to call an unsafe function \"%s\" in restricted mode."
 msgstr "Pokus o volání nebezpeèné funkce \"%s\" v omezeném re¾imu."
 
 #, c-format
 msgid "Attempt to call an unsafe function \"%s\" in restricted mode."
 msgstr "Pokus o volání nebezpeèné funkce \"%s\" v omezeném re¾imu."
 
-#: ../libextl/luaextl.c:1956
+#: ../../libextl-3/luaextl.c:2089
 #, c-format
 msgid ""
 "Function '%s' has more parameters than the level 1 call handler can handle"
 msgstr "Funkce '%s' má víc parametrù, ne¾ lze zpracovat obsluhou v 1. úrovni"
 
 #
 #, c-format
 msgid ""
 "Function '%s' has more parameters than the level 1 call handler can handle"
 msgstr "Funkce '%s' má víc parametrù, ne¾ lze zpracovat obsluhou v 1. úrovni"
 
 #
-#: ../libextl/luaextl.c:2347
+#: ../../libextl-3/luaextl.c:2480
 msgid "Maximal serialisation depth reached."
 msgstr "Dosa¾ena maximální hloubka serializace."
 
 msgid "Maximal serialisation depth reached."
 msgstr "Dosa¾ena maximální hloubka serializace."
 
-#: ../libextl/luaextl.c:2368
+#: ../../libextl-3/luaextl.c:2501
 #, c-format
 msgid "Unable to serialise type %s."
 msgstr "Nemohu serializovat typ %s."
 
 #, c-format
 msgid "Unable to serialise type %s."
 msgstr "Nemohu serializovat typ %s."
 
-#: ../libextl/luaextl.c:2399
+#: ../../libextl-3/luaextl.c:2532
 msgid "-- This file has been generated by Ion. Do not edit.\n"
 msgstr "-- Tento soubor byl vytvoøen Ionem. Neupravujte jej.\n"
 
 msgid "-- This file has been generated by Ion. Do not edit.\n"
 msgstr "-- Tento soubor byl vytvoøen Ionem. Neupravujte jej.\n"
 
-#: ../libextl/misc.c:17
+#: ../../libextl-3/misc.c:17
 #, c-format
 msgid ""
 "Type checking failed in level 2 call handler for parameter %d (got %s, "
 #, c-format
 msgid ""
 "Type checking failed in level 2 call handler for parameter %d (got %s, "
@@ -1353,51 +1339,14 @@ msgstr "Nemohu naj
 msgid "Too much result data"
 msgstr "Pøíli¹ mnoho výsledkù"
 
 msgid "Too much result data"
 msgstr "Pøíli¹ mnoho výsledkù"
 
-msgid "Could not find %s"
-msgstr "Nemohu najít %s"
-
-msgid "Not a directory."
-msgstr "Není adresáøem."
-
-msgid "Invalid command"
-msgstr "Neplatný pøíkaz"
-
-msgid "Error in command string: "
-msgstr "Chyba v pøíkazu: "
-
-msgid "Error compiling guard: %s"
-msgstr "Chyba pøi sestavení strá¾ce: %s"
-
-msgid "Invalid guard %s."
-msgstr "Neplatná ochrana %s."
-
-msgid "Main menu:"
-msgstr "Hlavní menu:"
-
-msgid "Context menu:"
-msgstr "Kontextové menu:"
-
-msgid "Floating frame"
-msgstr "Plovoucí rám"
-
-msgid "Tiled frame"
-msgstr "Dla¾dicový rám"
-
-msgid "Tiling"
-msgstr "Dla¾dice"
-
-#
-msgid "Workspace"
-msgstr "Pracovní plocha"
-
-msgid "Screen"
-msgstr "Obrazovka"
+msgid "Save look selection in %s?"
+msgstr "Ulo¾it nastavení vzhledu do %s?"
 
 
-msgid "Frame"
-msgstr "Rám"
+msgid "Cannot save selection."
+msgstr "Nemohu ulo¾it výbìr."
 
 
-msgid "Recursive table - unable to deepcopy"
-msgstr "Rekurzivní tabulka - nemohu provést hlubokou kopii"
+msgid "Unable to append to non-table menu"
+msgstr "Nelze pøidat do netabulkového menu"
 
 msgid ""
 "Making the following minimal emergency mappings:\n"
 
 msgid ""
 "Making the following minimal emergency mappings:\n"
@@ -1414,14 +1363,51 @@ msgstr ""
 "  Mod1+C -> close\n"
 "  Mod1+K P/N -> WFrame.switch_next/switch_prev\n"
 
 "  Mod1+C -> close\n"
 "  Mod1+K P/N -> WFrame.switch_next/switch_prev\n"
 
-msgid "Unable to append to non-table menu"
-msgstr "Nelze pøidat do netabulkového menu"
+msgid "Recursive table - unable to deepcopy"
+msgstr "Rekurzivní tabulka - nemohu provést hlubokou kopii"
 
 
-msgid "Cannot save selection."
-msgstr "Nemohu ulo¾it výbìr."
+msgid "Frame"
+msgstr "Rám"
 
 
-msgid "Save look selection in %s?"
-msgstr "Ulo¾it nastavení vzhledu do %s?"
+msgid "Screen"
+msgstr "Obrazovka"
+
+#
+msgid "Workspace"
+msgstr "Pracovní plocha"
+
+msgid "Tiling"
+msgstr "Dla¾dice"
+
+msgid "Tiled frame"
+msgstr "Dla¾dicový rám"
+
+msgid "Floating frame"
+msgstr "Plovoucí rám"
+
+msgid "Context menu:"
+msgstr "Kontextové menu:"
+
+msgid "Main menu:"
+msgstr "Hlavní menu:"
+
+msgid "Invalid guard %s."
+msgstr "Neplatná ochrana %s."
+
+msgid "Error compiling guard: %s"
+msgstr "Chyba pøi sestavení strá¾ce: %s"
+
+msgid "Error in command string: "
+msgstr "Chyba v pøíkazu: "
+
+msgid "Invalid command"
+msgstr "Neplatný pøíkaz"
+
+msgid "Not a directory."
+msgstr "Není adresáøem."
+
+msgid "Could not find %s"
+msgstr "Nemohu najít %s"
 
 msgid "ion-statusd quit."
 msgstr "ion-statusd konèí."
 
 msgid "ion-statusd quit."
 msgstr "ion-statusd konèí."
@@ -1555,6 +1541,17 @@ msgstr "%s %s"
 msgid "%s %s at %s"
 msgstr "%s %s na %s"
 
 msgid "%s %s at %s"
 msgstr "%s %s na %s"
 
+#~ msgid ""
+#~ "Unable to unsplit: Could not move client windows elsewhere within the "
+#~ "tiling."
+#~ msgstr "Nemohu slouèit: Nemohu pøesunout klientské okno nìkam do dla¾dic."
+
+#~ msgid "'based_on' for %s points back to the style itself."
+#~ msgstr "Èást 'based_on' stylu %s ukazuje sama na sebe."
+
+#~ msgid "Unknown base style. \"%s\""
+#~ msgstr "Neznámý základní styl. \"%s\""
+
 #~ msgid "Tag current object within the frame."
 #~ msgstr "Oznaèí aktuální objekt v rámu."
 
 #~ msgid "Tag current object within the frame."
 #~ msgstr "Oznaèí aktuální objekt v rámu."
 
index f17a924cffcdb67472a3b9bb37f9e85223854384..b75f663b20f04747de67acb312c8a522a34ce14a 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ion3\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: Ion3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-04-22 13:13+0300\n"
+"POT-Creation-Date: 2007-07-03 12:00+0300\n"
 "PO-Revision-Date: 2004-07-31 23:50+0300\n"
 "Last-Translator: Tuomo Valkonen <tuomov at iki.fi>\n"
 "Language-Team: none\n"
 "PO-Revision-Date: 2004-07-31 23:50+0300\n"
 "Last-Translator: Tuomo Valkonen <tuomov at iki.fi>\n"
 "Language-Team: none\n"
@@ -19,273 +19,272 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../ioncore/conf-bindings.c:96
+#: ../ioncore/conf-bindings.c:93
 msgid "Insane key combination."
 msgstr "Järjetön näppäinyhdistelmä."
 
 msgid "Insane key combination."
 msgstr "Järjetön näppäinyhdistelmä."
 
-#: ../ioncore/conf-bindings.c:100
+#: ../ioncore/conf-bindings.c:97
 msgid "Could not convert keysym to keycode."
 msgstr "Näppäinsymbolin muunto näppäinkoodiksi epäonnistui."
 
 msgid "Could not convert keysym to keycode."
 msgstr "Näppäinsymbolin muunto näppäinkoodiksi epäonnistui."
 
-#: ../ioncore/conf-bindings.c:111
+#: ../ioncore/conf-bindings.c:108
 #, c-format
 msgid "Unknown button \"%s\"."
 msgstr "Tuntematon nappi \"%s\"."
 
 #, c-format
 msgid "Unknown button \"%s\"."
 msgstr "Tuntematon nappi \"%s\"."
 
-#: ../ioncore/conf-bindings.c:116
+#: ../ioncore/conf-bindings.c:113
 msgid "Insane button combination."
 msgstr "Järjetön nappiyhdistelmä."
 
 msgid "Insane button combination."
 msgstr "Järjetön nappiyhdistelmä."
 
-#: ../ioncore/conf-bindings.c:123 ../ioncore/conf-bindings.c:130
+#: ../ioncore/conf-bindings.c:120 ../ioncore/conf-bindings.c:127
 msgid "Insane modifier combination."
 msgstr "Järjestön näppäinmuunninyhdistelmä."
 
 msgid "Insane modifier combination."
 msgstr "Järjestön näppäinmuunninyhdistelmä."
 
-#: ../ioncore/conf-bindings.c:168
+#: ../ioncore/conf-bindings.c:165
 #, c-format
 msgid "Can not wait on modifiers when no modifiers set in \"%s\"."
 msgstr ""
 "Näppäinmuuntimia ei voida odottaa sidonnassa \"%s\", koska siinä ei ole "
 "niitä."
 
 #, c-format
 msgid "Can not wait on modifiers when no modifiers set in \"%s\"."
 msgstr ""
 "Näppäinmuuntimia ei voida odottaa sidonnassa \"%s\", koska siinä ei ole "
 "niitä."
 
-#: ../ioncore/conf-bindings.c:186
+#: ../ioncore/conf-bindings.c:183
 #, c-format
 msgid "Unable to add binding %s."
 msgstr "Ei voitu lisätä sidontaa %s."
 
 #, c-format
 msgid "Unable to add binding %s."
 msgstr "Ei voitu lisätä sidontaa %s."
 
-#: ../ioncore/conf-bindings.c:191
+#: ../ioncore/conf-bindings.c:188
 #, c-format
 msgid "Unable to remove binding %s."
 msgstr "Ei voitu poistaa sidontaa %s."
 
 #, c-format
 msgid "Unable to remove binding %s."
 msgstr "Ei voitu poistaa sidontaa %s."
 
-#: ../ioncore/conf-bindings.c:230
+#: ../ioncore/conf-bindings.c:228
 #, c-format
 msgid "Unable to add submap for binding %s."
 msgstr "Ei voida lisätä alikarttaa sidonnalle %s."
 
 #
 #, c-format
 msgid "Unable to add submap for binding %s."
 msgstr "Ei voida lisätä alikarttaa sidonnalle %s."
 
 #
-#: ../ioncore/conf-bindings.c:260
+#: ../ioncore/conf-bindings.c:261
 msgid "Binding type not set."
 msgstr "Sidonnan tyyppiä ei ole asetettu."
 
 msgid "Binding type not set."
 msgstr "Sidonnan tyyppiä ei ole asetettu."
 
-#: ../ioncore/conf-bindings.c:270
+#: ../ioncore/conf-bindings.c:271
 #, c-format
 msgid "Unknown binding type \"%s\"."
 msgstr "Sidonnalle annettu tyyppi \"%s\" on tuntematon."
 
 #, c-format
 msgid "Unknown binding type \"%s\"."
 msgstr "Sidonnalle annettu tyyppi \"%s\" on tuntematon."
 
-#: ../ioncore/conf-bindings.c:292
+#: ../ioncore/conf-bindings.c:295
 #, c-format
 msgid "Unknown area \"%s\" for binding %s."
 msgstr "Sidonnalle %s asetettu tuntematon alue \"%s.\""
 
 #, c-format
 msgid "Unknown area \"%s\" for binding %s."
 msgstr "Sidonnalle %s asetettu tuntematon alue \"%s.\""
 
-#: ../ioncore/conf-bindings.c:333
+#: ../ioncore/conf-bindings.c:336
 #, c-format
 msgid "Unable to get bindmap entry %d."
 msgstr "Sidontakartan alkion %d haussa epäonnistuttiin."
 
 #, c-format
 msgid "Unable to get bindmap entry %d."
 msgstr "Sidontakartan alkion %d haussa epäonnistuttiin."
 
-#: ../ioncore/conf-bindings.c:375
+#: ../ioncore/conf-bindings.c:378
 msgid "Unable to convert keysym to string."
 msgstr "Näppäinsymbolia muunto merkkijonoksi epäonnistui."
 
 msgid "Unable to convert keysym to string."
 msgstr "Näppäinsymbolia muunto merkkijonoksi epäonnistui."
 
-#: ../ioncore/conf-bindings.c:389
+#: ../ioncore/conf-bindings.c:392
 msgid "Unable to convert button to string."
 msgstr "Napin tunnistetteen muunto merkkijonoksi epäonnistui."
 
 #
 msgid "Unable to convert button to string."
 msgstr "Napin tunnistetteen muunto merkkijonoksi epäonnistui."
 
 #
-#: ../ioncore/event.c:113
+#: ../ioncore/event.c:110
 msgid "Time request from X server failed."
 msgstr "Ajan pyyntö X-palvelimelta epäonnistui."
 
 #
 msgid "Time request from X server failed."
 msgstr "Ajan pyyntö X-palvelimelta epäonnistui."
 
 #
-#: ../ioncore/exec.c:186
+#: ../ioncore/exec.c:185
 msgid "Not saving state: running under session manager."
 msgstr "Tilaa ei talleteta, koska olemme istunnonhallinnan alaisia."
 
 msgid "Not saving state: running under session manager."
 msgstr "Tilaa ei talleteta, koska olemme istunnonhallinnan alaisia."
 
-#: ../ioncore/strings.c:107 ../ioncore/strings.c:143 ../ioncore/strings.c:176
+#: ../ioncore/strings.c:104 ../ioncore/strings.c:140 ../ioncore/strings.c:173
 msgid "Invalid multibyte string."
 msgstr "Virheellinen multibyte-merkkijono."
 
 msgid "Invalid multibyte string."
 msgstr "Virheellinen multibyte-merkkijono."
 
-#: ../ioncore/strings.c:267
+#: ../ioncore/strings.c:264
 #, c-format
 msgid "Error compiling regular expression: %s"
 msgstr "Virhe säännölisen lausekkeen käännöksessä: %s"
 
 #, c-format
 msgid "Error compiling regular expression: %s"
 msgstr "Virhe säännölisen lausekkeen käännöksessä: %s"
 
-#: ../ioncore/modules.c:158
+#: ../ioncore/modules.c:155
 msgid "Invalid module name."
 msgstr "Moduulin nimi on tuntematon."
 
 #
 msgid "Invalid module name."
 msgstr "Moduulin nimi on tuntematon."
 
 #
-#: ../ioncore/modules.c:170
+#: ../ioncore/modules.c:167
 msgid "The module is already loaded."
 msgstr "Moduuli on jo ladattu."
 
 msgid "The module is already loaded."
 msgstr "Moduuli on jo ladattu."
 
-#: ../ioncore/modules.c:185
+#: ../ioncore/modules.c:182
 msgid ""
 "Module version information not found or version mismatch. Refusing to use."
 msgstr ""
 "Moduulin versiotieto joko puuttuu tai on väärä. Näin ollen sitä "
 "kieltäydytään käyttämästä."
 
 msgid ""
 "Module version information not found or version mismatch. Refusing to use."
 msgstr ""
 "Moduulin versiotieto joko puuttuu tai on väärä. Näin ollen sitä "
 "kieltäydytään käyttämästä."
 
-#: ../ioncore/modules.c:196
+#: ../ioncore/modules.c:193
 #, c-format
 msgid "Unable to initialise module %s."
 msgstr "Virhe moduulin %s alustuksessa."
 
 #, c-format
 msgid "Unable to initialise module %s."
 msgstr "Virhe moduulin %s alustuksessa."
 
-#: ../ioncore/modules.c:220 ../../libextl-3/readconfig.c:388
+#: ../ioncore/modules.c:217 ../../libextl-3/readconfig.c:388
 #, c-format
 msgid "Unable to find '%s' on search path."
 msgstr "Hakupolulta ei löytynyt '%s':ää."
 
 #, c-format
 msgid "Unable to find '%s' on search path."
 msgstr "Hakupolulta ei löytynyt '%s':ää."
 
-#: ../ioncore/modules.c:291
+#: ../ioncore/modules.c:288
 msgid "Unknown module."
 msgstr "Tuntematon moduuli."
 
 msgid "Unknown module."
 msgstr "Tuntematon moduuli."
 
-#: ../ioncore/modules.c:299
+#: ../ioncore/modules.c:296
 msgid "Unable to initialise module."
 msgstr "Moduulin alustus epäonnistui."
 
 msgid "Unable to initialise module."
 msgstr "Moduulin alustus epäonnistui."
 
-#: ../ioncore/modules.c:344
+#: ../ioncore/modules.c:341
 msgid "No module to load given."
 msgstr "Ladattava moduulia ei ole annettu."
 
 #
 msgid "No module to load given."
 msgstr "Ladattava moduulia ei ole annettu."
 
 #
-#: ../ioncore/property.c:355 ../ioncore/property.c:364
+#: ../ioncore/property.c:350 ../ioncore/property.c:359
 msgid "Invalid arguments."
 msgstr "Virheelliset parametrit."
 
 #
 msgid "Invalid arguments."
 msgstr "Virheelliset parametrit."
 
 #
-#: ../ioncore/screen.c:385
+#: ../ioncore/screen.c:382
 msgid "Only workspace may not be destroyed/detached."
 msgstr "Ainoata työpöytää ei voi tuhota/irroitaa."
 
 #
 msgid "Only workspace may not be destroyed/detached."
 msgstr "Ainoata työpöytää ei voi tuhota/irroitaa."
 
 #
-#: ../ioncore/screen.c:396
+#: ../ioncore/screen.c:393
 msgid "Screens may not be destroyed."
 msgstr "Näyttöjä ei voi tuhota."
 
 msgid "Screens may not be destroyed."
 msgstr "Näyttöjä ei voi tuhota."
 
-#: ../ioncore/screen.c:432
+#: ../ioncore/screen.c:429
 msgid "Invalid offset."
 msgstr "Virheellinen poikkeama."
 
 msgid "Invalid offset."
 msgstr "Virheellinen poikkeama."
 
-#: ../ioncore/screen.c:471
+#: ../ioncore/screen.c:468
 #, c-format
 msgid "Unable to create a workspace on screen %d."
 msgstr "Työpöydän luonti ruudulle %d epäonnistui."
 
 #, c-format
 msgid "Unable to create a workspace on screen %d."
 msgstr "Työpöydän luonti ruudulle %d epäonnistui."
 
-#: ../ioncore/sizehint.c:157
+#: ../ioncore/sizehint.c:146
 msgid "Invalid client-supplied width/height increment."
 msgstr "Asiakkaan ilmoittama pysty/vaakalisäys koolle on virheellinen."
 
 msgid "Invalid client-supplied width/height increment."
 msgstr "Asiakkaan ilmoittama pysty/vaakalisäys koolle on virheellinen."
 
-#: ../ioncore/sizehint.c:165
+#: ../ioncore/sizehint.c:154
 msgid "Invalid client-supplied aspect-ratio."
 msgstr "Asiakkaan ilmoittama sivusuhde on virheellinen."
 
 msgid "Invalid client-supplied aspect-ratio."
 msgstr "Asiakkaan ilmoittama sivusuhde on virheellinen."
 
-#: ../ioncore/ioncore.c:78
+#: ../ioncore/ioncore.c:79
 msgid ""
 msgid ""
-"This program is free software; you can redistribute it and/or\n"
-"modify it under the terms of the GNU Lesser General Public\n"
-"License as published by the Free Software Foundation; either\n"
-"version 2.1 of the License, or (at your option) any later version.\n"
+"This software is essentially licensed under the GNU Lesser General\n"
+"Public License (LGPL), version 2.1, unless otherwise indicated in\n"
+"components taken from elsewhere. Additional terms apply to the use\n"
+"of the name of the project, Ion(tm). For details, see the file\n"
+"LICENSE that you should have received with this software.\n"
 "\n"
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
 "\n"
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
-"Lesser General Public License for more details.\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 msgstr ""
-"Tämä ohjelma on vapaa; tätä ohjelmaa on sallittu levittää edelleen\n"
-"ja muuttaa GNU vähäisemmän yleisen lisenssin (LGPL lisenssin) ehtojen\n"
-"mukaan sellaisina kuin Free Software Foundation on ne julkaissut; joko\n"
-"Lisenssin version 2.1, tai (valinnan mukaan) minkä tahansa myöhemmän\n"
-"version mukaisesti.\n"
+"Tämä ohjelma on olennaisesti GNU vähäisemmän yleisen lisenssin (LGPL)\n"
+"version 2.1 alla, ellei komponenteissa muutoin mainita. Projektin\n"
+"nimen Ion(tm) käyttöön liittyy lisäehtoja. Yksityiskohdat löydät\n"
+"tiedostosta LICENSE, joka sinun olisi pitänyt saada tämän ohjelman\n"
+"mukana.\n"
 "\n"
 "Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen,\n"
 "\n"
 "Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen,\n"
-"mutta ilman mitään takuuta; ilman edes hiljaista takuuta kaupallisesti\n"
+"mutta ILMAN MITÄÄN TAKUUTA; ilman edes hiljaista takuuta kaupallisesti\n"
 "hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen.\n"
 "hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen.\n"
-"Katso LGPL lisenssistä lisää yksityiskohtia.\n"
 
 
-#: ../ioncore/ioncore.c:159
+#: ../ioncore/ioncore.c:160
 msgid "No encoding given in LC_CTYPE."
 msgstr "LC_CTYPE ei kerro enkoodausta."
 
 msgid "No encoding given in LC_CTYPE."
 msgstr "LC_CTYPE ei kerro enkoodausta."
 
-#: ../ioncore/ioncore.c:470
+#: ../ioncore/ioncore.c:478
 #, c-format
 msgid "Could not connect to X display '%s'"
 msgstr "Yhteydenotto X-palvelimeen '%s' epäonnistui."
 
 #, c-format
 msgid "Could not connect to X display '%s'"
 msgstr "Yhteydenotto X-palvelimeen '%s' epäonnistui."
 
-#: ../ioncore/ioncore.c:522
+#: ../ioncore/ioncore.c:531
 msgid "Could not find a screen to manage."
 msgstr "Yhtään hallittavissa olevaa juuri-ikkunaa ei löytynyt."
 
 msgid "Could not find a screen to manage."
 msgstr "Yhtään hallittavissa olevaa juuri-ikkunaa ei löytynyt."
 
-#: ../ioncore/xic.c:38
+#: ../ioncore/xic.c:35
 msgid "Failed to open input method."
 msgstr "Syöttömenetelmän avaaminen epäonnistui."
 
 msgid "Failed to open input method."
 msgstr "Syöttömenetelmän avaaminen epäonnistui."
 
-#: ../ioncore/xic.c:43
+#: ../ioncore/xic.c:40
 msgid "Input method doesn't support any style."
 msgstr "Syöttömenetelmä ei tue yhtään syöttötapaa."
 
 msgid "Input method doesn't support any style."
 msgstr "Syöttömenetelmä ei tue yhtään syöttötapaa."
 
-#: ../ioncore/xic.c:58
+#: ../ioncore/xic.c:55
 msgid "input method doesn't support my preedit type."
 msgstr "Syöttömenetelmä ei tue kaivattua esimuokkaustyyliä."
 
 msgid "input method doesn't support my preedit type."
 msgstr "Syöttömenetelmä ei tue kaivattua esimuokkaustyyliä."
 
-#: ../ioncore/xic.c:86
+#: ../ioncore/xic.c:83
 msgid "Failed to create input context."
 msgstr "Syöttökontekstin luonti epäonnistui."
 
 msgid "Failed to create input context."
 msgstr "Syöttökontekstin luonti epäonnistui."
 
-#: ../ioncore/clientwin.c:379
+#: ../ioncore/clientwin.c:376
 #, c-format
 msgid "The transient_for hint for \"%s\" points to itself."
 msgstr "Ikkunan \"%s\" transient_for neuvo osoittaa itseensä."
 
 #, c-format
 msgid "The transient_for hint for \"%s\" points to itself."
 msgstr "Ikkunan \"%s\" transient_for neuvo osoittaa itseensä."
 
-#: ../ioncore/clientwin.c:383
+#: ../ioncore/clientwin.c:380
 #, c-format
 msgid ""
 "Client window \"%s\" has broken transient_for hint. (\"Extended WM hints\" "
 "multi-parent brain damage?)"
 msgstr "Ikkunan \"%s\" transient_for neuvo on rikki."
 
 #, c-format
 msgid ""
 "Client window \"%s\" has broken transient_for hint. (\"Extended WM hints\" "
 "multi-parent brain damage?)"
 msgstr "Ikkunan \"%s\" transient_for neuvo on rikki."
 
-#: ../ioncore/clientwin.c:388
+#: ../ioncore/clientwin.c:385
 #, c-format
 msgid "The transient_for window for \"%s\" is not on the same screen."
 msgstr "Ikkunan \"%s\" transient_for neuvo osoittaa eri näytölle."
 
 #, c-format
 msgid "The transient_for window for \"%s\" is not on the same screen."
 msgstr "Ikkunan \"%s\" transient_for neuvo osoittaa eri näytölle."
 
-#: ../ioncore/clientwin.c:408 ../ioncore/clientwin.c:496
-#: ../ioncore/clientwin.c:1292
+#: ../ioncore/clientwin.c:405 ../ioncore/clientwin.c:512
+#: ../ioncore/clientwin.c:1327
 #, c-format
 msgid "Window %#x disappeared."
 msgstr "Ikkuna %#x katosi."
 
 #, c-format
 msgid "Window %#x disappeared."
 msgstr "Ikkuna %#x katosi."
 
-#: ../ioncore/clientwin.c:516
+#: ../ioncore/clientwin.c:532
 msgid "Unable to find a matching root window!"
 msgstr "Vastaavaa juuri-ikkunaa ei löytynyt."
 
 msgid "Unable to find a matching root window!"
 msgstr "Vastaavaa juuri-ikkunaa ei löytynyt."
 
-#: ../ioncore/clientwin.c:555
+#: ../ioncore/clientwin.c:571
 #, c-format
 msgid "Unable to manage client window %#x."
 msgstr "Asiakasikkunan %x hallittavaksi saattaminen epäonnistui."
 
 #, c-format
 msgid "Unable to manage client window %#x."
 msgstr "Asiakasikkunan %x hallittavaksi saattaminen epäonnistui."
 
-#: ../ioncore/clientwin.c:604
+#: ../ioncore/clientwin.c:620
 msgid "Changes is WM_TRANSIENT_FOR property are unsupported."
 msgstr "Muutoksia WM_TRANSIENT_FOR ominaisuudessa ei tueta."
 
 #
 msgid "Changes is WM_TRANSIENT_FOR property are unsupported."
 msgstr "Muutoksia WM_TRANSIENT_FOR ominaisuudessa ei tueta."
 
 #
-#: ../ioncore/clientwin.c:776
+#: ../ioncore/clientwin.c:792
 msgid "Client does not support the WM_DELETE protocol."
 msgstr "Asiakasikkuna ei tue WM_DELETE-protokollaa."
 
 msgid "Client does not support the WM_DELETE protocol."
 msgstr "Asiakasikkuna ei tue WM_DELETE-protokollaa."
 
-#: ../ioncore/clientwin.c:1298
+#: ../ioncore/clientwin.c:1333
 msgid "Saved client window does not want to be managed."
 msgstr "Talletettu asiakasikkuna ei halua sitä hallittavan."
 
 #
 msgid "Saved client window does not want to be managed."
 msgstr "Talletettu asiakasikkuna ei halua sitä hallittavan."
 
 #
-#: ../ioncore/colormap.c:96
+#: ../ioncore/colormap.c:93
 msgid "Unable to store colourmap watch info."
 msgstr "Värikartan valvonnan alustaminen epäonnistui."
 
 msgid "Unable to store colourmap watch info."
 msgstr "Värikartan valvonnan alustaminen epäonnistui."
 
-#: ../ioncore/region.c:47
+#: ../ioncore/region.c:45
 msgid "Creating region with negative width or height!"
 msgstr "Yritys luoda korkeudeltaan tai leveydeltään negatiivinen alue."
 
 msgid "Creating region with negative width or height!"
 msgstr "Yritys luoda korkeudeltaan tai leveydeltään negatiivinen alue."
 
-#: ../ioncore/region.c:95
+#: ../ioncore/region.c:93
 #, c-format
 msgid "Destroying object \"%s\" with client windows as children."
 msgstr "Tuhotaan kappale \"%s\", jolla on vielä asiakasikkunoita."
 #, c-format
 msgid "Destroying object \"%s\" with client windows as children."
 msgstr "Tuhotaan kappale \"%s\", jolla on vielä asiakasikkunoita."
@@ -304,43 +303,43 @@ msgstr "(tuntematon)"
 msgid "Failed to rescue some client windows - not closing."
 msgstr "Joidenkin asiakasikkunoiden pelastaminen epäonnistui - ei suljeta."
 
 msgid "Failed to rescue some client windows - not closing."
 msgstr "Joidenkin asiakasikkunoiden pelastaminen epäonnistui - ei suljeta."
 
-#: ../ioncore/attach.c:58 ../ioncore/frame-pointer.c:280
+#: ../ioncore/attach.c:55 ../ioncore/frame-pointer.c:278
 #, c-format
 msgid "Attempt to make region %s manage its ancestor %s."
 msgstr "Yritys saattaa alue %s hallitsemaan sen esivanhempaa %s."
 
 #, c-format
 msgid "Attempt to make region %s manage its ancestor %s."
 msgstr "Yritys saattaa alue %s hallitsemaan sen esivanhempaa %s."
 
-#: ../ioncore/attach.c:83
+#: ../ioncore/attach.c:80
 msgid "Unable to reparent."
 msgstr "Vanhemman vaihto epäonnistui."
 
 msgid "Unable to reparent."
 msgstr "Vanhemman vaihto epäonnistui."
 
-#: ../ioncore/attach.c:92
+#: ../ioncore/attach.c:89
 msgid "Unexpected attach error: trying to recover by attaching to screen."
 msgstr "Tuntematon liitäntävirhe: yritetään toipua liittämällä näyttöön."
 
 msgid "Unexpected attach error: trying to recover by attaching to screen."
 msgstr "Tuntematon liitäntävirhe: yritetään toipua liittämällä näyttöön."
 
-#: ../ioncore/attach.c:111
+#: ../ioncore/attach.c:108
 msgid "Failed recovery."
 msgstr "Toipuminen epäonnistui."
 
 msgid "Failed recovery."
 msgstr "Toipuminen epäonnistui."
 
-#: ../ioncore/manage.c:193
+#: ../ioncore/manage.c:190
 msgid "Unable to find a screen for a new client window."
 msgstr "Uudelle asiakasikkunalle ei löytynyt näyttöä."
 
 msgid "Unable to find a screen for a new client window."
 msgstr "Uudelle asiakasikkunalle ei löytynyt näyttöä."
 
-#: ../ioncore/rootwin.c:218
+#: ../ioncore/rootwin.c:215
 #, c-format
 msgid "Unable to redirect root window events for screen %d."
 msgstr "Juuri-ikkunan %d viestien uudelleenohjaus epäonnistui."
 
 #, c-format
 msgid "Unable to redirect root window events for screen %d."
 msgstr "Juuri-ikkunan %d viestien uudelleenohjaus epäonnistui."
 
-#: ../ioncore/names.c:91
+#: ../ioncore/names.c:88
 #, c-format
 msgid "Corrupt instance number %s."
 msgstr "Rikkinäinen instanssinumero %s."
 
 #, c-format
 msgid "Corrupt instance number %s."
 msgstr "Rikkinäinen instanssinumero %s."
 
-#: ../ioncore/saveload.c:98
+#: ../ioncore/saveload.c:95
 #, c-format
 msgid "Unknown class \"%s\", cannot create region."
 msgstr "Luokka \"%s\" on tuntematon. Aluetta ei voida luoda."
 
 #, c-format
 msgid "Unknown class \"%s\", cannot create region."
 msgstr "Luokka \"%s\" on tuntematon. Aluetta ei voida luoda."
 
-#: ../ioncore/saveload.c:202
+#: ../ioncore/saveload.c:199
 #, c-format
 msgid ""
 "There were errors loading layout. Backing up current layout savefile as\n"
 #, c-format
 msgid ""
 "There were errors loading layout. Backing up current layout savefile as\n"
@@ -359,46 +358,46 @@ msgstr ""
 "tilanteen aiheuttavat virheet (mahdollisesti puuttuva moduuli?) muissa\n"
 "asetustiedostoissasi."
 
 "tilanteen aiheuttavat virheet (mahdollisesti puuttuva moduuli?) muissa\n"
 "asetustiedostoissasi."
 
-#: ../ioncore/saveload.c:253
+#: ../ioncore/saveload.c:250
 msgid "Unable to get file for layout backup."
 msgstr "Sijoittelun varmuuskopiolle ei voitu muodostaa tiedostonimeä."
 
 msgid "Unable to get file for layout backup."
 msgstr "Sijoittelun varmuuskopiolle ei voitu muodostaa tiedostonimeä."
 
-#: ../ioncore/saveload.c:257
+#: ../ioncore/saveload.c:254
 #, c-format
 msgid "Backup file %s already exists."
 msgstr "Varmuuskopio %s on jo olemassa."
 
 #, c-format
 msgid "Backup file %s already exists."
 msgstr "Varmuuskopio %s on jo olemassa."
 
-#: ../ioncore/saveload.c:263
+#: ../ioncore/saveload.c:260
 msgid "Failed backup."
 msgstr "Varmuuskopionti epäonnistui."
 
 #
 msgid "Failed backup."
 msgstr "Varmuuskopionti epäonnistui."
 
 #
-#: ../ioncore/saveload.c:268
+#: ../ioncore/saveload.c:265
 msgid "Unable to initialise layout on any screen."
 msgstr "Sijoittelun alustus epäonnistui kaikilla näytöillä."
 
 msgid "Unable to initialise layout on any screen."
 msgstr "Sijoittelun alustus epäonnistui kaikilla näytöillä."
 
-#: ../ioncore/saveload.c:295
+#: ../ioncore/saveload.c:292
 #, c-format
 msgid "Unable to get configuration for screen %d."
 msgstr "Ruudun %d asetukset puuttuvat."
 
 #, c-format
 msgid "Unable to get configuration for screen %d."
 msgstr "Ruudun %d asetukset puuttuvat."
 
-#: ../ioncore/saveload.c:308
+#: ../ioncore/saveload.c:305
 msgid "Unable to save layout."
 msgstr "Sijoittelun talletus epäonnistui."
 
 msgid "Unable to save layout."
 msgstr "Sijoittelun talletus epäonnistui."
 
-#: ../ioncore/conf.c:235
+#: ../ioncore/conf.c:237
 msgid "User directory can not be set."
 msgstr "Käyttäjän hakemistoa ei pystytä asettamaan."
 
 msgid "User directory can not be set."
 msgstr "Käyttäjän hakemistoa ei pystytä asettamaan."
 
-#: ../ioncore/conf.c:309
+#: ../ioncore/conf.c:311
 msgid "Some bindmaps were empty, loading ioncore_efbb."
 msgstr "Jotkut sidontakartat olivat tyhjiä. Ladataan ioncore_efbb."
 
 msgid "Some bindmaps were empty, loading ioncore_efbb."
 msgstr "Jotkut sidontakartat olivat tyhjiä. Ladataan ioncore_efbb."
 
-#: ../ioncore/fullscreen.c:49
+#: ../ioncore/fullscreen.c:46
 msgid "Failed to enter full screen mode."
 msgstr "Vaihto kokoruudun tilaan epäonnistui."
 
 msgid "Failed to enter full screen mode."
 msgstr "Vaihto kokoruudun tilaan epäonnistui."
 
-#: ../ioncore/fullscreen.c:83
+#: ../ioncore/fullscreen.c:80
 msgid ""
 "Failed to return from full screen mode; remaining manager or parent from "
 "previous location refused to manage us."
 msgid ""
 "Failed to return from full screen mode; remaining manager or parent from "
 "previous location refused to manage us."
@@ -407,221 +406,214 @@ msgstr ""
 "tai vanhempi kieltäytyi hallitsemasta ikkunaa."
 
 #
 "tai vanhempi kieltäytyi hallitsemasta ikkunaa."
 
 #
-#: ../ioncore/mplex.c:1685
+#: ../ioncore/mplex.c:1797
 msgid "Invalid position setting."
 msgstr "Virheellinen paikka-asetus."
 
 #
 msgid "Invalid position setting."
 msgstr "Virheellinen paikka-asetus."
 
 #
-#: ../ioncore/mplex.c:1725
+#: ../ioncore/mplex.c:1837
 msgid "Invalid action setting."
 msgstr "Virheellinen toiminto-asetus."
 
 msgid "Invalid action setting."
 msgstr "Virheellinen toiminto-asetus."
 
-#: ../ioncore/gr.c:120
+#: ../ioncore/gr.c:117
 #, c-format
 msgid "Drawing engine %s is not registered!"
 msgstr "Piirtomoottoria %s ei ole rekisteröity!"
 
 #, c-format
 msgid "Drawing engine %s is not registered!"
 msgstr "Piirtomoottoria %s ei ole rekisteröity!"
 
-#: ../ioncore/gr.c:139
+#: ../ioncore/gr.c:136
 #, c-format
 msgid "Unable to find brush for style '%s'."
 msgstr "Tyylille '%s' ei löytynyt pensseliä."
 
 #, c-format
 msgid "Unable to find brush for style '%s'."
 msgstr "Tyylille '%s' ei löytynyt pensseliä."
 
-#: ../ioncore/gr.c:646
+#: ../ioncore/gr.c:652
 msgid "No drawing engines loaded, trying \"de\"."
 msgstr "Yhtään piirtomoottoria ei ole ladattu. Yritetään oletusta \"de\"."
 
 #
 msgid "No drawing engines loaded, trying \"de\"."
 msgstr "Yhtään piirtomoottoria ei ole ladattu. Yritetään oletusta \"de\"."
 
 #
-#: ../ioncore/frame-draw.c:314
+#: ../ioncore/frame-draw.c:311
 msgid "<empty frame>"
 msgstr "<tyhjä kehys>"
 
 msgid "<empty frame>"
 msgstr "<tyhjä kehys>"
 
-#: ../ioncore/group.c:186 ../mod_tiling/tiling.c:92
+#: ../ioncore/group.c:183 ../mod_tiling/tiling.c:89
 #, c-format
 msgid "Error reparenting %s."
 msgstr "Virhe alueen %s vanhemman vaihdossa."
 
 #, c-format
 msgid "Error reparenting %s."
 msgstr "Virhe alueen %s vanhemman vaihdossa."
 
-#: ../ioncore/group.c:711
+#: ../ioncore/group.c:708
 msgid "'bottom' already set."
 msgstr "'pohja' on jo asetettu."
 
 #
 msgid "'bottom' already set."
 msgstr "'pohja' on jo asetettu."
 
 #
-#: ../ioncore/navi.c:45
+#: ../ioncore/navi.c:42
 msgid "Invalid parameter."
 msgstr "Virheellinen parametri."
 
 msgid "Invalid parameter."
 msgstr "Virheellinen parametri."
 
-#: ../ioncore/navi.c:72
+#: ../ioncore/navi.c:69
 msgid "Invalid direction parameter."
 msgstr "Virheellinen suunta."
 
 msgid "Invalid direction parameter."
 msgstr "Virheellinen suunta."
 
-#: ../ioncore/group-ws.c:51
+#: ../ioncore/group-ws.c:48
 #, c-format
 msgid "Unknown placement method \"%s\"."
 msgstr "Tuntematon sijoittelumenetelmä \"%s\"."
 
 #, c-format
 msgid "Unknown placement method \"%s\"."
 msgstr "Tuntematon sijoittelumenetelmä \"%s\"."
 
-#: ../ioncore/detach.c:176
+#: ../ioncore/detach.c:174
 msgid "Failed to reattach."
 msgstr "Uudelleenliittäminen epäonnistui"
 
 msgid "Failed to reattach."
 msgstr "Uudelleenliittäminen epäonnistui"
 
-#: ../ioncore/screen-notify.c:190
+#: ../ioncore/screen-notify.c:187
 msgid "act: "
 msgstr "act: "
 
 #
 #
 msgid "act: "
 msgstr "act: "
 
 #
 #
-#: ../mod_tiling/tiling.c:73
+#: ../mod_tiling/tiling.c:70
 msgid "Split not on workspace."
 msgstr "Jako ei ole tällä työpöydällä."
 
 msgid "Split not on workspace."
 msgstr "Jako ei ole tällä työpöydällä."
 
-#: ../mod_tiling/tiling.c:348
+#: ../mod_tiling/tiling.c:345
 msgid "Unable to create a node for status display."
 msgstr "Solmun luonti tilanäytölle epäonnistui."
 
 msgid "Unable to create a node for status display."
 msgstr "Solmun luonti tilanäytölle epäonnistui."
 
-#: ../mod_tiling/tiling.c:361
+#: ../mod_tiling/tiling.c:358
 msgid "Unable to create new split for status display."
 msgstr "Uuden jaon tekeminen tilanäytölle epäonnistui."
 
 msgid "Unable to create new split for status display."
 msgstr "Uuden jaon tekeminen tilanäytölle epäonnistui."
 
-#: ../mod_tiling/tiling.c:710
+#: ../mod_tiling/tiling.c:709
 msgid "Tiling in useless state."
 msgstr "Laatoitus kelvottomassa tilassa."
 
 msgid "Tiling in useless state."
 msgstr "Laatoitus kelvottomassa tilassa."
 
-#: ../mod_tiling/tiling.c:924
+#: ../mod_tiling/tiling.c:923
 msgid "Invalid direction"
 msgstr "Virheellinen suunta."
 
 #
 msgid "Invalid direction"
 msgstr "Virheellinen suunta."
 
 #
-#: ../mod_tiling/tiling.c:957 ../mod_tiling/split.c:1018
+#: ../mod_tiling/tiling.c:956 ../mod_tiling/split.c:1030
 msgid "Invalid node."
 msgstr "Epäkelpo solmu."
 
 #
 msgid "Invalid node."
 msgstr "Epäkelpo solmu."
 
 #
-#: ../mod_tiling/tiling.c:976
+#: ../mod_tiling/tiling.c:975
 msgid "Unable to split."
 msgstr "Halkaisu ei ole mahdollista."
 
 msgid "Unable to split."
 msgstr "Halkaisu ei ole mahdollista."
 
-#: ../mod_tiling/tiling.c:1090
-msgid ""
-"Unable to unsplit: Could not move client windows elsewhere within the tiling."
-msgstr ""
-"Ei voida poistaa halkaisua: asiakasikkunoita ei voitu siirtää muualle "
-"laatoituksessa."
-
-#: ../mod_tiling/tiling.c:1207
+#: ../mod_tiling/tiling.c:1190
 msgid "Nil parameter."
 msgstr "Parametri on asettamatta."
 
 msgid "Nil parameter."
 msgstr "Parametri on asettamatta."
 
-#: ../mod_tiling/tiling.c:1212
+#: ../mod_tiling/tiling.c:1195
 msgid "Manager doesn't match."
 msgstr "Hallitsija on väärä."
 
 msgid "Manager doesn't match."
 msgstr "Hallitsija on väärä."
 
-#: ../mod_tiling/tiling.c:1249
+#: ../mod_tiling/tiling.c:1232
 msgid "The status display is not a valid parameter for this routine."
 msgstr "Tilanäyttö ei ole kelpo parametri tälle toiminnolle."
 
 msgid "The status display is not a valid parameter for this routine."
 msgstr "Tilanäyttö ei ole kelpo parametri tälle toiminnolle."
 
-#: ../mod_tiling/tiling.c:1340
+#: ../mod_tiling/tiling.c:1323
 msgid "Refusing to float split directly containing the status display."
 msgstr "Tilanäytön suoraan sisältävää jakoa ei voida kelluttaa."
 
 msgid "Refusing to float split directly containing the status display."
 msgstr "Tilanäytön suoraan sisältävää jakoa ei voida kelluttaa."
 
-#: ../mod_tiling/tiling.c:1403
+#: ../mod_tiling/tiling.c:1387
 msgid "No suitable split here."
 msgstr "Ei sopivaa jakoa tässä."
 
 #
 msgid "No suitable split here."
 msgstr "Ei sopivaa jakoa tässä."
 
 #
-#: ../mod_tiling/tiling.c:1439
+#: ../mod_tiling/tiling.c:1423
 msgid "Could not get split tree."
 msgstr "Halkaisupuu puuttuu."
 
 msgid "Could not get split tree."
 msgstr "Halkaisupuu puuttuu."
 
-#: ../mod_tiling/tiling.c:1460
+#: ../mod_tiling/tiling.c:1444
 msgid "Workspace already has a status display node."
 msgstr "Työpöydällä on jo solmu tilanäytölle."
 
 #
 msgid "Workspace already has a status display node."
 msgstr "Työpöydällä on jo solmu tilanäytölle."
 
 #
-#: ../mod_tiling/tiling.c:1498
+#: ../mod_tiling/tiling.c:1482
 msgid "Missing region parameters."
 msgstr "Alueen parameterit puuttuu."
 
 msgid "Missing region parameters."
 msgstr "Alueen parameterit puuttuu."
 
-#: ../mod_tiling/tiling.c:1542 ../mod_tiling/splitfloat.c:780
+#: ../mod_tiling/tiling.c:1526 ../mod_tiling/splitfloat.c:777
 msgid "Invalid direction."
 msgstr "Virheellinen suunta."
 
 #
 msgid "Invalid direction."
 msgstr "Virheellinen suunta."
 
 #
-#: ../mod_tiling/tiling.c:1617
+#: ../mod_tiling/tiling.c:1601
 msgid "No split type given."
 msgstr "Halkaisun tyyppiä ei ole asetettu."
 
 msgid "No split type given."
 msgstr "Halkaisun tyyppiä ei ole asetettu."
 
-#: ../mod_tiling/tiling.c:1630
+#: ../mod_tiling/tiling.c:1614
 msgid "Unknown split type."
 msgstr "Tuntematon halkaisutyyppi."
 
 #
 #
 msgid "Unknown split type."
 msgstr "Tuntematon halkaisutyyppi."
 
 #
 #
-#: ../mod_tiling/tiling.c:1670
+#: ../mod_tiling/tiling.c:1654
 msgid "The workspace is empty."
 msgstr "Työpöytä on tyhjä."
 
 msgid "The workspace is empty."
 msgstr "Työpöytä on tyhjä."
 
-#: ../mod_tiling/placement.c:104
+#: ../mod_tiling/placement.c:101
 #, c-format
 msgid ""
 "Ooops... could not find a region to attach client window to on workspace %s."
 msgstr "Työpöydältä %s ei löytynyt aluetta johon liittää asiakasikkuna."
 
 #
 #, c-format
 msgid ""
 "Ooops... could not find a region to attach client window to on workspace %s."
 msgstr "Työpöydältä %s ei löytynyt aluetta johon liittää asiakasikkuna."
 
 #
-#: ../mod_tiling/split.c:524
+#: ../mod_tiling/split.c:536
 msgid "Unable to move the status display out of way."
 msgstr "Tilanäyttöä ei voida siirtää pois tieltä."
 
 msgid "Unable to move the status display out of way."
 msgstr "Tilanäyttöä ei voida siirtää pois tieltä."
 
-#: ../mod_tiling/split.c:937
+#: ../mod_tiling/split.c:949
 msgid "REGION_RQGEOM_TRYONLY unsupported for status display."
 msgstr "REGION_RQGEOM_TRYONLY:ä ei tueta tilanäytölle."
 
 #
 msgid "REGION_RQGEOM_TRYONLY unsupported for status display."
 msgstr "REGION_RQGEOM_TRYONLY:ä ei tueta tilanäytölle."
 
 #
-#: ../mod_tiling/split.c:1083
+#: ../mod_tiling/split.c:1102
 msgid "Splitting the status display is not allowed."
 msgstr "Tilanäytön halkaisu ei ole sallittu."
 
 msgid "Splitting the status display is not allowed."
 msgstr "Tilanäytön halkaisu ei ole sallittu."
 
-#: ../mod_tiling/split.c:1114 ../mod_tiling/splitfloat.c:903
+#: ../mod_tiling/split.c:1128 ../mod_tiling/splitfloat.c:900
 msgid "Unable to split: not enough free space."
 msgstr "Ei voida halkaista: liian vähän tilaa."
 
 msgid "Unable to split: not enough free space."
 msgstr "Ei voida halkaista: liian vähän tilaa."
 
-#: ../mod_tiling/split.c:1865
+#: ../mod_tiling/split.c:1881
 #, c-format
 msgid "Unable to get configuration for %s."
 msgstr "Alueelle \"%s\" ei saatu asetuksia."
 
 #, c-format
 msgid "Unable to get configuration for %s."
 msgstr "Alueelle \"%s\" ei saatu asetuksia."
 
-#: ../mod_tiling/split-stdisp.c:602 ../mod_tiling/split-stdisp.c:627
+#: ../mod_tiling/split-stdisp.c:599 ../mod_tiling/split-stdisp.c:624
 msgid "Status display in bad split configuration."
 msgstr "Tilanäyttö huonossa halkaisuasetelmassa."
 
 msgid "Status display in bad split configuration."
 msgstr "Tilanäyttö huonossa halkaisuasetelmassa."
 
-#: ../mod_tiling/split-stdisp.c:667
+#: ../mod_tiling/split-stdisp.c:664
 msgid "Status display badly located in split tree."
 msgstr "Tilanäyttö on huonosti sijoittuneena halkaisupuuhun."
 
 msgid "Status display badly located in split tree."
 msgstr "Tilanäyttö on huonosti sijoittuneena halkaisupuuhun."
 
-#: ../mod_tiling/ops.c:72 ../mod_tiling/ops.c:120
+#: ../mod_tiling/ops.c:69 ../mod_tiling/ops.c:117
 msgid "Not member of a group"
 msgstr "Ei jäsenenä missään ryhmässä"
 
 msgid "Not member of a group"
 msgstr "Ei jäsenenä missään ryhmässä"
 
-#: ../mod_tiling/ops.c:77
+#: ../mod_tiling/ops.c:74
 msgid "Manager group already has bottom"
 msgstr "Managerilla on jo 'pohja'"
 
 msgid "Manager group already has bottom"
 msgstr "Managerilla on jo 'pohja'"
 
-#: ../mod_tiling/ops.c:154
+#: ../mod_tiling/ops.c:151
 msgid "Unable to move a region from tiling to group."
 msgstr "Ei voitu siirtää kappaletta laatoituksesta ryhmään."
 
 msgid "Unable to move a region from tiling to group."
 msgstr "Ei voitu siirtää kappaletta laatoituksesta ryhmään."
 
-#: ../mod_query/wedln.c:813
+#: ../mod_query/wedln.c:811
 msgid "history"
 msgstr "hist.täyd."
 
 msgid "history"
 msgstr "hist.täyd."
 
-#: ../mod_query/fwarn.c:35
+#: ../mod_query/fwarn.c:32
 msgid "Error:\n"
 msgstr "Virhe:\n"
 
 #
 msgid "Error:\n"
 msgstr "Virhe:\n"
 
 #
-#: ../mod_menu/menu.c:601
+#: ../mod_menu/menu.c:598
 msgid "Empty menu."
 msgstr "Tyhjä valikko."
 
 #
 msgid "Empty menu."
 msgstr "Tyhjä valikko."
 
 #
-#: ../mod_sm/sm.c:111
+#: ../mod_sm/sm.c:108
 msgid "Failed to set session directory."
 msgstr "Istuntohakemiston asetus epäonnistui."
 
 msgid "Failed to set session directory."
 msgstr "Istuntohakemiston asetus epäonnistui."
 
@@ -651,34 +643,34 @@ msgstr "Virhe istunnonhallinan kutsussa IceAddConnectionWatch."
 msgid "Unable to connect to the session manager."
 msgstr "Yhteydenotto istunnonhallintaohjelmaan epäonnistui."
 
 msgid "Unable to connect to the session manager."
 msgstr "Yhteydenotto istunnonhallintaohjelmaan epäonnistui."
 
-#: ../mod_sp/main.c:126
+#: ../mod_sp/main.c:124
 msgid "Unable to create scratchpad."
 msgstr "Suttausalueen luonti epäonnistui."
 
 msgid "Unable to create scratchpad."
 msgstr "Suttausalueen luonti epäonnistui."
 
-#: ../mod_statusbar/main.c:75
+#: ../mod_statusbar/main.c:74
 msgid "reading a pipe"
 msgstr "putken luku"
 
 msgid "reading a pipe"
 msgstr "putken luku"
 
-#: ../mod_statusbar/main.c:159
+#: ../mod_statusbar/main.c:163
 msgid "ion-statusd timed out."
 msgstr "ion-statusd:n käynnistyksen aikaraja umpeutui."
 
 msgid "ion-statusd timed out."
 msgstr "ion-statusd:n käynnistyksen aikaraja umpeutui."
 
-#: ../mod_statusbar/statusbar.c:1081
+#: ../mod_statusbar/statusbar.c:1079
 #, c-format
 msgid "[ %date || load: %load ] %filler%systray"
 msgstr ""
 
 #, c-format
 msgid "[ %date || load: %load ] %filler%systray"
 msgstr ""
 
-#: ../de/init.c:68
+#: ../de/init.c:65
 #, c-format
 msgid "Border attribute %s sanity check failed."
 msgstr "Reunan arvon '%s' järkevyystarkistus epäonnistui."
 
 #, c-format
 msgid "Border attribute %s sanity check failed."
 msgstr "Reunan arvon '%s' järkevyystarkistus epäonnistui."
 
-#: ../de/init.c:91
+#: ../de/init.c:88
 #, c-format
 msgid "Unknown border style \"%s\"."
 msgstr "Reunan tyyli \"%s\" on tuntematon."
 
 #, c-format
 msgid "Unknown border style \"%s\"."
 msgstr "Reunan tyyli \"%s\" on tuntematon."
 
-#: ../de/init.c:111
+#: ../de/init.c:108
 #, c-format
 msgid "Unknown border side configuration \"%s\"."
 msgstr "Reunan sivuasetus \"%s\" on tuntematon."
 #, c-format
 msgid "Unknown border side configuration \"%s\"."
 msgstr "Reunan sivuasetus \"%s\" on tuntematon."
@@ -688,27 +680,17 @@ msgstr "Reunan sivuasetus \"%s\" on tuntematon."
 msgid "Unable to allocate colour \"%s\"."
 msgstr "Värin \"%s\" varaaminen epäonnistui."
 
 msgid "Unable to allocate colour \"%s\"."
 msgstr "Värin \"%s\" varaaminen epäonnistui."
 
-#: ../de/init.c:210
+#: ../de/init.c:220
 #, c-format
 msgid "Corrupt substyle table %d."
 msgstr "Alityylin %d taulu on rikki."
 
 #, c-format
 msgid "Corrupt substyle table %d."
 msgstr "Alityylin %d taulu on rikki."
 
-#: ../de/init.c:243
+#: ../de/init.c:253
 #, c-format
 msgid "Unknown text alignment \"%s\"."
 msgstr "Tuntematon tekstin tasaus \"%s\"."
 
 #, c-format
 msgid "Unknown text alignment \"%s\"."
 msgstr "Tuntematon tekstin tasaus \"%s\"."
 
-#: ../de/init.c:319
-#, c-format
-msgid "'based_on' for %s points back to the style itself."
-msgstr "Tyylin %s 'based_on' -asetus osoittaa itseensä."
-
-#: ../de/init.c:322
-#, c-format
-msgid "Unknown base style. \"%s\""
-msgstr "Tuntematon pohjatyyli \"%s\"."
-
-#: ../de/font.c:47
+#: ../de/font.c:44
 #, c-format
 msgid ""
 "Fontset for font pattern '%s' implements context dependent drawing, which is "
 #, c-format
 msgid ""
 "Fontset for font pattern '%s' implements context dependent drawing, which is "
@@ -717,69 +699,69 @@ msgstr ""
 "Kirjaisinjoukko kirjaisinmallille '%s' vaatii kontekstiriippuvaista piirtoa, "
 "jota ei tueta. Odotettavissa on sotkua."
 
 "Kirjaisinjoukko kirjaisinmallille '%s' vaatii kontekstiriippuvaista piirtoa, "
 "jota ei tueta. Odotettavissa on sotkua."
 
-#: ../de/font.c:59
+#: ../de/font.c:56
 #, c-format
 msgid "Could not load font \"%s\", trying \"%s\""
 msgstr "Kirjaisimen \"%s\" lataaminen epäonnistui. Yritetään \"%s\":ää."
 
 #, c-format
 msgid "Could not load font \"%s\", trying \"%s\""
 msgstr "Kirjaisimen \"%s\" lataaminen epäonnistui. Yritetään \"%s\":ää."
 
-#: ../de/font.c:63
+#: ../de/font.c:60
 msgid "Failed to load fallback font."
 msgstr "Hätävarakirjaisimen lataus epäonnistui."
 
 msgid "Failed to load fallback font."
 msgstr "Hätävarakirjaisimen lataus epäonnistui."
 
-#: ../de/style.c:315
+#: ../de/style.c:291
 msgid "Style is still in use [%d] but the module is being unloaded!"
 msgstr "Tyyli %s on vielä käytössä [%d], mutta moduulia poistetaan!"
 
 msgid "Style is still in use [%d] but the module is being unloaded!"
 msgstr "Tyyli %s on vielä käytössä [%d], mutta moduulia poistetaan!"
 
-#: ../ion/ion.c:42 ../pwm/pwm.c:42
+#: ../ion/ion.c:39 ../pwm/pwm.c:39
 msgid "X display to use"
 msgstr "Käytettävä X-palvelin/näyttö"
 
 msgid "X display to use"
 msgstr "Käytettävä X-palvelin/näyttö"
 
-#: ../ion/ion.c:45 ../pwm/pwm.c:45
+#: ../ion/ion.c:42 ../pwm/pwm.c:42
 msgid "Configuration file"
 msgstr "Ensisijainen asetustiedosto"
 
 msgid "Configuration file"
 msgstr "Ensisijainen asetustiedosto"
 
-#: ../ion/ion.c:48 ../pwm/pwm.c:48
+#: ../ion/ion.c:45 ../pwm/pwm.c:45
 msgid "Add directory to search path"
 msgstr "Lisää hakemisto hakupolulle"
 
 msgid "Add directory to search path"
 msgstr "Lisää hakemisto hakupolulle"
 
-#: ../ion/ion.c:51 ../pwm/pwm.c:51
+#: ../ion/ion.c:48 ../pwm/pwm.c:48
 msgid "Manage default screen only"
 msgstr "Hallitse vain oletusarvoista juuri-ikkunaa."
 
 msgid "Manage default screen only"
 msgstr "Hallitse vain oletusarvoista juuri-ikkunaa."
 
-#: ../ion/ion.c:54 ../pwm/pwm.c:54
+#: ../ion/ion.c:51 ../pwm/pwm.c:51
 msgid "Name of session (affects savefiles)"
 msgstr "Istunnon nimi (vaikuttaa talletustiedostoihin)"
 
 msgid "Name of session (affects savefiles)"
 msgstr "Istunnon nimi (vaikuttaa talletustiedostoihin)"
 
-#: ../ion/ion.c:57 ../pwm/pwm.c:57
+#: ../ion/ion.c:54 ../pwm/pwm.c:54
 msgid "Session manager client ID"
 msgstr "Istunnonhallinnan asiakastunniste"
 
 msgid "Session manager client ID"
 msgstr "Istunnonhallinnan asiakastunniste"
 
-#: ../ion/ion.c:60 ../pwm/pwm.c:60
+#: ../ion/ion.c:57 ../pwm/pwm.c:57
 msgid "Do not create startup error log and display it with xmessage."
 msgstr "Älä luo käynnistysvirhelokia ja näytä sitä xmessage:lla."
 
 msgid "Do not create startup error log and display it with xmessage."
 msgstr "Älä luo käynnistysvirhelokia ja näytä sitä xmessage:lla."
 
-#: ../ion/ion.c:64 ../pwm/pwm.c:64
+#: ../ion/ion.c:61 ../pwm/pwm.c:61
 msgid "Show this help"
 msgstr "Näytä tämä aputeksti"
 
 msgid "Show this help"
 msgstr "Näytä tämä aputeksti"
 
-#: ../ion/ion.c:67 ../pwm/pwm.c:67
+#: ../ion/ion.c:64 ../pwm/pwm.c:64
 msgid "Show program version"
 msgstr "Näytä ohjelman versio"
 
 msgid "Show program version"
 msgstr "Näytä ohjelman versio"
 
-#: ../ion/ion.c:70 ../pwm/pwm.c:70
+#: ../ion/ion.c:67 ../pwm/pwm.c:67
 msgid "Show about text"
 msgstr "Näytä tietoja ohjelmasta"
 
 msgid "Show about text"
 msgstr "Näytä tietoja ohjelmasta"
 
-#: ../ion/ion.c:85
+#: ../ion/ion.c:82
 msgid "Could not get user configuration file directory."
 msgstr "Käyttäjän asetustiedostohakemisto puuttuu, eikä sitä voitu luoda."
 
 msgid "Could not get user configuration file directory."
 msgstr "Käyttäjän asetustiedostohakemisto puuttuu, eikä sitä voitu luoda."
 
-#: ../ion/ion.c:99
+#: ../ion/ion.c:96
 #, c-format
 msgid "%s/welcome.txt"
 msgstr "%s/welcome.fi.txt"
 
 #, c-format
 msgid "%s/welcome.txt"
 msgstr "%s/welcome.fi.txt"
 
-#: ../ion/ion.c:132 ../pwm/pwm.c:79
+#: ../ion/ion.c:129 ../pwm/pwm.c:76
 #, c-format
 msgid ""
 "Usage: %s [options]\n"
 #, c-format
 msgid ""
 "Usage: %s [options]\n"
@@ -789,19 +771,19 @@ msgstr ""
 "\n"
 
 #
 "\n"
 
 #
-#: ../ion/ion.c:200 ../pwm/pwm.c:150
+#: ../ion/ion.c:197 ../pwm/pwm.c:147
 msgid "Invalid command line."
 msgstr "Virheellinen komentorivi."
 
 msgid "Invalid command line."
 msgstr "Virheellinen komentorivi."
 
-#: ../ion/ion.c:222
+#: ../ion/ion.c:219
 msgid "Ion startup error log:\n"
 msgstr "Ionin käynnistysvirheloki:\n"
 
 msgid "Ion startup error log:\n"
 msgstr "Ionin käynnistysvirheloki:\n"
 
-#: ../ion/ion.c:233 ../pwm/pwm.c:183
+#: ../ion/ion.c:230 ../pwm/pwm.c:180
 msgid "Refusing to start due to encountered errors."
 msgstr "Ohjelma kieltäytyy käynnistymästä tavattujen virheiden johdosta."
 
 msgid "Refusing to start due to encountered errors."
 msgstr "Ohjelma kieltäytyy käynnistymästä tavattujen virheiden johdosta."
 
-#: ../pwm/pwm.c:172
+#: ../pwm/pwm.c:169
 msgid "PWM startup error log:\n"
 msgstr "PWM:n käynnistysvirheloki:\n"
 
 msgid "PWM startup error log:\n"
 msgstr "PWM:n käynnistysvirheloki:\n"
 
@@ -863,34 +845,34 @@ msgstr "Sis
 msgid "Unable to initialize Lua."
 msgstr "Lua:n alustus epäonnistui."
 
 msgid "Unable to initialize Lua."
 msgstr "Lua:n alustus epäonnistui."
 
-#: ../../libextl-3/luaextl.c:1336
+#: ../../libextl-3/luaextl.c:1469
 msgid ""
 "Too many return values. Use a C compiler that has va_copy to support more."
 msgstr ""
 "Liian monta paluuarvoa. Useamman tukemiseksi käytä C-kääntäjää, joka tukee "
 "va_copy:ä."
 
 msgid ""
 "Too many return values. Use a C compiler that has va_copy to support more."
 msgstr ""
 "Liian monta paluuarvoa. Useamman tukemiseksi käytä C-kääntäjää, joka tukee "
 "va_copy:ä."
 
-#: ../../libextl-3/luaextl.c:1356
+#: ../../libextl-3/luaextl.c:1489
 msgid "Returned dead object."
 msgstr "Kuollut kappale palautettu."
 
 msgid "Returned dead object."
 msgstr "Kuollut kappale palautettu."
 
-#: ../../libextl-3/luaextl.c:1359
+#: ../../libextl-3/luaextl.c:1492
 #, c-format
 msgid "Invalid return value (expected '%c', got lua type \"%s\")."
 msgstr ""
 "Virheellinen paluuarvo (odotettiin tyyppiä '%c', mutta saatiin Lua:n tyyppi "
 "\"%s\")."
 
 #, c-format
 msgid "Invalid return value (expected '%c', got lua type \"%s\")."
 msgstr ""
 "Virheellinen paluuarvo (odotettiin tyyppiä '%c', mutta saatiin Lua:n tyyppi "
 "\"%s\")."
 
-#: ../../libextl-3/luaextl.c:1395 ../../libextl-3/luaextl.c:1750
+#: ../../libextl-3/luaextl.c:1528 ../../libextl-3/luaextl.c:1883
 msgid "Stack full."
 msgstr "Pino täysi."
 
 msgid "Stack full."
 msgstr "Pino täysi."
 
-#: ../../libextl-3/luaextl.c:1761
+#: ../../libextl-3/luaextl.c:1894
 #, c-format
 msgid "Argument %d to %s is a dead object."
 msgstr "Parametri %d %s:lle on kuollut olio."
 
 #, c-format
 msgid "Argument %d to %s is a dead object."
 msgstr "Parametri %d %s:lle on kuollut olio."
 
-#: ../../libextl-3/luaextl.c:1764
+#: ../../libextl-3/luaextl.c:1897
 #, c-format
 msgid ""
 "Argument %d to %s is of invalid type. (Argument template is '%s', got lua "
 #, c-format
 msgid ""
 "Argument %d to %s is of invalid type. (Argument template is '%s', got lua "
@@ -899,20 +881,20 @@ msgstr ""
 "Parameteri %d funktiolle %s on väärää tyyppiä. (Parametripohja on '%s', "
 "saatiin Lua:n tyyppi '%s'.)"
 
 "Parameteri %d funktiolle %s on väärää tyyppiä. (Parametripohja on '%s', "
 "saatiin Lua:n tyyppi '%s'.)"
 
-#: ../../libextl-3/luaextl.c:1827
+#: ../../libextl-3/luaextl.c:1960
 msgid "L1 call handler upvalues corrupt."
 msgstr "Tason 1 kutsunkäsittelijän \"upvalue\":t rikki."
 
 msgid "L1 call handler upvalues corrupt."
 msgstr "Tason 1 kutsunkäsittelijän \"upvalue\":t rikki."
 
-#: ../../libextl-3/luaextl.c:1832
+#: ../../libextl-3/luaextl.c:1965
 msgid "Called function has been unregistered."
 msgstr "Kutsuttu funktio on poistettu."
 
 msgid "Called function has been unregistered."
 msgstr "Kutsuttu funktio on poistettu."
 
-#: ../../libextl-3/luaextl.c:1843
+#: ../../libextl-3/luaextl.c:1976
 #, c-format
 msgid "Attempt to call an unsafe function \"%s\" in restricted mode."
 msgstr "Yritys kutsua turvatonta funktiota \"%s\" rajoitetussa tilassa."
 
 #, c-format
 msgid "Attempt to call an unsafe function \"%s\" in restricted mode."
 msgstr "Yritys kutsua turvatonta funktiota \"%s\" rajoitetussa tilassa."
 
-#: ../../libextl-3/luaextl.c:1956
+#: ../../libextl-3/luaextl.c:2089
 #, c-format
 msgid ""
 "Function '%s' has more parameters than the level 1 call handler can handle"
 #, c-format
 msgid ""
 "Function '%s' has more parameters than the level 1 call handler can handle"
@@ -921,16 +903,16 @@ msgstr ""
 "kykenee."
 
 #
 "kykenee."
 
 #
-#: ../../libextl-3/luaextl.c:2347
+#: ../../libextl-3/luaextl.c:2480
 msgid "Maximal serialisation depth reached."
 msgstr "Suurin mahdollinen talletuksen rekursiosyvyys saavutettu."
 
 msgid "Maximal serialisation depth reached."
 msgstr "Suurin mahdollinen talletuksen rekursiosyvyys saavutettu."
 
-#: ../../libextl-3/luaextl.c:2368
+#: ../../libextl-3/luaextl.c:2501
 #, c-format
 msgid "Unable to serialise type %s."
 msgstr "Tyyppiä %s ei voida tallettaa."
 
 #, c-format
 msgid "Unable to serialise type %s."
 msgstr "Tyyppiä %s ei voida tallettaa."
 
-#: ../../libextl-3/luaextl.c:2399
+#: ../../libextl-3/luaextl.c:2532
 msgid "-- This file has been generated by Ion. Do not edit.\n"
 msgstr "-- Tämä tiedosto on Ionin luoma. Älä editoi sitä.\n"
 
 msgid "-- This file has been generated by Ion. Do not edit.\n"
 msgstr "-- Tämä tiedosto on Ionin luoma. Älä editoi sitä.\n"
 
@@ -1374,51 +1356,14 @@ msgstr "Asiakasikkunaa %s ei l
 msgid "Too much result data"
 msgstr "Liian suuri vastaus"
 
 msgid "Too much result data"
 msgstr "Liian suuri vastaus"
 
-msgid "Could not find %s"
-msgstr "Ei löydettyä %s:ää."
-
-msgid "Not a directory."
-msgstr "Ei hakemisto."
-
-msgid "Invalid command"
-msgstr "Virheellinen komento"
-
-msgid "Error in command string: "
-msgstr "Virhe komentojonossa:"
-
-msgid "Error compiling guard: %s"
-msgstr "Virhe vahdin käännössä. %s"
-
-msgid "Invalid guard %s."
-msgstr "Virheellinen vahti %s."
-
-msgid "Main menu:"
-msgstr "Päävalikko:"
-
-msgid "Context menu:"
-msgstr "Kontekstivalikko:"
-
-msgid "Floating frame"
-msgstr "Kelluva kehys"
-
-msgid "Tiled frame"
-msgstr "Laatoitettu kehys"
-
-msgid "Tiling"
-msgstr "Laatoitus"
-
-#
-msgid "Workspace"
-msgstr "Työpöytä"
-
-msgid "Screen"
-msgstr "Näyttö"
+msgid "Save look selection in %s?"
+msgstr "Talletaanko ulkonäköasetus tiedostoon %s?"
 
 
-msgid "Frame"
-msgstr "Kehys"
+msgid "Cannot save selection."
+msgstr "Ei voida tallettaa valintaa."
 
 
-msgid "Recursive table - unable to deepcopy"
-msgstr "Rekursiivinen taulu - ei voida syväkopioida."
+msgid "Unable to append to non-table menu"
+msgstr "Ei voida lisätä valikkoon, koska sitä ei ole määritelty tauluna "
 
 msgid ""
 "Making the following minimal emergency mappings:\n"
 
 msgid ""
 "Making the following minimal emergency mappings:\n"
@@ -1435,14 +1380,51 @@ msgstr ""
 "  Mod1+C -> sulkeminen\n"
 "  Mod1+K P/N -> vaihto kehyksen sisällä\n"
 
 "  Mod1+C -> sulkeminen\n"
 "  Mod1+K P/N -> vaihto kehyksen sisällä\n"
 
-msgid "Unable to append to non-table menu"
-msgstr "Ei voida lisätä valikkoon, koska sitä ei ole määritelty tauluna "
+msgid "Recursive table - unable to deepcopy"
+msgstr "Rekursiivinen taulu - ei voida syväkopioida."
 
 
-msgid "Cannot save selection."
-msgstr "Ei voida tallettaa valintaa."
+msgid "Frame"
+msgstr "Kehys"
 
 
-msgid "Save look selection in %s?"
-msgstr "Talletaanko ulkonäköasetus tiedostoon %s?"
+msgid "Screen"
+msgstr "Näyttö"
+
+#
+msgid "Workspace"
+msgstr "Työpöytä"
+
+msgid "Tiling"
+msgstr "Laatoitus"
+
+msgid "Tiled frame"
+msgstr "Laatoitettu kehys"
+
+msgid "Floating frame"
+msgstr "Kelluva kehys"
+
+msgid "Context menu:"
+msgstr "Kontekstivalikko:"
+
+msgid "Main menu:"
+msgstr "Päävalikko:"
+
+msgid "Invalid guard %s."
+msgstr "Virheellinen vahti %s."
+
+msgid "Error compiling guard: %s"
+msgstr "Virhe vahdin käännössä. %s"
+
+msgid "Error in command string: "
+msgstr "Virhe komentojonossa:"
+
+msgid "Invalid command"
+msgstr "Virheellinen komento"
+
+msgid "Not a directory."
+msgstr "Ei hakemisto."
+
+msgid "Could not find %s"
+msgstr "Ei löydettyä %s:ää."
 
 msgid "ion-statusd quit."
 msgstr "ion-statusd päätti suorituksen."
 
 msgid "ion-statusd quit."
 msgstr "ion-statusd päätti suorituksen."
@@ -1585,6 +1567,19 @@ msgstr ""
 msgid "%s %s at %s"
 msgstr "%s %s osassa %s"
 
 msgid "%s %s at %s"
 msgstr "%s %s osassa %s"
 
+#~ msgid ""
+#~ "Unable to unsplit: Could not move client windows elsewhere within the "
+#~ "tiling."
+#~ msgstr ""
+#~ "Ei voida poistaa halkaisua: asiakasikkunoita ei voitu siirtää muualle "
+#~ "laatoituksessa."
+
+#~ msgid "'based_on' for %s points back to the style itself."
+#~ msgstr "Tyylin %s 'based_on' -asetus osoittaa itseensä."
+
+#~ msgid "Unknown base style. \"%s\""
+#~ msgstr "Tuntematon pohjatyyli \"%s\"."
+
 #~ msgid "Tag current object within the frame."
 #~ msgstr "Merkitse kehyksen tällä hetkellä näyttämä kappale."
 
 #~ msgid "Tag current object within the frame."
 #~ msgstr "Merkitse kehyksen tällä hetkellä näyttämä kappale."
 
@@ -1736,8 +1731,8 @@ msgstr "%s %s osassa %s"
 #~ msgid "Restart PWM"
 #~ msgstr "Käynnistä PWM"
 
 #~ msgid "Restart PWM"
 #~ msgstr "Käynnistä PWM"
 
-msgid "Refresh list"
-msgstr "Virkistä lista"
+#~ msgid "Refresh list"
+#~ msgstr "Virkistä lista"
 
 #~ msgid "Unable to create workspace: no screen."
 #~ msgstr "Ei voida luoda työpöytää: ei ruutua."
 
 #~ msgid "Unable to create workspace: no screen."
 #~ msgstr "Ei voida luoda työpöytää: ei ruutua."
index 32db47c60e282321eddd13a6aa490d94ebda836f..d9f2ec0dfaf65d7971bd1c16483de52840136ecc 100644 (file)
--- a/system.mk
+++ b/system.mk
@@ -109,7 +109,7 @@ DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND
 # If you're on an archaic system (such as relatively recent *BSD releases)
 # without even dummy multibyte/widechar and localisation support, you may 
 # have to uncomment the following line:
 # If you're on an archaic system (such as relatively recent *BSD releases)
 # without even dummy multibyte/widechar and localisation support, you may 
 # have to uncomment the following line:
-#DEFINES += -DCF_NO_LOCALE
+#DEFINES += -DCF_NO_LOCALE -DCF_NO_GETTEXT
 
 # On some other systems you may something like this:
 #EXTRA_LIBS += -lintl
 
 # On some other systems you may something like this:
 #EXTRA_LIBS += -lintl
@@ -143,7 +143,7 @@ EXPORT_DYNAMIC=-Xlinker --export-dynamic
 
 #C89_SOURCE=-ansi
 
 
 #C89_SOURCE=-ansi
 
-#POSIX_SOURCE=-D_POSIX_SOURCE
+#POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L
 
 # Most systems
 #XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
 
 # Most systems
 #XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
index 587f7f637b27407022b1b778150c7260e41ae921..1db6d78d06319fca4f8c15ef06cf003b13fffc8e 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define ION_VERSION "3rc-20070608"
+#define ION_VERSION "3rc-20070708"
 #define ION_API_VERSION "3"
 #define ION_API_VERSION "3"