Modificare le dimensioni della finestra di un programma con le funzioni del API di X11

Da Gambas-it.org - Wikipedia.

Per modificare le dimensioni della finestra di un programma esterno si può utilizzare la funzione XResizeWindow() della libreria condivisa (nella sua attuale versione) libX11.so.6.3.0 .

Tale funzione esterna non modifica le dimensioni dei bordi della finestra, e richiede, fra l'altro, la specificazione del numero identificativo della finestra del programma da chiudere.


Mostriamo un esempio essenziale:

Library "libX11:6.3.0"

' Display *XOpenDisplay(display_name)
' Opens a connection to the X server that controls a display.
Private Extern XOpenDisplay(displayP As Pointer) As Pointer

' XResizeWindow(display, w, x, y)
' Changes the inside dimensions of the specified window, not including its borders.
Private Extern XResizeWindow(displayP As Pointer, w As Integer, width As Integer, height As Integer)
 
' XCloseDisplay(display)
' Closes the connection to the X server for the display specified in the Display structure and destroys all windows.
Private Extern XCloseDisplay(displayP As Pointer)


Public Sub Main()

 Dim disp As Pointer

' Connessione al server X ed impostazione di default:
  disp = XOpenDisplay(0)

  XResizeWindow(disp, num_ID_della_finestra, 50, 200)

' Chiude la libreria:
  XCloseDisplay(disp)

End



Riferimenti