STi*_*Tim 26 command-line scripts shortcut-keys unity
我想知道有什么方法可以使用终端命令来实现 Unity 中 Ctrl-Alt-Keypad 快捷键的影响?我想要一个命令,将 gui 窗口设置为屏幕大小的一半,左对齐或右对齐。
作为背景,我正在编写一个在登录后运行的脚本。它使用 Zenity 来询问我是否要打开我的开发环境(GVim 和 IPython 并排)。我一直在尝试通过set lines= columns=
在 my.gvimrc
和 中使用c.IPythonWidget.width =
和c.IPythonWidget.height =
在我的ipython_qtconsole_config.py
. 但是,这种方法存在一些问题。
Jac*_*ijm 20
如果您想先调用应用程序,然后将其窗口放置在特定位置和大小,则调用应用程序和窗口实际出现之间的时间是不可预测的。如果您的系统被占用,它可能会比空闲时间长得多。
您需要一种“智能”方式来确保在窗口出现后(立即)完成定位/调整大小。
使用下面的脚本,您可以调用应用程序并使用命令设置它应该出现的位置和大小:
<script> <application> <x-position> <y-position> <h-size> <v-size>
Run Code Online (Sandbox Code Playgroud)
几个例子:
调用gnome-terminal
并将其窗口大小调整为 50% 并将其放置在右半部分:
<script> gnome-terminal 840 0 50 100
Run Code Online (Sandbox Code Playgroud)
要调用gedit
,请将其窗口放在左侧并调用gnome-terminal
,将其放在右侧(将其设置为v-size
46% 以在窗口之间留出一点空间):
<script> gedit 0 0 46 100&&<script> gnome-terminal 860 0 46 100
Run Code Online (Sandbox Code Playgroud)
要调用 Inkscape,请将其窗口放在屏幕的左/上四分之一处:
<script> inkscape 0 0 50 50
Run Code Online (Sandbox Code Playgroud)
安装xdotool
和wmctrl
. 我使用了两者,因为调整大小wmctrl
可能会导致(特别是)Unity
。
sudo apt-get install wmctrl
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)setwindow
(无扩展名)~/bin
;如有必要,创建目录。~bin
,请运行:source ~/.profile
使用命令测试运行脚本(例如)
setwindow gnome-terminal 0 0 50 100
Run Code Online (Sandbox Code Playgroud)
换句话说:
setwindow <application> <horizontal-position> <vertical-position> <horizontal-size (%)> <vertical-size (%)>
Run Code Online (Sandbox Code Playgroud)如果一切正常,请在需要的地方使用该命令。
<script> <application> <x-position> <y-position> <h-size> <v-size>
Run Code Online (Sandbox Code Playgroud)
当脚本被调用时,它:
wmctrl -lp
)ps -ef ww
,将窗口的 pid 与应用程序的 pid 进行比较)在Unity,当你(再)位置,(重新)大小与窗口要么wmctrl
或者xdotool
,窗口小玛吉将始终保持对你的屏幕边框,除非你将其设置为100%。您可以在上图 (3) 中看到;当inkscape
窗口被放置在x
位置 0 时,您仍然可以看到 Unity Launcher 和inkscape
窗口之间的小边缘。