Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] terminal: Support old tmux version (<1.9) when querying height value
@ 2015-11-03 22:34 leonardo.sandoval.gonzalez
  2015-11-03 23:58 ` Dan McGregor
  2015-11-05 19:57 ` Leonardo Sandoval
  0 siblings, 2 replies; 5+ messages in thread
From: leonardo.sandoval.gonzalez @ 2015-11-03 22:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: benoit.rapidel+yocto

From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

Old tmux version (< 1.9) does not support nested formats on the -F parameter, so
if nested format does not give any answer, do the query in two steps.

Tested on tmux 1.6.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
---
 meta/lib/oe/terminal.py |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 52a8913..686b1ce 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -218,11 +218,24 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
 
 def check_tmux_pane_size(tmux):
     import subprocess as sub
+    size = 0
     try:
         p = sub.Popen('%s list-panes -F "#{?pane_active,#{pane_height},}"' % tmux,
                 shell=True,stdout=sub.PIPE,stderr=sub.PIPE)
         out, err = p.communicate()
-        size = int(out.strip())
+        try:
+            size = int(out.strip())
+        except ValueError:
+            # Older tmux versions (< 1.9) does not support nested formats,
+            # so try it in two steps
+            p = sub.Popen('%s list-panes -F "#{?pane_active,yes,no}"' % tmux,
+                shell=True,stdout=sub.PIPE,stderr=sub.PIPE)
+            out, err = p.communicate()
+            if "yes" in out.strip():
+                p = sub.Popen('%s list-panes -F "#{pane_height}"' % tmux,
+                              shell=True,stdout=sub.PIPE,stderr=sub.PIPE)
+                out, err = p.communicate()
+                size = int(out.strip())
     except OSError as exc:
         import errno
         if exc.errno == errno.ENOENT:
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-11-11 22:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-03 22:34 [PATCH] terminal: Support old tmux version (<1.9) when querying height value leonardo.sandoval.gonzalez
2015-11-03 23:58 ` Dan McGregor
2015-11-05 17:44   ` Leonardo Sandoval
2015-11-05 19:57 ` Leonardo Sandoval
2015-11-11 22:35   ` Aws Ismail

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox