iterm2新技能-用不同的颜色创建新标签
iTerm2是终端的替代品,也是iTerm的继承者。 它适用于Mac OS 10.12或更高版本的Mac,功能非常强大。我一直使用的iterm2,iterm2+oh-my-zsh 拥有一个漂亮终端是一个工程师的骄傲。oh-my-zsh 之前就改造好了,网上一大堆教程,一大堆漂亮的主题。
这里主要介绍一个新的个性设置,一个新技能。ierm2用久了,一个窗口的标签的颜色都是黑色,也可以手动给每个标签设置颜色。
看下图,上面的标签傻傻分不清楚。
最近更新新版本了,支持python脚本了,官网了解了一下可以通过python脚本get一些新技能。
iTerm2提供了一个Python包,可以轻松编写控制iTerm2并扩展其行为的Python脚本。
其实我看不太懂这些脚本集体怎么使用。本来想学习一下,自己编一个脚本,实现这个功能:打开一个窗口口,commond + T新建一个session并有不同的颜色。
看了一下代码,还没看懂如何用python api新建一个session,对于熟练python应该不是难事。苦思冥想后,我用如下办法实现的。
官网上有很多的python api使用的例子。参考这两个例子,并将他们组合在一起久实现了,哈哈……
Set Tab Color
This script sets the tab color for the current session to a hard-coded value. It also turns on the use of tab color for that session. It does not modify the underlying profile, so only the current session is affected.
这个脚本可以实现改变当前的标签的颜色。但是颜色是固定的
#!/usr/bin/env python3.7
import iterm2
async def main(connection):
app=await iterm2.async_get_app(connection)
session=app.current_terminal_window.current_tab.current_session
change = iterm2.LocalWriteOnlyProfile()
color = iterm2.Color(255, 128, 128)
change.set_tab_color(color)
change.set_use_tab_color(True)
await session.async_set_profile_properties(change)
iterm2.run_until_complete(main)
tab设置随机颜色
我会一点点python,稍作修改就可以随机生成颜色。
#!/usr/bin/env python3.7
import iterm2
import random
async def main(connection):
red = random.randint(1, 255)
green = random.randint(1, 255)
blue = random.randint(1, 255