最近我一直在研究如何创建一个固定终端,该终端在启动时打开,位于特定的 x + y 位置,大小固定。通过浏览论坛,我发现了两种实现此目的的方法:一种是解释在这个论坛里,它与必须在启动应用程序设置时运行的 bash 脚本一起工作。
我的想法是添加新取回在那个终端中,我对脚本文件和命令一无所知,所以我无法让 neofetch 每次打开终端时都启动。我试图修改脚本,但没有成功。
剧本
#!/usr/bin/env python3
import subprocess
import time
import sys
app = sys.argv[1]
get = lambda x: subprocess.check_output(["/bin/bash", "-c", x]).decode("utf-8")
ws1 = get("wmctrl -lp"); t = 0
subprocess.Popen(["/bin/bash", "-c", app])
while t < 30:
ws2 = [w.split()[0:3] for w in get("wmctrl -lp").splitlines() if not w in ws1]
procs = [[(p, w[0]) for p in get("ps -e ww").splitlines() \
if app in p and w[2] in p] for w in ws2]
if len(procs) > 0:
w_id = procs[0][0][1]
cmd1 = "wmctrl -ir "+w_id+" -b remove,maximized_horz"
cmd2 = "wmctrl -ir "+w_id+" -b remove,maximized_vert"
cmd3 = "xdotool windowsize --sync "+procs[0][0][1]+" "+sys.argv[4]+"% "+sys.argv[5]+"%"
cmd4 = "xdotool windowmove "+procs[0][0][1]+" "+sys.argv[2]+" "+sys.argv[3]
for cmd in [cmd1, cmd2, cmd3, cmd4]:
subprocess.call(["/bin/bash", "-c", cmd])
break
time.sleep(0.5)
t = t+1
代码提供者:雅各布·弗莱姆
我的第二个选择在某种程度上是可行的,那就是使用以下命令:
gnome-terminal --geometry 82x26+1190+32 -- bash -c "neofetch; read"
添加了读命令在 bash 的末尾,所以“bash 输入”不会出现,但我试图隐藏白色闪烁光标作为一个想法,我试图让 neofetch 程序处于暂停状态,这样它就不会结束,除非发生某些事情。如果脚本结束,则会出现这个白色光标,我很挑剔,我讨厌这样。我不想完全删除白色闪烁光标但仅适用于该终端。有没有办法隐藏该光标?或者有没有办法修改 neofetch .conf 设置以便创建暂停命令?
谢谢!Nick
答案1
在 gnome-terminal 中,您应该能够设置 cvvis(光标可见)和 civis(光标不可见)。
$ tput civis ## turn cursor off
$ tput cvvis ## turn curson on