我想使用C++程序在桌面上重新定位應用程序窗口。 我應該如何去做,我需要兩種情況下的解決方案。在Gnome或KDE中以編程方式移動應用程序窗口
當我有要移動的應用程序的來源。
通過編寫外部程序來移動其他應用程序的窗口。
我想使用C++程序在桌面上重新定位應用程序窗口。 我應該如何去做,我需要兩種情況下的解決方案。在Gnome或KDE中以編程方式移動應用程序窗口
當我有要移動的應用程序的來源。
通過編寫外部程序來移動其他應用程序的窗口。
外部bash腳本:
xdotool search --onlyvisible --class dolphin windowmove 13 37
# ^ ^^
# window class X & Y coordinates
有關它的更多信息,請xdotool search
,xdotool windowmove
和man xdotool
。
C++例如:
#include <cstdlib>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string cls="dolphin";
int x=13, y=37;
stringstream s;
s<<"xdotool search --onlyvisible --class "<<cls<<" windowmove "<<x<<" "<<y;
system(s.str().c_str());
return 0;
}
而且最低限度例如:
#include <stdlib.h>
int main()
{
system("xdotool search --onlyvisible --class dolphin windowmove 13 37");
return 0;
}
你的意思是其它應用程序的窗口?我懷疑有一個標準的方法。相關規範(EWMH,ICCCM,NET)控制客戶與窗口管理器的通信方式,但不管它如何影響其他客戶端。 –
是,其他應用程序。 – rajat