使用命令自动重命名终端选项卡

时间:2016-06-07 20:56:47

标签: python macos shell terminal osascript

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

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)>标签标题

4 个答案:

答案 0 :(得分:2)

使用$ title对我没有用,但是这样做了:

>>> 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
>>> 

答案 1 :(得分:1)

我发现这个非常有用,因为它不会向stdout输出不必要的输出,这与我使用subprocess或os.system的实验不同,导致在控制台中出现不想要的“-e”外观。

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

答案 2 :(得分:0)

这应该做:

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

答案 3 :(得分:0)

以下是使用键打开检查器,更改标题并关闭检查器的解决方案。因为根据我的研究,没有选择使用现成的苹果脚本来更改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)
相关问题