Hello community,

here is the log from the commit of package i3 for openSUSE:Factory checked in 
at 2015-09-17 09:21:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/i3 (Old)
 and      /work/SRC/openSUSE:Factory/.i3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "i3"

Changes:
--------
--- /work/SRC/openSUSE:Factory/i3/i3.changes    2015-04-25 11:25:48.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.i3.new/i3.changes       2015-09-17 
09:21:24.000000000 +0200
@@ -1,0 +2,18 @@
+Tue Sep  8 15:32:20 UTC 2015 - [email protected]
+
+- Update to v4.10.4:
+  * Bugfixes:
+    - revert: disable physically disconnected RandR outputs
+    - i3-msg: strdup getenv() result before freeing
+- Changes of v4.10.3:
+  * Bugfixes:
+    - serialize con_id with %p in run_binding() (For FreeBSD)
+    - ignore InputHint when not in WM_HINTS (fixes e.g. mupdf focus)
+    - disable physically disconnect RandR outputs
+    - initialize workspace rect to the output's upon creation
+    - userguide: quoted strings need to be used, escaping isn’t possible
+    - mkdirp: do not throw an error if directory exists (fixes layout loss for
+      in-place restarts)
+    - i3bar: fix freeing static strings
+
+-------------------------------------------------------------------

Old:
----
  i3-4.10.2.tar.bz2

New:
----
  i3-4.10.4.tar.bz2

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

Other differences:
------------------
++++++ i3.spec ++++++
--- /var/tmp/diff_new_pack.q32vw6/_old  2015-09-17 09:21:25.000000000 +0200
+++ /var/tmp/diff_new_pack.q32vw6/_new  2015-09-17 09:21:25.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           i3
-Version:        4.10.2
+Version:        4.10.4
 Release:        0
 Summary:        Tilling window manager
 License:        BSD-3-Clause

++++++ i3-4.10.2.tar.bz2 -> i3-4.10.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/I3_VERSION new/i3-4.10.4/I3_VERSION
--- old/i3-4.10.2/I3_VERSION    2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/I3_VERSION    2015-09-08 09:19:26.000000000 +0200
@@ -1 +1 @@
-4.10.2 (2015-04-16, branch \"4.10.2\")
\ No newline at end of file
+4.10.4 (2015-09-08, branch \"4.10.4\")
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/RELEASE-NOTES-4.10.2 
new/i3-4.10.4/RELEASE-NOTES-4.10.2
--- old/i3-4.10.2/RELEASE-NOTES-4.10.2  2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/RELEASE-NOTES-4.10.2  1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-
- ┌──────────────────────────────┐
- │ Release notes for i3 v4.10.2 │
- └──────────────────────────────┘
-
-This is i3 v4.10.2. This version is considered stable. All users of i3 are
-strongly encouraged to upgrade.
-
- ┌────────────────────────────┐
- │ Bugfixes                   │
- └────────────────────────────┘
-
-  • Cope with non-null-terminated x class properties.
-  • Get workspace name when renaming current workspace (fixes crash).
-  • Use a reasonable default sep_block_width if a separator_symbol is given.
-  • Remove windows from the save set when unmapping.
-
- ┌────────────────────────────┐
- │ Thanks!                    │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
-  Ingo Bürk, Michael Hofmann,
-
--- Michael Stapelberg, 2015-04-16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/RELEASE-NOTES-4.10.4 
new/i3-4.10.4/RELEASE-NOTES-4.10.4
--- old/i3-4.10.2/RELEASE-NOTES-4.10.4  1970-01-01 01:00:00.000000000 +0100
+++ new/i3-4.10.4/RELEASE-NOTES-4.10.4  2015-09-08 09:19:20.000000000 +0200
@@ -0,0 +1,24 @@
+
+ ┌──────────────────────────────┐
+ │ Release notes for i3 v4.10.4 │
+ └──────────────────────────────┘
+
+This is i3 v4.10.4. This version is considered stable. All users of i3 are
+strongly encouraged to upgrade.
+
+ ┌────────────────────────────┐
+ │ Bugfixes                   │
+ └────────────────────────────┘
+
+  • revert: disable physically disconnected RandR outputs
+  • i3-msg: strdup getenv() result before freeing
+
+ ┌────────────────────────────┐
+ │ Thanks!                    │
+ └────────────────────────────┘
+
+Thanks for testing, bugfixes, discussions and everything I forgot go out to:
+
+  shdown
+
+-- Michael Stapelberg, 2015-09-08
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/VERSION new/i3-4.10.4/VERSION
--- old/i3-4.10.2/VERSION       2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/VERSION       2015-09-08 09:19:26.000000000 +0200
@@ -1 +1 @@
-4.10.2
\ No newline at end of file
+4.10.4
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/debugging.html 
new/i3-4.10.4/docs/debugging.html
--- old/i3-4.10.2/docs/debugging.html   2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/debugging.html   2015-09-08 09:19:26.000000000 +0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>Debugging i3: How To</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -872,7 +874,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/hacking-howto.html 
new/i3-4.10.4/docs/hacking-howto.html
--- old/i3-4.10.2/docs/hacking-howto.html       2015-04-16 09:03:09.000000000 
+0200
+++ new/i3-4.10.4/docs/hacking-howto.html       2015-09-08 09:19:26.000000000 
+0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>Hacking i3: How To</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -2298,7 +2300,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/i3bar-protocol.html 
new/i3-4.10.4/docs/i3bar-protocol.html
--- old/i3-4.10.2/docs/i3bar-protocol.html      2015-04-16 09:03:09.000000000 
+0200
+++ new/i3-4.10.4/docs/i3bar-protocol.html      2015-09-08 09:19:26.000000000 
+0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>i3bar input protocol</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -1113,7 +1115,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/ipc.html new/i3-4.10.4/docs/ipc.html
--- old/i3-4.10.2/docs/ipc.html 2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/ipc.html 2015-09-08 09:19:26.000000000 +0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>IPC interface (interprocess communication)</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -2187,7 +2189,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/layout-saving.html 
new/i3-4.10.4/docs/layout-saving.html
--- old/i3-4.10.2/docs/layout-saving.html       2015-04-16 09:03:09.000000000 
+0200
+++ new/i3-4.10.4/docs/layout-saving.html       2015-09-08 09:19:26.000000000 
+0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>Layout saving in i3</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -1010,7 +1012,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/multi-monitor.html 
new/i3-4.10.4/docs/multi-monitor.html
--- old/i3-4.10.2/docs/multi-monitor.html       2015-04-16 09:03:09.000000000 
+0200
+++ new/i3-4.10.4/docs/multi-monitor.html       2015-09-08 09:19:26.000000000 
+0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>The multi-monitor situation</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -812,7 +814,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/testsuite.html 
new/i3-4.10.4/docs/testsuite.html
--- old/i3-4.10.2/docs/testsuite.html   2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/testsuite.html   2015-09-08 09:19:26.000000000 +0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>i3 testsuite</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -1361,7 +1363,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/userguide new/i3-4.10.4/docs/userguide
--- old/i3-4.10.2/docs/userguide        2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/userguide        2015-09-08 09:19:26.000000000 +0200
@@ -699,6 +699,10 @@
 also when restarting i3 you should use the +exec_always+
 keyword. These commands will be run in order.
 
+See <<command_chaining>> for details on the special meaning of +;+ (semicolon)
+and +,+ (comma): they chain commands together in i3, so you need to use quoted
+strings if they appear in your command.
+
 *Syntax*:
 -------------------
 exec [--no-startup-id] command
@@ -1466,7 +1470,11 @@
 What good is a window manager if you can’t actually start any applications?
 The exec command starts an application by passing the command you specify to a
 shell. This implies that you can use globbing (wildcards) and programs will be
-searched in your $PATH.
+searched in your +$PATH+.
+
+See <<command_chaining>> for details on the special meaning of +;+ (semicolon)
+and +,+ (comma): they chain commands together in i3, so you need to use quoted
+strings if they appear in your command.
 
 *Syntax*:
 ------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/userguide.html 
new/i3-4.10.4/docs/userguide.html
--- old/i3-4.10.2/docs/userguide.html   2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/userguide.html   2015-09-08 09:19:26.000000000 +0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>i3 User’s Guide</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -1452,6 +1454,9 @@
 commands will not run when restarting i3, if you need a command to run
 also when restarting i3 you should use the <code>exec_always</code>
 keyword. These commands will be run in order.</p></div>
+<div class="paragraph"><p>See <a 
href="#command_chaining">[command_chaining]</a> for details on the special 
meaning of <code>;</code> (semicolon)
+and <code>,</code> (comma): they chain commands together in i3, so you need to 
use quoted
+strings if they appear in your command.</p></div>
 <div class="paragraph"><p><strong>Syntax</strong>:</p></div>
 <div class="listingblock">
 <div class="content">
@@ -2323,7 +2328,10 @@
 <div class="paragraph"><p>What good is a window manager if you can’t actually 
start any applications?
 The exec command starts an application by passing the command you specify to a
 shell. This implies that you can use globbing (wildcards) and programs will be
-searched in your $PATH.</p></div>
+searched in your <code>$PATH</code>.</p></div>
+<div class="paragraph"><p>See <a 
href="#command_chaining">[command_chaining]</a> for details on the special 
meaning of <code>;</code> (semicolon)
+and <code>,</code> (comma): they chain commands together in i3, so you need to 
use quoted
+strings if they appear in your command.</p></div>
 <div class="paragraph"><p><strong>Syntax</strong>:</p></div>
 <div class="listingblock">
 <div class="content">
@@ -3085,7 +3093,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/docs/wsbar.html 
new/i3-4.10.4/docs/wsbar.html
--- old/i3-4.10.2/docs/wsbar.html       2015-04-16 09:03:09.000000000 +0200
+++ new/i3-4.10.4/docs/wsbar.html       2015-09-08 09:19:26.000000000 +0200
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
 <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" 
/>
-<meta name="generator" content="AsciiDoc 8.6.8" />
+<meta name="generator" content="AsciiDoc 8.6.9" />
 <title>External workspace bars</title>
 <style type="text/css">
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -94,7 +94,9 @@
   padding: 0;
   margin: 0;
 }
-
+pre {
+  white-space: pre-wrap;
+}
 
 #author {
   color: #527bbd;
@@ -223,7 +225,7 @@
 }
 
 div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
+span.image img { border-style: none; vertical-align: text-bottom; }
 a.image:visited { color: white; }
 
 dl {
@@ -840,7 +842,8 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-16 09:02:58 CEST
+Last updated
+ 2015-09-08 09:19:16 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/i3-msg/main.c new/i3-4.10.4/i3-msg/main.c
--- old/i3-4.10.2/i3-msg/main.c 2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/i3-msg/main.c 2015-09-08 09:19:20.000000000 +0200
@@ -119,7 +119,11 @@
 };
 
 int main(int argc, char *argv[]) {
-    socket_path = getenv("I3SOCK");
+    char *env_socket_path = getenv("I3SOCK");
+    if (env_socket_path)
+        socket_path = sstrdup(env_socket_path);
+    else
+        socket_path = NULL;
     int o, option_index = 0;
     uint32_t message_type = I3_IPC_MESSAGE_TYPE_COMMAND;
     char *payload = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/i3bar/src/child.c 
new/i3-4.10.4/i3bar/src/child.c
--- old/i3-4.10.2/i3bar/src/child.c     2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/i3bar/src/child.c     2015-09-08 09:19:20.000000000 +0200
@@ -107,14 +107,14 @@
 
     struct status_block *err_block = scalloc(sizeof(struct status_block));
     err_block->full_text = i3string_from_utf8("Error: ");
-    err_block->name = "error";
-    err_block->color = "red";
+    err_block->name = sstrdup("error");
+    err_block->color = sstrdup("red");
     err_block->no_separator = true;
 
     struct status_block *message_block = scalloc(sizeof(struct status_block));
     message_block->full_text = i3string_from_utf8(message);
-    message_block->name = "error_message";
-    message_block->color = "red";
+    message_block->name = sstrdup("error_message");
+    message_block->color = sstrdup("red");
     message_block->no_separator = true;
 
     TAILQ_INSERT_HEAD(&statusline_head, err_block, blocks);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/include/ipc.h new/i3-4.10.4/include/ipc.h
--- old/i3-4.10.2/include/ipc.h 2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/include/ipc.h 2015-09-08 09:19:20.000000000 +0200
@@ -51,12 +51,6 @@
                               uint32_t message_type)
 
 /**
- * Emulates mkdir -p (creates any missing folders)
- *
- */
-bool mkdirp(const char *path);
-
-/**
  * Handler for activity on the listening socket, meaning that a new client
  * has just connected and we should accept() him. Sets up the event handler
  * for activity on the new connection and inserts the file descriptor into
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/include/libi3.h 
new/i3-4.10.4/include/libi3.h
--- old/i3-4.10.2/include/libi3.h       2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/include/libi3.h       2015-09-08 09:19:20.000000000 +0200
@@ -434,3 +434,9 @@
  *
  */
 int logical_px(const int logical);
+
+/**
+ * Emulates mkdir -p (creates any missing folders)
+ *
+ */
+bool mkdirp(const char *path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/libi3/mkdirp.c new/i3-4.10.4/libi3/mkdirp.c
--- old/i3-4.10.2/libi3/mkdirp.c        1970-01-01 01:00:00.000000000 +0100
+++ new/i3-4.10.4/libi3/mkdirp.c        2015-09-08 09:19:20.000000000 +0200
@@ -0,0 +1,50 @@
+#include "libi3.h"
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+/*
+ * Emulates mkdir -p (creates any missing folders)
+ *
+ */
+bool mkdirp(const char *path) {
+    if (mkdir(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == 0)
+        return true;
+    if (errno == EEXIST) {
+        struct stat st;
+        /* Check that the named file actually is a directory. */
+        if (stat(path, &st)) {
+            ELOG("stat(%s) failed: %s\n", path, strerror(errno));
+            return false;
+        }
+        if (!S_ISDIR(st.st_mode)) {
+            ELOG("mkdir(%s) failed: %s\n", path, strerror(ENOTDIR));
+            return false;
+        }
+        return true;
+    } else if (errno != ENOENT) {
+        ELOG("mkdir(%s) failed: %s\n", path, strerror(errno));
+        return false;
+    }
+    char *copy = sstrdup(path);
+    /* strip trailing slashes, if any */
+    while (copy[strlen(copy) - 1] == '/')
+        copy[strlen(copy) - 1] = '\0';
+
+    char *sep = strrchr(copy, '/');
+    if (sep == NULL) {
+        if (copy != NULL) {
+            free(copy);
+            copy = NULL;
+        }
+        return false;
+    }
+    *sep = '\0';
+    bool result = false;
+    if (mkdirp(copy))
+        result = mkdirp(path);
+    free(copy);
+
+    return result;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/asciidoc.conf 
new/i3-4.10.4/man/asciidoc.conf
--- old/i3-4.10.2/man/asciidoc.conf     2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/man/asciidoc.conf     2015-09-08 09:19:20.000000000 +0200
@@ -7,7 +7,7 @@
 <refentrytitle>{mantitle}</refentrytitle>
 <manvolnum>{manvolnum}</manvolnum>
 <refmiscinfo class="source">i3</refmiscinfo>
-<refmiscinfo class="version">4.10.2</refmiscinfo>
+<refmiscinfo class="version">4.10.4</refmiscinfo>
 <refmiscinfo class="manual">i3 Manual</refmiscinfo>
 </refmeta>
 <refnamediv>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-config-wizard.1 
new/i3-4.10.4/man/i3-config-wizard.1
--- old/i3-4.10.2/man/i3-config-wizard.1        2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-config-wizard.1        2015-09-08 09:19:32.000000000 
+0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-config-wizard
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-CONFIG\-WIZARD" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-CONFIG\-WIZARD" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-dmenu-desktop.1 
new/i3-4.10.4/man/i3-dmenu-desktop.1
--- old/i3-4.10.2/man/i3-dmenu-desktop.1        2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-dmenu-desktop.1        2015-09-08 09:19:32.000000000 
+0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "I3-DMENU-DESKTOP 1"
-.TH I3-DMENU-DESKTOP 1 "2015-04-16" "perl v5.18.4" "User Contributed Perl 
Documentation"
+.TH I3-DMENU-DESKTOP 1 "2015-09-08" "perl v5.20.2" "User Contributed Perl 
Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-dump-log.1 
new/i3-4.10.4/man/i3-dump-log.1
--- old/i3-4.10.2/man/i3-dump-log.1     2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3-dump-log.1     2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-dump-log
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-DUMP\-LOG" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-DUMP\-LOG" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-input.1 new/i3-4.10.4/man/i3-input.1
--- old/i3-4.10.2/man/i3-input.1        2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3-input.1        2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-input
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-INPUT" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-INPUT" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-migrate-config-to-v4.1 
new/i3-4.10.4/man/i3-migrate-config-to-v4.1
--- old/i3-4.10.2/man/i3-migrate-config-to-v4.1 2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-migrate-config-to-v4.1 2015-09-08 09:19:32.000000000 
+0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-migrate-config-to-v4
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-MIGRATE\-CONFIG\" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-MIGRATE\-CONFIG\" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-msg.1 new/i3-4.10.4/man/i3-msg.1
--- old/i3-4.10.2/man/i3-msg.1  2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3-msg.1  2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-msg
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-MSG" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-MSG" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-nagbar.1 
new/i3-4.10.4/man/i3-nagbar.1
--- old/i3-4.10.2/man/i3-nagbar.1       2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3-nagbar.1       2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-nagbar
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-NAGBAR" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-NAGBAR" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-save-tree.1 
new/i3-4.10.4/man/i3-save-tree.1
--- old/i3-4.10.2/man/i3-save-tree.1    2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3-save-tree.1    2015-09-08 09:19:32.000000000 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "I3-SAVE-TREE 1"
-.TH I3-SAVE-TREE 1 "2015-04-16" "perl v5.18.4" "User Contributed Perl 
Documentation"
+.TH I3-SAVE-TREE 1 "2015-09-08" "perl v5.20.2" "User Contributed Perl 
Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-sensible-editor.1 
new/i3-4.10.4/man/i3-sensible-editor.1
--- old/i3-4.10.2/man/i3-sensible-editor.1      2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-sensible-editor.1      2015-09-08 09:19:32.000000000 
+0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-sensible-editor
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-SENSIBLE\-EDITOR" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-SENSIBLE\-EDITOR" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-sensible-pager.1 
new/i3-4.10.4/man/i3-sensible-pager.1
--- old/i3-4.10.2/man/i3-sensible-pager.1       2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-sensible-pager.1       2015-09-08 09:19:32.000000000 
+0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-sensible-pager
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-SENSIBLE\-PAGER" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-SENSIBLE\-PAGER" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3-sensible-terminal.1 
new/i3-4.10.4/man/i3-sensible-terminal.1
--- old/i3-4.10.2/man/i3-sensible-terminal.1    2015-04-16 09:03:17.000000000 
+0200
+++ new/i3-4.10.4/man/i3-sensible-terminal.1    2015-09-08 09:19:32.000000000 
+0200
@@ -2,12 +2,12 @@
 .\"     Title: i3-sensible-terminal
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3\-SENSIBLE\-TERMIN" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3\-SENSIBLE\-TERMIN" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3.1 new/i3-4.10.4/man/i3.1
--- old/i3-4.10.2/man/i3.1      2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3.1      2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3
 .\"    Author: [see the "AUTHOR" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/man/i3bar.1 new/i3-4.10.4/man/i3bar.1
--- old/i3-4.10.2/man/i3bar.1   2015-04-16 09:03:17.000000000 +0200
+++ new/i3-4.10.4/man/i3bar.1   2015-09-08 09:19:32.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: i3bar
 .\"    Author: [see the "AUTHORS" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/16/2015
+.\"      Date: 09/08/2015
 .\"    Manual: i3 Manual
-.\"    Source: i3 4.10.2
+.\"    Source: i3 4.10.4
 .\"  Language: English
 .\"
-.TH "I3BAR" "1" "04/16/2015" "i3 4\&.10\&.2" "i3 Manual"
+.TH "I3BAR" "1" "09/08/2015" "i3 4\&.10\&.4" "i3 Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/src/bindings.c new/i3-4.10.4/src/bindings.c
--- old/i3-4.10.2/src/bindings.c        2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/src/bindings.c        2015-09-08 09:19:20.000000000 +0200
@@ -429,7 +429,7 @@
     if (con == NULL)
         command = sstrdup(bind->command);
     else
-        sasprintf(&command, "[con_id=\"%d\"] %s", con, bind->command);
+        sasprintf(&command, "[con_id=\"%p\"] %s", con, bind->command);
 
     Binding *bind_cp = binding_copy(bind);
     CommandResult *result = parse_command(command, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/src/commands.c new/i3-4.10.4/src/commands.c
--- old/i3-4.10.2/src/commands.c        2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/src/commands.c        2015-09-08 09:19:20.000000000 +0200
@@ -335,7 +335,7 @@
 
     if (strcmp(ctype, "con_id") == 0) {
         char *end;
-        long parsed = strtol(cvalue, &end, 10);
+        long parsed = strtol(cvalue, &end, 0);
         if (parsed == LONG_MIN ||
             parsed == LONG_MAX ||
             parsed < 0 ||
@@ -350,7 +350,7 @@
 
     if (strcmp(ctype, "id") == 0) {
         char *end;
-        long parsed = strtol(cvalue, &end, 10);
+        long parsed = strtol(cvalue, &end, 0);
         if (parsed == LONG_MIN ||
             parsed == LONG_MAX ||
             parsed < 0 ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/src/ipc.c new/i3-4.10.4/src/ipc.c
--- old/i3-4.10.2/src/ipc.c     2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/src/ipc.c     2015-09-08 09:19:20.000000000 +0200
@@ -38,36 +38,6 @@
 }
 
 /*
- * Emulates mkdir -p (creates any missing folders)
- *
- */
-bool mkdirp(const char *path) {
-    if (mkdir(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == 0)
-        return true;
-    if (errno != ENOENT) {
-        ELOG("mkdir(%s) failed: %s\n", path, strerror(errno));
-        return false;
-    }
-    char *copy = sstrdup(path);
-    /* strip trailing slashes, if any */
-    while (copy[strlen(copy) - 1] == '/')
-        copy[strlen(copy) - 1] = '\0';
-
-    char *sep = strrchr(copy, '/');
-    if (sep == NULL) {
-        FREE(copy);
-        return false;
-    }
-    *sep = '\0';
-    bool result = false;
-    if (mkdirp(copy))
-        result = mkdirp(path);
-    free(copy);
-
-    return result;
-}
-
-/*
  * Sends the specified event to all IPC clients which are currently connected
  * and subscribed to this kind of event.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/src/window.c new/i3-4.10.4/src/window.c
--- old/i3-4.10.2/src/window.c  2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/src/window.c  2015-09-08 09:19:20.000000000 +0200
@@ -254,8 +254,10 @@
         return;
     }
 
-    win->doesnt_accept_focus = !hints.input;
-    LOG("WM_HINTS.input changed to \"%d\"\n", hints.input);
+    if (hints.flags & XCB_ICCCM_WM_HINT_INPUT) {
+        win->doesnt_accept_focus = !hints.input;
+        LOG("WM_HINTS.input changed to \"%d\"\n", hints.input);
+    }
 
     if (urgency_hint != NULL)
         *urgency_hint = (xcb_icccm_wm_hints_get_urgency(&hints) != 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/src/workspace.c 
new/i3-4.10.4/src/workspace.c
--- old/i3-4.10.2/src/workspace.c       2015-04-16 09:03:02.000000000 +0200
+++ new/i3-4.10.4/src/workspace.c       2015-09-08 09:19:20.000000000 +0200
@@ -29,6 +29,7 @@
     if (config.default_orientation == NO_ORIENTATION) {
         Con *output = con_get_output(ws);
         ws->layout = (output->rect.height > output->rect.width) ? L_SPLITV : 
L_SPLITH;
+        ws->rect = output->rect;
         DLOG("Auto orientation. Workspace size set to (%d,%d), setting layout 
to %d.\n",
              output->rect.width, output->rect.height, ws->layout);
     } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/i3-4.10.2/testcases/t/158-wm_take_focus.t 
new/i3-4.10.4/testcases/t/158-wm_take_focus.t
--- old/i3-4.10.2/testcases/t/158-wm_take_focus.t       2015-04-16 
09:03:02.000000000 +0200
+++ new/i3-4.10.4/testcases/t/158-wm_take_focus.t       2015-09-08 
09:19:20.000000000 +0200
@@ -50,12 +50,15 @@
 }
 
 subtest 'Window without WM_TAKE_FOCUS', sub {
-    fresh_workspace;
+    my $ws = fresh_workspace;
 
     my $window = open_window;
 
     ok(!recv_take_focus($window), 'did not receive ClientMessage');
 
+    my $con = shift get_ws_content($ws);
+    ok($con->{focused}, 'con is focused');
+
     done_testing;
 };
 
@@ -72,7 +75,7 @@
 # list), the window cannot accept input focus, so we should not try to focus
 # the window at all.
 subtest 'Window with WM_TAKE_FOCUS and without InputHint', sub {
-    fresh_workspace;
+    my $ws = fresh_workspace;
 
     my $take_focus = $x->atom(name => 'WM_TAKE_FOCUS');
 
@@ -88,6 +91,9 @@
 
     ok(!recv_take_focus($window), 'did not receive ClientMessage');
 
+    my $con = shift get_ws_content($ws);
+    ok($con->{focused}, 'con is focused');
+
     done_testing;
 };
 
@@ -97,7 +103,7 @@
 # nearly identical presently, so this is currently used also as a proxy test
 # for the latter case.
 subtest 'Window with WM_TAKE_FOCUS and unspecified InputHint', sub {
-    fresh_workspace;
+    my $ws = fresh_workspace;
 
     my $take_focus = $x->atom(name => 'WM_TAKE_FOCUS');
 
@@ -105,6 +111,9 @@
 
     ok(!recv_take_focus($window), 'did not receive ClientMessage');
 
+    my $con = shift get_ws_content($ws);
+    ok($con->{focused}, 'con is focused');
+
     done_testing;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/i3-4.10.2/testcases/t/244-new-workspace-floating-enable-center.t 
new/i3-4.10.4/testcases/t/244-new-workspace-floating-enable-center.t
--- old/i3-4.10.2/testcases/t/244-new-workspace-floating-enable-center.t        
1970-01-01 01:00:00.000000000 +0100
+++ new/i3-4.10.4/testcases/t/244-new-workspace-floating-enable-center.t        
2015-09-08 09:19:20.000000000 +0200
@@ -0,0 +1,53 @@
+#!perl
+# vim:ts=4:sw=4:expandtab
+#
+# Please read the following documents before working on tests:
+# • http://build.i3wm.org/docs/testsuite.html
+#   (or docs/testsuite)
+#
+# • http://build.i3wm.org/docs/lib-i3test.html
+#   (alternatively: perldoc ./testcases/lib/i3test.pm)
+#
+# • http://build.i3wm.org/docs/ipc.html
+#   (or docs/ipc)
+#
+# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
+#   (unless you are already familiar with Perl)
+#
+# Ensures that 'move workspace $new, floating enable' on a marked window
+# leaves the window centered on the new workspace.
+# Bug still in: 4.10.2-137-ga4f0ed6
+use i3test i3_autostart => 0;
+
+my $config = <<EOT;
+# i3 config file (v4)
+font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+
+new_window none
+new_float none
+EOT
+
+my $pid = launch_with_config($config);
+
+#####################################################################
+# Open a tiled window, and then simultaneously move it to another
+# workspace and float it, ensuring that it ends up centered.
+#####################################################################
+
+my $window = open_window;
+my $unused = get_unused_workspace();
+
+cmd "mark foo; [con_mark=\"foo\"] move workspace $unused, floating enable";
+
+sync_with_i3;
+
+my $pos = $window->rect;
+
+is(int($pos->{x} + $pos->{width} / 2), int($x->root->rect->width / 2),
+    'x coordinates match');
+is(int($pos->{y} + $pos->{height} / 2), int($x->root->rect->height / 2),
+    'y coordinates match');
+
+exit_gracefully($pid);
+
+done_testing;



Reply via email to