This is a simple program to do the following operation on windows on x11 machine(ubuntu)
- Raise Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.RaiseWindow(hdl)
- Lower Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.LowerWindow(hdl)
- Show Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.ShowWindow(hdl)
- Hide Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.HideWindow(hdl)
- Maximize Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.MaximizeWindow(hdl)
- Remove Window Decorations
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.RemoveWindowDecoration(hdl)
- Move Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.MoveWindow(hdl, 400, 300);
- Resize Window
WindowManager::WindowMgrLib wmgr; // make sure one window with this name exists Window hdl = wmgr.GetWindowHandle("TestWindow"); wmgr.ResizeWindow(hdl, 400, 300);
Window names can be found with following command
xwininfo -root -tree
Be sure to install X11 libraries before proceeding.
sudo apt install libx11-dev
sudo apt install libxrandr-dev
cd x11test
mkdir build
cd build
cmake ..
make -j4
or run the below script
cd x11test
./build.sh