]> 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
 
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
 ----------------
 
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?
 
-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
 
index 1cad080d56a205571ab8ec6af65510d632ff1e28..82d722203373bca923a46623e3db59fddc250096 100644 (file)
@@ -1,5 +1,5 @@
 
 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}
-\date{2007-06-08}
+\date{2007-07-08}
 
 \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
@@ -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
 
 
 ]
-l2hSize :tex2html_wrap_inline5514:7.5626pt::7.5626pt::14.53923pt.
+l2hSize :tex2html_wrap_inline5518:7.5626pt::7.5626pt::14.53923pt.
 [5
 
 
 ]
-l2hSize :tex2html_wrap_inline7764:8.7125pt::8.7125pt::86.9574pt.
+l2hSize :tex2html_wrap_inline7768:8.7125pt::8.7125pt::86.9574pt.
 [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
- 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
index 4906f84ab0ddc59926a85450c0ec636fe941d4d9..75709b4c8c3d5e932731e10910945a9961dc4a46 100644 (file)
@@ -82,7 +82,7 @@
 
 \title{Configuring and extending Ion3 with Lua}
 \author{Tuomo Valkonen \\tuomov at iki.fi}
-\date{2007-06-08}
+\date{2007-07-08}
 
 
 \makeindex
@@ -325,13 +325,13 @@ $(0, 1]$%
 \stepcounter{subsection}
 \stepcounter{subsection}
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline5512}%
+\lthtmlinlinemathA{tex2html_wrap_inline5516}%
 $-1$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
 
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline5514}%
+\lthtmlinlinemathA{tex2html_wrap_inline5518}%
 $-2$%
 \lthtmlinlinemathZ
 \lthtmlcheckvsize\clearpage}
@@ -361,7 +361,7 @@ $-2$%
 \stepcounter{section}
 \stepcounter{subsection}
 {\newpage\clearpage
-\lthtmlinlinemathA{tex2html_wrap_inline7764}%
+\lthtmlinlinemathA{tex2html_wrap_inline7768}%
 $\{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>2007-06-08</STRONG></P>
+<P ALIGN="CENTER"><STRONG>2007-07-08</STRONG></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>2007-06-08</STRONG></P>
+<P ALIGN="CENTER"><STRONG>2007-07-08</STRONG></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>
- : <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>
- : <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>
- : <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>
- : <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>
@@ -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>
- : <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>
@@ -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>
- : <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>
- : <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>
- : <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>
- : <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>
- : <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>
@@ -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>
- : <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>
- : <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>
@@ -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>
- : <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>
@@ -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>
- : <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>
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 translation was initiated by tuomov on 2007-06-08
+The translation was initiated by tuomov on 2007-07-08
 <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.
+ The function returns <TT>true</TT> if all tagged regions were
+ succesfully attached, and <TT>false</TT> otherwisse.
   
 </DD>
 </DL>
@@ -5844,7 +5846,7 @@ Any parameters not explicitly set in <TT>conftab</TT> will be left unchanged.
 <P>
 
   <DL>
-<DD><A NAME="8242"></A>
+<DD><A NAME="8246"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5916,7 +5918,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8243"></A>
+<DD><A NAME="8247"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5936,7 +5938,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8244"></A>
+<DD><A NAME="8248"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5957,7 +5959,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8245"></A>
+<DD><A NAME="8249"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -5978,7 +5980,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8246"></A>
+<DD><A NAME="8250"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6024,7 +6026,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8247"></A>
+<DD><A NAME="8251"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6045,7 +6047,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8248"></A>
+<DD><A NAME="8252"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6065,7 +6067,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8249"></A>
+<DD><A NAME="8253"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6086,7 +6088,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8250"></A>
+<DD><A NAME="8254"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6106,7 +6108,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8251"></A>
+<DD><A NAME="8255"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6126,7 +6128,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8252"></A>
+<DD><A NAME="8256"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6178,7 +6180,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8253"></A>
+<DD><A NAME="8257"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6199,7 +6201,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8254"></A>
+<DD><A NAME="8258"></A>
 
 </DD>
 <DT><STRONG>Hook name:</STRONG></DT>
@@ -6221,7 +6223,7 @@ reg:attach(cwin)
 <P>
 
   <DL>
-<DD><A NAME="8255"></A>
+<DD><A NAME="8259"></A>
 
 </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 translation was initiated by tuomov on 2007-06-08
+The translation was initiated by tuomov on 2007-07-08
 <BR><HR>
 
 </BODY>
index be393c9b1a75664e0b6a4f79493d999da77d9b4a..a643e4416a4fc5cc5f116a0e4e03a182b8415f77 100644 (file)
@@ -50,7 +50,7 @@ defbindings("WScreen", {
         --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."),
@@ -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("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 }),
 })
 
index 7bf3474237707ff76fe4df4cdadf6269dde0dda0..912b52fd0558525d233e7d57d3a734bc71fe8ebd 100644 (file)
@@ -1,5 +1,5 @@
 
 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 && 
-       frame->mplex.mgd->next==NULL){
+       frame->mplex.mgd->mgr_next==NULL){
         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},
+     
+    {group_bottom_set,
+     groupcw_bottom_set},
     
     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_do_set_bottom(WGroup *grp, WStacking *st);
+
 
 /*{{{ Stacking list stuff */
 
@@ -311,51 +313,40 @@ void group_managed_remove(WGroup *ws, WRegion *reg)
     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->bottom){
-            ws->bottom=NULL;
-            was_bottom=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);
     
-    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 */
 
 
+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;
+    WStacking *std=grp->managed_stdisp;
     
     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_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);
+DYNFUN void group_bottom_set(WGroup *grp);
 
 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>
+#endif
+#ifndef CF_NO_GETTEXT
 #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(
-    "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"
-    "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;
 
@@ -229,6 +231,10 @@ static bool init_locale()
     return FALSE;
 }
 
+#endif
+
+#ifndef CF_NO_GETTEXT
+
 #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();
+#endif
+#ifndef CF_NO_GETTEXT
     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.
+-- The function returns \code{true} if all tagged regions were
+-- succesfully attached, and \code{false} otherwisse.
 function ioncore.tagged_attach(reg, param)
+    local errors=false
     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
-            return false
+            errors=true
         end
     end
-    return true
+    return not errors
 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;
-    Status st=0;
+    Status st;
+    bool ok;
     
     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){
-        st=XTextPropertyToStringList(&prop, &list, &n);
+        Status st=XTextPropertyToStringList(&prop, &list, &n);
+        ok=(st==0);
     }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);
     
-    if(!st || n==0 || list==NULL)
+    if(!ok || n==0 || list==NULL)
         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;
-    Status st;
-
+    bool ok;
+    
     if(!ioncore_g.use_mb){
-        st=XStringListToTextProperty((char **)&ptr, n, &prop);
+        Status st=XStringListToTextProperty((char **)ptr, n, &prop);
+        ok=(st!=0);
     }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);
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){
-        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;
         
@@ -64,15 +64,15 @@ void ioncore_handle_selection_request(XSelectionRequestEvent *ev)
         }
         
         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);
-        sev.target=prop.encoding;
+        sev.target=ev->target;
         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;
     
-    if(prop==None){
-        insert_cutbuffer(win);
-    }else{
+    if(prop!=None){
         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;
     
-    XStoreBytes(ioncore_g.dpy, p, n);
-    
     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..
 
-CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
+CFLAGS += $(POSIX_SOURCE) $(XOPEN_SOURCE) $(C99_SOURCE)
 
 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 <errno.h>
 
 #include <libtu/objp.h>
 #include <libtu/types.h>
@@ -44,19 +45,29 @@ static WTimer *queue=NULL;
 
 int mainloop_gettime(struct timeval *val)
 {
-#ifdef _POSIX_MONOTONIC_CLOCK
+#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK>=0)
     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
-    return gettimeofday(&val, NULL);
+    #warning "Monotonic clock unavailable; please fix your operating system."
 #endif
+    return gettimeofday(val, NULL);
 }
 
 
index e8507009514322cbf519e442e6b15cc22fb3e4cf..5adae397b2e2ac8b29e2a45decdccd2e4408904b 100644 (file)
@@ -1,6 +1,9 @@
 
 Context:
 
+[CF_NO_GETTEXT
+Tuomo Valkonen <tuomov@iki.fi>**20070620202409] 
+
 [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
 
-#ifdef CF_NO_LOCALE
+#ifdef CF_NO_GETTEXT
 
 #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 CF_NO_LOCALE
+#ifndef CF_NO_GETTEXT
 
 #include <libintl.h>
 
index b0c969975577556bd6485625d74dbca044160445..e4168710063991efba56097040f2fd8b12257b4a 100644 (file)
@@ -24,7 +24,7 @@ void libtu_init(const char *argv0)
 {
     progname=argv0;
 
-#ifndef CF_NO_LOCALE
+#ifndef CF_NO_GETTEXT
     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
-the module that whose configuration file defines these bindings.
+the module whose configuration file defines these 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;
-    bool found=FALSE;
+    bool found=FALSE, res=FALSE;
     
     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;
         }
     }
@@ -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);
+            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"
-"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"
 
-#: ../ioncore/conf-bindings.c:96
+#: ../ioncore/conf-bindings.c:93
 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."
 
-#: ../ioncore/conf-bindings.c:111
+#: ../ioncore/conf-bindings.c:108
 #, 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."
 
-#: ../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ù."
 
-#: ../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\"."
 
-#: ../ioncore/conf-bindings.c:186
+#: ../ioncore/conf-bindings.c:183
 #, 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."
 
-#: ../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."
 
 #
-#: ../ioncore/conf-bindings.c:260
+#: ../ioncore/conf-bindings.c:261
 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\"."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
 #
-#: ../ioncore/event.c:113
+#: ../ioncore/event.c:110
 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í."
 
-#: ../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."
 
-#: ../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"
 
-#: ../ioncore/modules.c:158
+#: ../ioncore/modules.c:155
 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."
 
-#: ../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."
 
-#: ../ioncore/modules.c:196
+#: ../ioncore/modules.c:193
 #, 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\"."
 
-#: ../ioncore/modules.c:291
+#: ../ioncore/modules.c:288
 msgid "Unknown module."
 msgstr "Neznámý modul."
 
-#: ../ioncore/modules.c:299
+#: ../ioncore/modules.c:296
 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í."
 
-#: ../ioncore/property.c:355 ../ioncore/property.c:364
+#: ../ioncore/property.c:350 ../ioncore/property.c:359
 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."
 
-#: ../ioncore/screen.c:396
+#: ../ioncore/screen.c:393
 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í"
 
-#: ../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."
 
-#: ../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."
 
-#: ../ioncore/sizehint.c:165
+#: ../ioncore/sizehint.c:154
 msgid "Invalid client-supplied aspect-ratio."
 msgstr "Klient zadal neplatný pomìr stran."
 
-#: ../ioncore/ioncore.c:78
+#: ../ioncore/ioncore.c:79
 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"
-"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 ""
-"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"
-"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í."
 
-#: ../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\""
 
-#: ../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."
 
-#: ../ioncore/xic.c:38
+#: ../ioncore/xic.c:35
 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."
 
-#: ../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."
 
-#: ../ioncore/xic.c:86
+#: ../ioncore/xic.c:83
 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."
 
-#: ../ioncore/clientwin.c:383
+#: ../ioncore/clientwin.c:380
 #, 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\"?)"
 
-#: ../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."
 
-#: ../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."
 
-#: ../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!"
 
-#: ../ioncore/clientwin.c:555
+#: ../ioncore/clientwin.c:571
 #, 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."
 
 #
-#: ../ioncore/clientwin.c:776
+#: ../ioncore/clientwin.c:792
 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."
 
 #
-#: ../ioncore/colormap.c:96
+#: ../ioncore/colormap.c:93
 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!"
 
-#: ../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."
@@ -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."
 
-#: ../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."
 
-#: ../ioncore/attach.c:83
+#: ../ioncore/attach.c:80
 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."
 
-#: ../ioncore/attach.c:111
+#: ../ioncore/attach.c:108
 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."
 
-#: ../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."
 
-#: ../ioncore/names.c:91
+#: ../ioncore/names.c:88
 #, 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."
 
-#: ../ioncore/saveload.c:202
+#: ../ioncore/saveload.c:199
 #, 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?)"
 
-#: ../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í."
 
-#: ../ioncore/saveload.c:257
+#: ../ioncore/saveload.c:254
 #, 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."
 
 #
-#: ../ioncore/saveload.c:268
+#: ../ioncore/saveload.c:265
 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."
 
-#: ../ioncore/saveload.c:308
+#: ../ioncore/saveload.c:305
 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."
 
-#: ../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."
 
-#: ../ioncore/fullscreen.c:49
+#: ../ioncore/fullscreen.c:46
 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."
@@ -397,153 +398,148 @@ msgstr ""
 "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."
 
 #
-#: ../ioncore/mplex.c:1725
+#: ../ioncore/mplex.c:1837
 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!"
 
-#: ../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\"."
 
-#: ../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\"."
 
-#: ../ioncore/frame-draw.c:314
+#: ../ioncore/frame-draw.c:311
 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."
 
-#: ../ioncore/group.c:711
+#: ../ioncore/group.c:708
 msgid "'bottom' already set."
 msgstr "'bottom' je ji¾ nastaven."
 
-#: ../ioncore/navi.c:45
+#: ../ioncore/navi.c:42
 msgid "Invalid parameter."
 msgstr "Neplatný parametr"
 
-#: ../ioncore/navi.c:72
+#: ../ioncore/navi.c:69
 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\"."
 
-#: ../ioncore/detach.c:176
+#: ../ioncore/detach.c:174
 msgid "Failed to reattach."
 msgstr "Znovupøipojení selhalo."
 
-#: ../ioncore/screen-notify.c:190
+#: ../ioncore/screen-notify.c:187
 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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../mod_tiling/tiling.c:710
+#: ../mod_tiling/tiling.c:709
 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"
 
 #
-#: ../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."
 
 #
-#: ../mod_tiling/tiling.c:976
+#: ../mod_tiling/tiling.c:975
 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."
 
-#: ../mod_tiling/tiling.c:1212
+#: ../mod_tiling/tiling.c:1195
 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."
 
-#: ../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."
 
-#: ../mod_tiling/tiling.c:1403
+#: ../mod_tiling/tiling.c:1387
 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í"
 
-#: ../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."
 
 #
-#: ../mod_tiling/tiling.c:1498
+#: ../mod_tiling/tiling.c:1482
 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."
 
 #
-#: ../mod_tiling/tiling.c:1617
+#: ../mod_tiling/tiling.c:1601
 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í."
 
 #
 #
-#: ../mod_tiling/tiling.c:1670
+#: ../mod_tiling/tiling.c:1654
 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."
@@ -552,63 +548,63 @@ msgstr ""
 "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."
 
-#: ../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."
 
 #
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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í."
 
-#: ../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ì."
 
-#: ../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"
 
-#: ../mod_tiling/ops.c:77
+#: ../mod_tiling/ops.c:74
 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."
 
-#: ../mod_query/wedln.c:813
+#: ../mod_query/wedln.c:811
 msgid "history"
 msgstr "historie"
 
-#: ../mod_query/fwarn.c:35
+#: ../mod_query/fwarn.c:32
 msgid "Error:\n"
 msgstr "Chyba:\n"
 
 #
-#: ../mod_menu/menu.c:601
+#: ../mod_menu/menu.c:598
 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í."
 
@@ -638,34 +634,34 @@ msgstr "Spr
 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."
 
-#: ../mod_statusbar/main.c:75
+#: ../mod_statusbar/main.c:74
 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."
 
-#: ../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"
 
-#: ../de/init.c:68
+#: ../de/init.c:65
 #, 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\"."
 
-#: ../de/init.c:111
+#: ../de/init.c:108
 #, 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\"."
 
-#: ../de/init.c:210
+#: ../de/init.c:220
 #, 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\"."
 
-#: ../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 "
@@ -704,71 +690,71 @@ msgstr ""
 "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\"."
 
-#: ../de/font.c:63
+#: ../de/font.c:60
 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!"
 
-#: ../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"
 
-#: ../ion/ion.c:45 ../pwm/pwm.c:45
+#: ../ion/ion.c:42 ../pwm/pwm.c:42
 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"
 
-#: ../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"
 
-#: ../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í)"
 
-#: ../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í"
 
-#: ../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."
 
-#: ../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"
 
-#: ../ion/ion.c:67 ../pwm/pwm.c:67
+#: ../ion/ion.c:64 ../pwm/pwm.c:64
 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"
 
-#: ../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."
 
-#: ../ion/ion.c:99
+#: ../ion/ion.c:96
 #, 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"
@@ -778,54 +764,54 @@ msgstr ""
 "\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."
 
-#: ../ion/ion.c:222
+#: ../ion/ion.c:219
 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."
 
-#: ../pwm/pwm.c:172
+#: ../pwm/pwm.c:169
 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á"
 
-#: ../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í."
 
-#: ../libextl/readconfig.c:254
+#: ../../libextl-3/readconfig.c:254
 #, 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\"."
 
-#: ../libextl/luaextl.c:117
+#: ../../libextl-3/luaextl.c:117
 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."
 
-#: ../libextl/luaextl.c:490
+#: ../../libextl-3/luaextl.c:490
 msgid "Stack trace:"
 msgstr "Výpis zásobníku:"
 
-#: ../libextl/luaextl.c:497
+#: ../../libextl-3/luaextl.c:497
 #, c-format
 msgid ""
 "\n"
@@ -834,7 +820,7 @@ msgstr ""
 "\n"
 "(Nemohu získat ladicí informace pro úroveò %d)"
 
-#: ../libextl/luaextl.c:515
+#: ../../libextl-3/luaextl.c:515
 msgid ""
 "\n"
 "  [Skipping unnamed C functions.]"
@@ -842,40 +828,40 @@ msgstr ""
 "\n"
 "  [Pøeskakuji nepojmenované C funkce.]"
 
-#: ../libextl/luaextl.c:566
+#: ../../libextl-3/luaextl.c:566
 msgid "Internal error."
 msgstr "Interní chyba."
 
-#: ../libextl/luaextl.c:585
+#: ../../libextl-3/luaextl.c:585
 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."
 
-#: ../libextl/luaextl.c:1356
+#: ../../libextl-3/luaextl.c:1489
 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\")."
 
-#: ../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ý."
 
-#: ../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."
 
-#: ../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 "
@@ -884,40 +870,40 @@ msgstr ""
 "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á."
 
-#: ../libextl/luaextl.c:1832
+#: ../../libextl-3/luaextl.c:1965
 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."
 
-#: ../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"
 
 #
-#: ../libextl/luaextl.c:2347
+#: ../../libextl-3/luaextl.c:2480
 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."
 
-#: ../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"
 
-#: ../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, "
@@ -1353,51 +1339,14 @@ msgstr "Nemohu naj
 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"
@@ -1414,14 +1363,51 @@ msgstr ""
 "  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èí."
@@ -1555,6 +1541,17 @@ msgstr "%s %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."
 
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"
-"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"
@@ -19,273 +19,272 @@ msgstr ""
 "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ä."
 
-#: ../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."
 
-#: ../ioncore/conf-bindings.c:111
+#: ../ioncore/conf-bindings.c:108
 #, 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ä."
 
-#: ../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ä."
 
-#: ../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ä."
 
-#: ../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."
 
-#: ../ioncore/conf-bindings.c:191
+#: ../ioncore/conf-bindings.c:188
 #, 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."
 
 #
-#: ../ioncore/conf-bindings.c:260
+#: ../ioncore/conf-bindings.c:261
 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."
 
-#: ../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.\""
 
-#: ../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."
 
-#: ../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."
 
-#: ../ioncore/conf-bindings.c:389
+#: ../ioncore/conf-bindings.c:392
 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."
 
 #
-#: ../ioncore/exec.c:186
+#: ../ioncore/exec.c:185
 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."
 
-#: ../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"
 
-#: ../ioncore/modules.c:158
+#: ../ioncore/modules.c:155
 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."
 
-#: ../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ä."
 
-#: ../ioncore/modules.c:196
+#: ../ioncore/modules.c:193
 #, 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':ää."
 
-#: ../ioncore/modules.c:291
+#: ../ioncore/modules.c:288
 msgid "Unknown module."
 msgstr "Tuntematon moduuli."
 
-#: ../ioncore/modules.c:299
+#: ../ioncore/modules.c:296
 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."
 
 #
-#: ../ioncore/property.c:355 ../ioncore/property.c:364
+#: ../ioncore/property.c:350 ../ioncore/property.c:359
 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."
 
 #
-#: ../ioncore/screen.c:396
+#: ../ioncore/screen.c:393
 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."
 
-#: ../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."
 
-#: ../ioncore/sizehint.c:157
+#: ../ioncore/sizehint.c:146
 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."
 
-#: ../ioncore/ioncore.c:78
+#: ../ioncore/ioncore.c:79
 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"
-"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 ""
-"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"
-"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"
-"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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../ioncore/xic.c:38
+#: ../ioncore/xic.c:35
 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."
 
-#: ../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ä."
 
-#: ../ioncore/xic.c:86
+#: ../ioncore/xic.c:83
 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ä."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../ioncore/clientwin.c:516
+#: ../ioncore/clientwin.c:532
 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."
 
-#: ../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."
 
 #
-#: ../ioncore/clientwin.c:776
+#: ../ioncore/clientwin.c:792
 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."
 
 #
-#: ../ioncore/colormap.c:96
+#: ../ioncore/colormap.c:93
 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."
 
-#: ../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."
@@ -304,43 +303,43 @@ msgstr "(tuntematon)"
 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."
 
-#: ../ioncore/attach.c:83
+#: ../ioncore/attach.c:80
 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."
 
-#: ../ioncore/attach.c:111
+#: ../ioncore/attach.c:108
 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öä."
 
-#: ../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."
 
-#: ../ioncore/names.c:91
+#: ../ioncore/names.c:88
 #, 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."
 
-#: ../ioncore/saveload.c:202
+#: ../ioncore/saveload.c:199
 #, 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."
 
-#: ../ioncore/saveload.c:253
+#: ../ioncore/saveload.c:250
 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."
 
-#: ../ioncore/saveload.c:263
+#: ../ioncore/saveload.c:260
 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ä."
 
-#: ../ioncore/saveload.c:295
+#: ../ioncore/saveload.c:292
 #, 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."
 
-#: ../ioncore/conf.c:235
+#: ../ioncore/conf.c:237
 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."
 
-#: ../ioncore/fullscreen.c:49
+#: ../ioncore/fullscreen.c:46
 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."
@@ -407,221 +406,214 @@ msgstr ""
 "tai vanhempi kieltäytyi hallitsemasta ikkunaa."
 
 #
-#: ../ioncore/mplex.c:1685
+#: ../ioncore/mplex.c:1797
 msgid "Invalid position setting."
 msgstr "Virheellinen paikka-asetus."
 
 #
-#: ../ioncore/mplex.c:1725
+#: ../ioncore/mplex.c:1837
 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!"
 
-#: ../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ä."
 
-#: ../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\"."
 
 #
-#: ../ioncore/frame-draw.c:314
+#: ../ioncore/frame-draw.c:311
 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."
 
-#: ../ioncore/group.c:711
+#: ../ioncore/group.c:708
 msgid "'bottom' already set."
 msgstr "'pohja' on jo asetettu."
 
 #
-#: ../ioncore/navi.c:45
+#: ../ioncore/navi.c:42
 msgid "Invalid parameter."
 msgstr "Virheellinen parametri."
 
-#: ../ioncore/navi.c:72
+#: ../ioncore/navi.c:69
 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\"."
 
-#: ../ioncore/detach.c:176
+#: ../ioncore/detach.c:174
 msgid "Failed to reattach."
 msgstr "Uudelleenliittäminen epäonnistui"
 
-#: ../ioncore/screen-notify.c:190
+#: ../ioncore/screen-notify.c:187
 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ä."
 
-#: ../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."
 
-#: ../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."
 
-#: ../mod_tiling/tiling.c:710
+#: ../mod_tiling/tiling.c:709
 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."
 
 #
-#: ../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."
 
 #
-#: ../mod_tiling/tiling.c:976
+#: ../mod_tiling/tiling.c:975
 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."
 
-#: ../mod_tiling/tiling.c:1212
+#: ../mod_tiling/tiling.c:1195
 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."
 
-#: ../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."
 
-#: ../mod_tiling/tiling.c:1403
+#: ../mod_tiling/tiling.c:1387
 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."
 
-#: ../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."
 
 #
-#: ../mod_tiling/tiling.c:1498
+#: ../mod_tiling/tiling.c:1482
 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."
 
 #
-#: ../mod_tiling/tiling.c:1617
+#: ../mod_tiling/tiling.c:1601
 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."
 
 #
 #
-#: ../mod_tiling/tiling.c:1670
+#: ../mod_tiling/tiling.c:1654
 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."
 
 #
-#: ../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ä."
 
-#: ../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."
 
 #
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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."
 
-#: ../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ä"
 
-#: ../mod_tiling/ops.c:77
+#: ../mod_tiling/ops.c:74
 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."
 
-#: ../mod_query/wedln.c:813
+#: ../mod_query/wedln.c:811
 msgid "history"
 msgstr "hist.täyd."
 
-#: ../mod_query/fwarn.c:35
+#: ../mod_query/fwarn.c:32
 msgid "Error:\n"
 msgstr "Virhe:\n"
 
 #
-#: ../mod_menu/menu.c:601
+#: ../mod_menu/menu.c:598
 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."
 
@@ -651,34 +643,34 @@ msgstr "Virhe istunnonhallinan kutsussa IceAddConnectionWatch."
 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."
 
-#: ../mod_statusbar/main.c:75
+#: ../mod_statusbar/main.c:74
 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."
 
-#: ../mod_statusbar/statusbar.c:1081
+#: ../mod_statusbar/statusbar.c:1079
 #, 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."
 
-#: ../de/init.c:91
+#: ../de/init.c:88
 #, 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."
@@ -688,27 +680,17 @@ msgstr "Reunan sivuasetus \"%s\" on tuntematon."
 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."
 
-#: ../de/init.c:243
+#: ../de/init.c:253
 #, 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 "
@@ -717,69 +699,69 @@ msgstr ""
 "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\":ää."
 
-#: ../de/font.c:63
+#: ../de/font.c:60
 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!"
 
-#: ../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ö"
 
-#: ../ion/ion.c:45 ../pwm/pwm.c:45
+#: ../ion/ion.c:42 ../pwm/pwm.c:42
 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"
 
-#: ../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."
 
-#: ../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)"
 
-#: ../ion/ion.c:57 ../pwm/pwm.c:57
+#: ../ion/ion.c:54 ../pwm/pwm.c:54
 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."
 
-#: ../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"
 
-#: ../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"
 
-#: ../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"
 
-#: ../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."
 
-#: ../ion/ion.c:99
+#: ../ion/ion.c:96
 #, 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"
@@ -789,19 +771,19 @@ msgstr ""
 "\n"
 
 #
-#: ../ion/ion.c:200 ../pwm/pwm.c:150
+#: ../ion/ion.c:197 ../pwm/pwm.c:147
 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"
 
-#: ../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."
 
-#: ../pwm/pwm.c:172
+#: ../pwm/pwm.c:169
 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."
 
-#: ../../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:ä."
 
-#: ../../libextl-3/luaextl.c:1356
+#: ../../libextl-3/luaextl.c:1489
 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\")."
 
-#: ../../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."
 
-#: ../../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."
 
-#: ../../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 "
@@ -899,20 +881,20 @@ msgstr ""
 "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."
 
-#: ../../libextl-3/luaextl.c:1832
+#: ../../libextl-3/luaextl.c:1965
 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."
 
-#: ../../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"
@@ -921,16 +903,16 @@ msgstr ""
 "kykenee."
 
 #
-#: ../../libextl-3/luaextl.c:2347
+#: ../../libextl-3/luaextl.c:2480
 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."
 
-#: ../../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"
 
@@ -1374,51 +1356,14 @@ msgstr "Asiakasikkunaa %s ei l
 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"
@@ -1435,14 +1380,51 @@ msgstr ""
 "  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."
@@ -1585,6 +1567,19 @@ msgstr ""
 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."
 
@@ -1736,8 +1731,8 @@ msgstr "%s %s osassa %s"
 #~ 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."
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:
-#DEFINES += -DCF_NO_LOCALE
+#DEFINES += -DCF_NO_LOCALE -DCF_NO_GETTEXT
 
 # On some other systems you may something like this:
 #EXTRA_LIBS += -lintl
@@ -143,7 +143,7 @@ EXPORT_DYNAMIC=-Xlinker --export-dynamic
 
 #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
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"