From 2f7cbaf4ab81dc51a92151b07335888222c05a1a Mon Sep 17 00:00:00 2001 From: Iain Lane Date: Thu, 10 Jan 2013 22:04:18 +0000 Subject: [PATCH] * usr/bin/byobu-select-session: - Handle `screen -ls' returning 1. (LP: #1098341) --- debian/changelog | 7 ++++++- usr/bin/byobu-select-session | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 7b0884ae..dc8c0d89 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,12 @@ -byobu (5.26) unreleased; urgency=low +byobu (5.26) UNRELEASED; urgency=low + [ Dustin Kirkland ] * UNRELEASED + [ Iain Lane ] + * usr/bin/byobu-select-session: + - Handle `screen -ls' returning 1. (LP: #1098341) + -- Dustin Kirkland Wed, 09 Jan 2013 15:17:43 -0600 byobu (5.25-0ubuntu1) raring; urgency=low diff --git a/usr/bin/byobu-select-session b/usr/bin/byobu-select-session index ec86e4e2..f9fc1e32 100755 --- a/usr/bin/byobu-select-session +++ b/usr/bin/byobu-select-session @@ -41,7 +41,14 @@ def get_sessions(): sessions = [] i = 0 if BYOBU_BACKEND == "screen": - output = subprocess.check_output(["screen", "-ls"]) + try: + output = subprocess.check_output(["screen", "-ls"]) + except subprocess.CalledProcessError as cpe: + # screen -ls seems to always return 1 + if cpe.returncode != 1: + raise + else: + output = cpe.output output = output.decode(sys.stdout.encoding) if output: for s in output.splitlines():