Voila mon but est de recreer en version light la fonction aero snap de Windows 7 qui a été implémenté à gnome 3 et KDE, c'est-à-dire le faite de pouvoir maximiser ou agrandir sur la moitiée de l'écran la fênètre.
Le but étant de pouvoir l'utiliser sur n'importe qu'elle gestionnaire, en l'occurence openbox.
J'ai trouvé comment agrandir la fenêtre en prenant la moitiée de l'écran avec la commande shell wmctrl exemple: wmctrl -r :ACTIVE: -e 0,0,0,625,800. Mais je n'arrive pas à savoir en temps réel le position du curseur sur l'écran.
Je n'ai pas trouvé de commande shell, pour cette usage mais j'ai trouvé une fonction que je pourrai peut-être utiliser en C++ XQueryPointer(): voici la source http://www.developpez.net/forums/d8487 [...] -clic-gauche/
Code : Tout sélectionner
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <iostream>
using namespace std;
int main(){
Display *display = XOpenDisplay(NULL);
XEvent event;
Window root, child;
int root_x,root_y;
int window_x, window_y;
XQueryPointer (display, RootWindow(display, DefaultScreen(display)), &root, &child, &root_x, &root_y, &window_x, &window_y, &event.xbutton.state);
cout<<"x: "<<window_x<<endl;
cout<<"y: "<<window_y<<endl;
XCloseDisplay(display);
}
Ou bien je vien de penser utiliser une fonction, comme dans tint2: la fonction "auto-hide" détecte si la souris se trouve sur la zone de la barre de tache pour ensuite l'afficher, il y aurai donc moyen de l'utiliser, mais je cherche encore dans le code..
Cordialement