1
Programmazione / Re:mouse e desktop
« il: 06 Giugno 2021, 01:11:48 »Citazione
Uno รจ lieto di poter servire. (L'uomo bicentenario:Robin Williams)
19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.
Uno รจ lieto di poter servire. (L'uomo bicentenario:Robin Williams)
Mi sono cercato una bella grana per iniziare con Gambas3
...
Sembra che sul mio sistema non sia presente questa libreria, ho provato ad cercarla nel mio filesystem, poi nei
repository, sia con Synaptic che con con apt-get, per poterla installare, ma non sono riuscito a trovarla.
Potrebbe essere una parte contenuta in un pacchetto con un nome diverso ?
...
luca@Isaac-Newton:~$ sudo find / -name libgio* -print
(estratto)
/usr/lib/i386-linux-gnu/libgio-2.0.so.0 <- potrebbe essere questo (32) ?
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 <- potrebbe essere questo (64) ?
/usr/lib/i386-linux-gnu (estratto)
lrwxrwxrwx 1 root root 14 Apr 16 2020 libgd.so.3 -> libgd.so.3.0.5
-rw-r--r-- 1 root root 407360 Apr 16 2020 libgd.so.3.0.5
lrwxrwxrwx 1 root root 22 Mar 12 17:38 libgio-2.0.so.0 -> libgio-2.0.so.0.6400.6 <- Permessi OK
-rw-r--r-- 1 root root 2263132 Mar 12 17:38 libgio-2.0.so.0.6400.6 <- Permessi OK
lrwxrwxrwx 1 root root 17 Dec 18 09:35 libglapi.so.0 -> libglapi.so.0.0.0
-rw-r--r-- 1 root root 159736 Dec 18 09:35 libglapi.so.0.0.0
/usr/lib/x86_64-linux-gnu (estratto)
lrwxrwxrwx 1 root root 15 May 21 19:24 libgif.so.7 -> libgif.so.7.1.0
-rw-r--r-- 1 root root 38904 Dec 8 2019 libgif.so.7.1.0
lrwxrwxrwx 1 root root 22 Mar 12 17:38 libgio-2.0.so.0 -> libgio-2.0.so.0.6400.6 <- Permessi OK
-rw-r--r-- 1 root root 1957200 Mar 12 17:38 libgio-2.0.so.0.6400.6 <- Permessi OK
lrwxrwxrwx 1 root root 21 May 21 19:24 libgiomm-2.4.so.1 -> libgiomm-2.4.so.1.3.0
-rw-r--r-- 1 root root 1972560 Mar 30 2020 libgiomm-2.4.so.1.3.0
Ho tentato danze propiziatorie attorno al pc vestito da mamuttones, offrendo bottarga e birra Ichnusa alle divinita' del computernon so' piu a cosa pensare, tenete conto che sono un esordiente totale.
Private Function EstraeInfo(percfile As String) As String
Dim fl, info As Pointer
fl = g_file_new_for_commandline_arg(percfile) <- si blocca qui con questo errore:
Cannot find dynamic library 'libgio-2.0.so': Cannot open shared object file: No such file or directory (FMain:93)
' Gambas class file
Public Struct IconaFileDesktop ' Struttura per l'icona
nome As String ' Nome dell'icona
x As Short ' Per posizione x
y As Short ' Per posizione y
rt As Rect ' Rettangolo per icona
End Struct
Private icone As New IconaFileDesktop[] ' Array (tipo definito dall'utente) per le le informazioni delle icone
''Private PERCORSO As String = User.home &/ "Scrivania" ' Uso il sistema in inglese USA, questo non va' bene per me
Private PERCORSO As String = User.home &/ "Desktop" ' Il percorso da analizzare
Private T As Timer ' Per timer
Public Sub Form_Open()
Dim nomefile As String ' Temporanea per i nomi file
Dim s As String ' Temporanea per l'output shell
Dim ifd As IconaFileDesktop
For Each nomefile In Dir(PERCORSO, "*", gb.File) ' Ciclo per tutti i file corrispondenti alle icone presenti sulla Scrivania:
Shell "gio info '" & PERCORSO &/ nomefile & "'" To s ' Usa a malincuore la funzione "Shell" per lanciare il comando "GIO":
If IsNull(s) Then Continue ' Se s non contiene qualcosa salta il ciclo, altrimenti ...
With ifd = New IconaFileDesktop ' ... Carica nella "Struttura" i dati utili del file individuato dalla
' funzione "Dir()":
.nome = nomefile
''.x = Val(Scan(s, "*::nemo-icon-position: *,*\n*")[1]) ' Uso Mate, quindi Caja, questo non va' bene per me
''.y = Val(Scan(s, "*::nemo-icon-position: *,*\n*")[2]) ' Uso Mate, quindi Caja, questo non va' bene per me
''.x = Val(Scan(s, "*-icon-position: *,*\n*")[1]) ' Forse potrei arrangiare cosi' per generalizzare, poi provero'
''.y = Val(Scan(s, "*-icon-position: *,*\n*")[2]) ' se non mi esplode la cabesa
.x = Val(Scan(s, "*::caja-icon-position: *,*\n*")[1]) '' Qui mi pianto come in un crash-test
.y = Val(Scan(s, "*::caja-icon-position: *,*\n*")[2])
.rt = New Rect(.x, .y, 48, 48) ' Stabilisce un'area standard di 48x48 pixel per ciascuna icona di file
End With
icone.Push(ifd) ' Incrementa gli elementi del vettore
Next
T = New Timer As "Tmr" ' Crea il Timer
T.Delay = 50 ' Imposta il ritardo dell'evento
T.Start ' Lo avvia
End
''-------------------------------------------------------------------------------------------------------------------------------------------------------
'' EVENTO del timer
''-------------------------------------------------------------------------------------------------------------------------------------------------------
Public Sub Tmr_Timer()
Dim c As Short ' Per scorrere il vettore delle icone
TextArea1.Clear ' Pulisce la TextArea
For c = 0 To icone.Max ' Scorre il vettore
''-----------------------------------------------------------------------------------------'
'' Se le coordinate x,y in pixel correnti in cui si trova il puntatore del mouse rientrano '
'' in un'area quadrata caricata, va a vedere a quale icona e file appartiene: '
''-----------------------------------------------------------------------------------------'
If icone[c].rt.Contains(Mouse.ScreenX, Mouse.ScreenY) Then
''--------------------------------------------------------------------------------------------------------'
'' Mostra alcune caratteristiche del file al quale corrisponde l'icona sorvolata dal puntatore del mouse: '
''--------------------------------------------------------------------------------------------------------'
TextArea1.Text = "== Caratteristiche del file ==\n" &
"\nPercorso: " & Stat(PERCORSO &/ icone[c].nome).Path &
"\nDimensione: " & Stat(PERCORSO &/ icone[c].nome).Size & " Byte" &
"\nUltimo Accesso: " & Stat(PERCORSO &/ icone[c].nome).LastAccess &
"\nUltima modifica: " & Stat(PERCORSO &/ icone[c].nome).LastModified &
"\nPermessi: " & Stat(PERCORSO &/ icone[c].nome).Auth &
"\nUtente: " & Stat(PERCORSO &/ icone[c].nome).User &
"\nGruppo: " & Stat(PERCORSO &/ icone[c].nome).Group &
"\nMimetype icona: " & DesktopMime.FromFile(Stat(PERCORSO &/ icone[c].nome).Path).Type
Endif
Next
End
[System]
Gambas=3.16
OperatingSystem=Linux
Kernel=5.4.0-73-generic
Architecture=x86_64
Distribution=Linux Mint 20.1 Ulyssa
Desktop=MATE
Font=Ubuntu,10
Scale=7
Theme=mint-x-orange
Language=en_US.UTF-8
Memory=7668M
[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.6.0
DBus=libdbus-1.so.3.19.11
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2404.16
GStreamer=libgstreamer-1.0.so.0.1602.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2404.16
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.97.0.0
QT5=libQt5Core.so.5.12.8
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
COMPIZ_CONFIG_PROFILE=mint
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=0cd8a38795f2ab50a3b8d10c60a8fcc6
DBUS_STARTER_ADDRESS=unix:path=/run/user/1000/bus,guid=0cd8a38795f2ab50a3b8d10c60a8fcc6
DBUS_STARTER_BUS_TYPE=session
DEFAULTS_PATH=/usr/share/gconf/mate.default.path
DESKTOP_SESSION=mate
DISPLAY=:0
GB_GUI=gb.gtk3
GDMSESSION=mate
GDM_LANG=en_US
GIO_LAUNCHED_DESKTOP_FILE=<home>/.local/share/applications/gambas3.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=26088
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
IM_CONFIG_PHASE=1
INVOCATION_ID=eab5bf71ff4443fe9729371ca01967a2
JOURNAL_STREAM=9:31678
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ADDRESS=it_IT.UTF-8
LC_ALL=en_US.UTF-8
LC_IDENTIFICATION=it_IT.UTF-8
LC_MEASUREMENT=it_IT.UTF-8
LC_MONETARY=it_IT.UTF-8
LC_NAME=it_IT.UTF-8
LC_NUMERIC=it_IT.UTF-8
LC_PAPER=it_IT.UTF-8
LC_TELEPHONE=it_IT.UTF-8
LOGNAME=<user>
MANAGERPID=1058
MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path
MATE_DESKTOP_SESSION_ID=this-is-deprecated
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_LOGGING_RULES=*.debug=false
QT_QPA_PLATFORMTHEME=qt5ct
QT_SCALE_FACTOR=1
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1092,unix/<hostname>:/tmp/.ICE-unix/1092
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=1288
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
XDG_CURRENT_DESKTOP=MATE
XDG_DATA_DIRS=/usr/share/mate:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=mate
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7
_=/usr/bin/dbus-update-activation-environment
[System]
Gambas=3.16.90
OperatingSystem=Linux
Kernel=4.15.0-142-generic
Architecture=x86_64
Distribution=Linux Mint 19.3 Tricia
Desktop=MATE
Font=Noto Sans,9
Scale=7
Theme=mint-x-teal
Language=en_US.UTF-8
Memory=7683M
[Libraries]
Cairo=libcairo.so.2.11510.0
Curl=libcurl.so.4.5.0
DBus=libdbus-1.so.3.19.4
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2200.30
GStreamer=libgstreamer-0.10.so.0.30.0
GStreamer=libgstreamer-1.0.so.0.1405.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2200.30
OpenGL=libGL.so.1.0.0
Poppler=libpoppler.so.73.0.0
QT4=libQtCore.so.4.8.7
QT5=libQt5Core.so.5.9.5
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
COMPIZ_CONFIG_PROFILE=mate
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-xh0Ojda4Lj,guid=422db3b7c329df6c84aafa30609949fd
DEFAULTS_PATH=/usr/share/gconf/mate.default.path
DESKTOP_AUTOSTART_ID=10827bdb02312e4c04162065868797671400000035670005
DESKTOP_SESSION=mate
DISPLAY=:0
GB_GUI=gb.gtk3
GDMSESSION=mate
GDM_LANG=en_US
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ADDRESS=it_IT.UTF-8
LC_ALL=en_US.UTF-8
LC_IDENTIFICATION=it_IT.UTF-8
LC_MEASUREMENT=it_IT.UTF-8
LC_MONETARY=it_IT.UTF-8
LC_NAME=it_IT.UTF-8
LC_NUMERIC=it_IT.UTF-8
LC_PAPER=it_IT.UTF-8
LC_TELEPHONE=it_IT.UTF-8
LOGNAME=<user>
MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path
MATE_DESKTOP_SESSION_ID=this-is-deprecated
PATH=<home>/bin:<home>/.local/bin:<home>/Scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_LOGGING_RULES=*.debug=false
QT_SCALE_FACTOR=1
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/3567,unix/<hostname>:/tmp/.ICE-unix/3567
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=3682
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
XDG_CURRENT_DESKTOP=MATE
XDG_DATA_DIRS=<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share/:/usr/share/mate:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_DESKTOP=mate
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7