puk*_*puk 5 command-line workspaces window
我在启动应用程序后使用wmctrl来移动应用程序,这样我就不必为例如几个文本编辑器和 Web 浏览器以及 pdf 查看器和终端手动执行此操作。我发出以下 wmctrl 命令来移动应用程序
wmctrl -r <title> -e <x>,<y>,0,-1,-1
Run Code Online (Sandbox Code Playgroud)
其中 <x> 和 <y> 是水平和垂直目标坐标,<title> 是由 返回的应用程序名称wmctrl -l
。如果我通过以下命令启动两份谷歌浏览器,
google-chrome &
google-chrome &
Run Code Online (Sandbox Code Playgroud)
然后发出命令
wmctrl -l
Run Code Online (Sandbox Code Playgroud)
返回的窗口名称是
0x03c06fd9 0 main New Tab - Google Chrome
0x03c0703d 0 main New Tab - Google Chrome
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试将其中一个移动到任意坐标,例如 100,100,使用以下命令
wmctrl -r "Google Chrome" -e 100,100,0,-1,-1
Run Code Online (Sandbox Code Playgroud)
如果您还没有猜到,它会移动我当前正在输入的这个 google chrome 窗口,因为我在其他两个窗口之前打开它。
从命令行启动时是否有某种方法可以分配这些窗口标题,或者稍后重置它们。我需要将名称更改为类似
Google Chrome 1
Google Chrome 2
Google Chrome 3
Run Code Online (Sandbox Code Playgroud)
请注意,我知道有两种方法可以解决此问题,但是,我不喜欢它们中的任何一种,因为如果操作系统在后台启动程序,它们可能会导致问题。
-i
命令使用数字窗口 ID 。:ACTIVE:
使用活动窗口使用包xttitle
中的程序xttitle
。注意 x tt标题中的两个“t” 。嗯,实际上,有 3 个“t”……但我只是输错了前两个。
这是 my 的一个示例~/.bashrc
,其中我覆盖了cd
内置函数,并用于xttitle
将当前目录放入我的窗口标题中:
# from the "xttitle(1)" man page - put info in window title
update_title()
{
[[ $TERM = xterm ]] || [[ $TERM = xterm-color ]] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}
cd()
{
[[ -z "$*" ]] && builtin cd $HOME
[[ -n "$*" ]] && builtin cd "$*"
update_title
}
Run Code Online (Sandbox Code Playgroud)