2016-06-07 69 views
0

我想重命名在OSX中打开的终端标签,但我只能用下面的代码更改终端标题。有没有办法使用命令更改Tab标题?我正在使用Python 2.7的osascript。使用命令自动重命名终端标签

name = """osascript -e 'tell application "Terminal" to set custom title in selected tab of the front window to "script_1"'""" 
os.system(name) 

手动:壳牌>编辑标题(SHIFT + COMMAND + I)>标签标题

回答

0

这应该这样做:

title='Customized title for TAB' 
os.system('echo -n -e "\033]0;{}\007"'.format(title)) 
+0

没有** joel goldstick **的代码,它不起作用。 – hzleonardo

2

使用$标题没有工作我,但这样做:

>>> t = 'echo -n -e "\033]0;%s\007"' % title 
>>> t 
'echo -n -e "\x1b]0;Customized title for TAB\x07"' 
>>> os.system(t) 
-e 0 
>>> 
+0

它的功能和我的代码一样。它改变终端标题而不是标签标题。 – hzleonardo

+0

我在lubuntu linux(LXTerminal 0.1.11)上,它更改了选项卡和活动选项卡中的标题。 Osx正在使用不同的终端。我不是这方面的专家,但我修补了它,并且让它工作。我认为在python中设置一个变量可能会有问题,然后期望shell知道它是一个环境变量。 –

+0

我想这是Osx问题,而不是关于python,我试过用Ubuntu,它的工作原理。但我认为没有选项可以更改标题标题是Osx。 – hzleonardo

0

这里是th e使用键打开检查员的解决方案,更改标题并关闭检查员。因为根据我的研究,使用现成的苹果脚本无法更改OSX上的标签标题。

它工作的很好,所以无需等待Apple发布此选项。

tabinspector = """osascript -e 'tell application "System Events" to keystroke "i" using {shift down,command down}'""" 
pressstab = """osascript -e 'tell application "System Events" to keystroke Tab'""" 
title = """osascript -e 'tell application "System Events" to keystroke "yourtitlehere"'""" 
pressesc = """osascript -e 'tell application "System Events" to key code 53'""" 

os.system(tabinspector) 
os.system(pressstab) 
os.system(title) 
os.system(pressesc) 
1

我发现这一个非常有用的,因为它不打印不必要的输出不像我的实验与子或使用os.system导致在控制台“-e”的不必要的外观到标准输出。

import sys 
sys.stdout.write("\x1b]2;%s\x07" % 'TAB name')