Skip to content

Commit bb64e9e

Browse files
committed
fix: use | instead of \t for format sepatator
- for some reason on my arch install tmux does not print back tabs I'm not sure if it affects other but just puttin this out there
1 parent 6c7c08e commit bb64e9e

File tree

4 files changed

+63
-12
lines changed

4 files changed

+63
-12
lines changed

libtmux/formats.py

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
from __future__ import absolute_import, unicode_literals, with_statement
1212

13+
FORMAT_SEPERATOR = "|"
14+
1315
SESSION_FORMATS = [
1416
'session_name',
1517
'session_windows',

libtmux/server.py

+45-8
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,9 @@ def _list_sessions(self):
145145
sformats = formats.SESSION_FORMATS
146146
tmux_formats = ['#{%s}' % f for f in sformats]
147147

148-
tmux_args = ('-F%s' % '\t'.join(tmux_formats),) # output
148+
tmux_args = (
149+
'-F%s' % formats.FORMAT_SEPERATOR.join(tmux_formats),
150+
) # output
149151

150152
proc = self.cmd('list-sessions', *tmux_args)
151153

@@ -157,7 +159,17 @@ def _list_sessions(self):
157159
sessions = proc.stdout
158160

159161
# combine format keys with values returned from ``tmux list-sessions``
160-
sessions = [dict(zip(sformats, session.split('\t'))) for session in sessions]
162+
sessions = [
163+
dict(
164+
zip(
165+
sformats,
166+
session.split(
167+
formats.FORMAT_SEPERATOR
168+
)
169+
)
170+
)
171+
for session in sessions
172+
]
161173

162174
# clear up empty dict
163175
sessions = [
@@ -210,7 +222,9 @@ def _list_windows(self):
210222
proc = self.cmd(
211223
'list-windows', # ``tmux list-windows``
212224
'-a',
213-
'-F%s' % '\t'.join(tmux_formats), # output
225+
'-F%s' % formats.FORMAT_SEPERATOR.join(
226+
tmux_formats
227+
), # output
214228
)
215229

216230
if proc.stderr:
@@ -221,7 +235,17 @@ def _list_windows(self):
221235
wformats = ['session_name', 'session_id'] + formats.WINDOW_FORMATS
222236

223237
# combine format keys with values returned from ``tmux list-windows``
224-
windows = [dict(zip(wformats, window.split('\t'))) for window in windows]
238+
windows = [
239+
dict(
240+
zip(
241+
wformats,
242+
window.split(
243+
formats.FORMAT_SEPERATOR
244+
)
245+
)
246+
)
247+
for window in windows
248+
]
225249

226250
# clear up empty dict
227251
windows = [dict((k, v) for k, v in window.items() if v) for window in windows]
@@ -270,7 +294,10 @@ def _list_panes(self):
270294
'window_id',
271295
'window_name',
272296
] + formats.PANE_FORMATS
273-
tmux_formats = ['#{%s}\t' % f for f in pformats]
297+
tmux_formats = [
298+
('#{%%s}%s' % formats.FORMAT_SEPERATOR) % f
299+
for f in pformats
300+
]
274301

275302
proc = self.cmd('list-panes', '-a', '-F%s' % ''.join(tmux_formats)) # output
276303

@@ -288,7 +315,17 @@ def _list_panes(self):
288315
] + formats.PANE_FORMATS
289316

290317
# combine format keys with values returned from ``tmux list-panes``
291-
panes = [dict(zip(pformats, window.split('\t'))) for window in panes]
318+
panes = [
319+
dict(
320+
zip(
321+
pformats,
322+
window.split(
323+
formats.FORMAT_SEPERATOR
324+
)
325+
)
326+
)
327+
for window in panes
328+
]
292329

293330
# clear up empty dict
294331
panes = [
@@ -531,7 +568,7 @@ def new_session(
531568
tmux_args = (
532569
'-s%s' % session_name,
533570
'-P',
534-
'-F%s' % '\t'.join(tmux_formats), # output
571+
'-F%s' % formats.FORMAT_SEPERATOR.join(tmux_formats), # output
535572
)
536573

537574
if not attach:
@@ -562,7 +599,7 @@ def new_session(
562599
os.environ['TMUX'] = env
563600

564601
# combine format keys with values returned from ``tmux list-windows``
565-
session = dict(zip(sformats, session.split('\t')))
602+
session = dict(zip(sformats, session.split(formats.FORMAT_SEPERATOR)))
566603

567604
# clear up empty dict
568605
session = dict((k, v) for k, v in session.items() if v)

libtmux/session.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,9 @@ def new_window(
221221
start_directory = os.path.expanduser(start_directory)
222222
window_args += ('-c%s' % start_directory,)
223223

224-
window_args += ('-F"%s"' % '\t'.join(tmux_formats),) # output
224+
window_args += (
225+
'-F"%s"' % formats.FORMAT_SEPERATOR.join(tmux_formats),
226+
) # output
225227
if window_name:
226228
window_args += ('-n%s' % window_name,)
227229

@@ -241,7 +243,14 @@ def new_window(
241243

242244
window = proc.stdout[0]
243245

244-
window = dict(zip(wformats, window.split('\t')))
246+
window = dict(
247+
zip(
248+
wformats,
249+
window.split(
250+
formats.FORMAT_SEPERATOR
251+
)
252+
)
253+
)
245254

246255
# clear up empty dict
247256
window = dict((k, v) for k, v in window.items() if v)

libtmux/window.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,10 @@ def split_window(
438438
'window_index',
439439
'window_id',
440440
] + formats.PANE_FORMATS
441-
tmux_formats = ['#{%s}\t' % f for f in pformats]
441+
tmux_formats = [
442+
('#{%%s}%s' % formats.FORMAT_SEPERATOR) % f
443+
for f in pformats
444+
]
442445

443446
# '-t%s' % self.attached_pane.get('pane_id'),
444447
# 2013-10-18 LOOK AT THIS, rm'd it..
@@ -482,7 +485,7 @@ def split_window(
482485
else:
483486
pane = pane.stdout[0]
484487

485-
pane = dict(zip(pformats, pane.split('\t')))
488+
pane = dict(zip(pformats, pane.split(formats.FORMAT_SEPERATOR)))
486489

487490
# clear up empty dict
488491
pane = dict((k, v) for k, v in pane.items() if v)

0 commit comments

Comments
 (0)