C++ 프로그램을 사용하여 바탕 화면에 응용 프로그램 창을 재배치하고 싶습니다. 어떻게해야합니까, 나는 두 가지 상황에 대한 해결책이 필요합니다.Gnome 또는 KDE에서 데스크톱의 응용 프로그램 창을 프로그래밍 방식으로 이동
이동하려는 응용 프로그램의 원본이있는 경우.
외부 프로그램을 작성하여 다른 응용 프로그램의 창을 이동하십시오.
C++ 프로그램을 사용하여 바탕 화면에 응용 프로그램 창을 재배치하고 싶습니다. 어떻게해야합니까, 나는 두 가지 상황에 대한 해결책이 필요합니다.Gnome 또는 KDE에서 데스크톱의 응용 프로그램 창을 프로그래밍 방식으로 이동
이동하려는 응용 프로그램의 원본이있는 경우.
외부 프로그램을 작성하여 다른 응용 프로그램의 창을 이동하십시오.
외부 배쉬 스크립트 :이에 대한 자세한 내용은
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