Differenze tra le versioni di "Attivare la finestra di un programma con le funzioni del API di X11"

Da Gambas-it.org - Wikipedia.
(Creata pagina con '''Attivare'' una finestra significa portarla al di sopra delle altre finestre presenti sul ''desktop'', attribuendole così il ''focus''. Per attivare, dunque, la finestra di...')
 
Riga 11: Riga 11:
 
  <FONT Color=gray>' ''Display *XOpenDisplay(display_name)''
 
  <FONT Color=gray>' ''Display *XOpenDisplay(display_name)''
 
  ' ''Opens a connection to the X server that controls a display.''</font>
 
  ' ''Opens a connection to the X server that controls a display.''</font>
  Private Extern XOpenDisplay(displayP As Pointer) As Pointer
+
  Private Extern XOpenDisplay(display$ As String) As Pointer
 
   
 
   
 
  <FONT Color=gray>' ''XRaiseWindow(display, w)''
 
  <FONT Color=gray>' ''XRaiseWindow(display, w)''
Riga 27: Riga 27:
 
   
 
   
 
  <FONT Color=gray>' ''Connessione al server X ed impostazione di default:''</font>
 
  <FONT Color=gray>' ''Connessione al server X ed impostazione di default:''</font>
   disp = XOpenDisplay(0)
+
   disp = XOpenDisplay(Null)
 
   
 
   
 
   <FONT Color=#B22222>XRaiseWindow(disp, ''num_ID_della_finestra'')</font>
 
   <FONT Color=#B22222>XRaiseWindow(disp, ''num_ID_della_finestra'')</font>

Versione delle 14:11, 9 nov 2014

Attivare una finestra significa portarla al di sopra delle altre finestre presenti sul desktop, attribuendole così il focus.

Per attivare, dunque, la finestra di un programma si può utilizzare la funzione XRaiseWindow() della libreria condivisa (nella sua attuale versione) libX11.so.6.3.0 .

Tale funzione esterna 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(display$ As String) As Pointer

' XRaiseWindow(display, w)
' Raises the specified window to the top of the stack so that no sibling window obscures it.
Private Extern XRaiseWindow(displayP As Pointer, w As Integer) 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(Null)

  XRaiseWindow(disp, num_ID_della_finestra)

' Chiude la libreria:
  XCloseDisplay(disp)

End



Riferimenti