我正在尝试编写一个远程窗口管理器,以便我可以使用 anyremote 通过蓝牙控制我打开的窗口。有用于 Linux 的 wmctrl 可以从命令行管理窗口。Microsoft Windows 中是否有类似的工具?即基于命令行的 Microsoft Windows 窗口管理器。
如果我可以使用现有的命令行技巧来获取打开的窗口列表,并将某个窗口放在最前面并赋予它焦点,请告诉我。
的输出wmctrl -lx如下所示:
0x020002f5 0 Plasma.Plasma lnx plasma-desktop
0x02a00015 0 okular.Okular lnx TCP/IP Protocol Suite – Okular
0x032000fe 1 amarok.Amarok lnx Billy Talent - This Suffering :: Amarok
0x03e00001 0 Google-chrome.Google-chrome lnx wmctrl based on class - Google Search - Google Chrome
0x04400001 1 Chromium.Chromium lnx openSUSE - Chromium
0x05400050 0 gvim.Gvim lnx activate_or_run.sh (~/bin/repo) - GVIM
0x04a0001a 0 konsole.Konsole lnx user@lnx:/home – Konsole
Run Code Online (Sandbox Code Playgroud)
我想第二列表示窗口类。
现在我想根据它的类而不是它的标题来激活窗口。假设选择的窗口是gvim.Gvim。
所以我尝试了wmctrl -ax gvim.Gvim不同的组合,gvim.Gvim用引号括起来,只使用gvim然后Gvim但没有成功。 …
我正在尝试使用此脚本作为起点为每个工作区创建一个 gvim:http : //www.openhex.org/notes/2011/1/27/one-vim-server-per-desktops
我知道几个月前我第一次发现这个脚本时,wmctrl -d列出了四个工作区。但是现在当我尝试时,它只显示一个:
$ wmctrl -d
0 * DG: 7208x1003 VP: 0,0 WA: 0,0 1802x976 Workspace 1
Run Code Online (Sandbox Code Playgroud)
列出窗口显示所有窗口都在同一个桌面上,但间隔屏幕宽度:
$ wmctrl -lGx
0x02200003 0 0 1952 1802 27 gnome-panel.Gnome-panel ned-vbox Bottom Expanded Edge Panel
0x0260001e 0 0 0 1802 1003 desktop_window.Nautilus ned-vbox x-nautilus-desktop
0x04600004 0 332 140 1169 722 gnome-terminal.Gnome-terminal ned-vbox Terminal
0x046000c6 0 116 288 1433 512 gnome-terminal.Gnome-terminal ned-vbox Terminal
0x0480001e 0 388 48 1604 948 gvim.Gvim ned-vbox .bashrc (~) - GVIM
0x04604c55 0 …Run Code Online (Sandbox Code Playgroud) OS X 上有 wmctrl 的替代品吗?看来 wmctrl(从 Homebrew 安装)仅适用于 OS X 上的 X 应用程序。