Gambas France BETA


Pas de compte ? Incription

Desktop & ActiveWindow Properties[GB3]

1
AuteurMessages
Reivillo#1 Posté le 7/2/2012 à 14:39:29
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour à Tous.

Voici un code qui peut donner des idées.

Les paquets "wmctrl" et "xdotool" doivent être installés.
Merci à Flachy Joe, pour m'avoir signalé cet oubli.

Reivillo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
' Gambas class file

PUBLIC MyTimer AS OBJECT
PUBLIC MyTextlabel AS OBJECT
PUBLIC MyScreen AS STRING
PUBLIC MyWinAct AS STRING
PUBLIC MyWinActInf AS STRING
PUBLIC MyWinActSav AS STRING
PUBLIC MyTest AS INTEGER = 0
PUBLIC SUB form_Open()
ME.W = 450
ME.H = 450
ME.text = "Desktop & ActiveWindow Properties"
ME.Stacking = Window.Above
ME.center
MyTextlabel = NEW TextLabel(ME)
MyTextlabel.X = 0
MyTextlabel.Y = 0
MyTextlabel.W = ME.W
MyTextlabel.H = ME.H
MyTextlabel.background = &HBFFFFF&
MyTextlabel.Border = Border.Plain
MyTextlabel.visible = TRUE
MyTimer = NEW Timer AS "_MyTimer_"
MyTimer.delay = 1000
MyTimer.enabled = TRUE
END

PUBLIC SUB _MyTimer__Timer()
SHELL "wmctrl -lG | grep " & "x-nautilus-desktop" TO MyScreen
MyScreen = Mid(MyScreen, 25, 4) & "x" & Mid(MyScreen, 30, 4)
SHELL "xdotool getactivewindow " TO MyWinAct
MyWinAct = "0x" & LCase(Hex$(Val(MyWinAct), 8))
SHELL "wmctrl -lG | grep " & MyWinAct TO MyWinActInf
IF (MyWinActInf <> MyWinActSav) THEN
MyWinActSav = MyWinActInf
INC MyTest
ShowInfos
ENDIF
END

PUBLIC SUB ShowInfos()
DIM t AS STRING
t = "<HR WIDTH=96 noshade>"
t &= "<h3 ALIGN=center><font size=6 color=blue> Desktop & ActiveWindow Properties</font></h3>"
t &= "<HR WIDTH=96 noshade>"
t &= "<center>----- Test: <b>" & MyTest & "</b>" & " -----"
t &= "<HR WIDTH=96 noshade>"
t &= "----- <font size=4 color=red><b>Desktop</font></b> -----"
t &= "<br>Screen: <b>" & MyScreen & "</b>"
t &= "<br>Desktop: <b>" & Desktop.Width & "x" & Desktop.Height & "</b>"
t &= "<br>Charset: <b>" & Desktop.Charset & "</b>"
t &= "<br>Resolution: <b>" & Desktop.Resolution & "</b>"
t &= "<br>Scale: <b>" & Desktop.Scale & "</b>"
t &= "<HR WIDTH=96 noshade>"
t &= "----- <font size=4 color=red><b>ActiveWindow</font></b> -----"
t &= "<br>Name: <b>" & Mid(MyWinActInf, 51, Len(MyWinActInf)) & "</b>"
t &= "<br>Org X: <b>" & Mid(MyWinActInf, 15, 4) & "</b>"
t &= "<br>Org Y: <b>" & Mid(MyWinActInf, 20, 4) & "</b>"
t &= "<br>Geo W: <b>" & Mid(MyWinActInf, 25, 4) & "</b>"
t &= "<br>Geo H: <b>" & Mid(MyWinActInf, 30, 4) & "</b></center>"
t &= "<HR WIDTH=96 noshade>"
MyTextlabel.text = t
END
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Flachy Joe#2 Posté le 7/2/2012 à 16:09:31
Iguane : Il Gambas Uniquement pour Activer ses NEuronesIntéressant, il faut préciser que les paquets "wmctrl" et "xdotool" doivent être installés.

Il a fallu que je modifie quelques lignes pour l'adapter à mon environnement (Gnome-Shell sur Debian sid) :
ligne 30 : "Bureau" à la place de "x-nautilus-desktop"
ligne 57 : 47 à la place de 51


La mise en page du TextLabel ne passe pas non plus (Gambas3 ou version de Pango ?) et devient ça :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
t = "<h3><font size=\"6\" color=\"blue\"> Desktop & ActiveWindow Properties</font></h3>"
t &= "<br>----- Test: <b>" & MyTest & "</b>" & " -----"
t &= "<br><br>----- <font size=\"4\" color=\"red\"> <b>Desktop</b></font> -----"
t &= "<br>Screen: <b>" & MyScreen & "</b>"
t &= "<br>Desktop: <b>" & Desktop.Width & "x" & Desktop.Height & "</b>"
t &= "<br>Charset: <b>" & Desktop.Charset & "</b>"
t &= "<br>Resolution: <b>" & Desktop.Resolution & "</b>"
t &= "<br>Scale: <b>" & Desktop.Scale & "</b>"
t &= "<br><br>----- <font size=\"4\" color=\"red\"><b>ActiveWindow</b></font> -----"
t &= "<br>Name: <b>" & Mid(MyWinActInf, 47, Len(MyWinActInf)) & "</b>"
t &= "<br>Org X: <b>" & Mid(MyWinActInf, 15, 4) & "</b>"
t &= "<br>Org Y: <b>" & Mid(MyWinActInf, 20, 4) & "</b>"
t &= "<br>Geo W: <b>" & Mid(MyWinActInf, 25, 4) & "</b>"
t &= "<br>Geo H: <b>" & Mid(MyWinActInf, 30, 4) & "</b>"


Bonne continuation.
;) Flachy Joe ;)
Reivillo#3 Posté le 7/2/2012 à 16:23:17
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir Flachy Joe.

Merci pour ton message.
Mea culpa. J'ai encore zappé les pré-requis.
Vais corriger cela dans la soirée,
et consulter tes remarques.

Reivillo.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
manu#4 Posté le 7/2/2012 à 19:01:43
Avec Gambas ca roule !Tu peux mettre ca sur la forge si tu veux, on en profitera encore plus. ;)

Tu upload le paquet de tes sources, tu peux rajouter une capture d’écran et tu as, comme dans le forum, la possibilité d’écrire un (long) commentaire qui détaillera ton code ou l'application que tu partages. Comme dans le forum, les membres de gambasforge pourons te faire des commentaires.

Bref ce serais sympas que tu rajoutes ce code :)
C'est ici que ça se passe : http://gambasforge.org/forge.html

Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Reivillo#5 Posté le 7/2/2012 à 20:45:04
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir manu.

Merci pour ta réponse.

Pour la FORGE!
Je pense, que je ne suis pas encore bien branché.
Mais je laisse tous pouvoirs aux MODOS.
Si; il faut commenter le code; Demandez-moi.

Reivillo.



Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
manu#6 Posté le 8/2/2012 à 08:07:36
Avec Gambas ca roule !Il y a pas vraiment de modos ici ! et puis il nous faudrais l'archive de ton code pour le faire à ta place. Je peux m'en occuper si tu veux mais j'ai besoin de ton archive.
Mais honnêtement, mettre son code sur la forge c'est simple comme bonjour, et TOUS les codes ont un intérèt. De plus, l'observation par les autres et leurs commentaires te serons super profitables...
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
spheris#7 Posté le 9/2/2012 à 18:05:03
Manu,
Faux ! il y a un modo !

dommage , c'est une phrase de modo ... ça va rester :P


voir ici :

avant dernier post :

http://gambasforge.org/sujet-4199-ligne-de-rondsdans-une-drawarea-page-2.html

;) ;)

Reivillo,
Joli ton bout de code... Mais quel resultat produit-il ?
Peux-tu en 2 mots nous expliquer à quoi il correspond ?
Merci pour ta réponse.
;)
Reivillo#8 Posté le 10/2/2012 à 13:09:47
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour sphéris.

Eh bien, il ne fait pas grand chose,
si ce n'est qu'afficher les Infos:
Ecran, Bureau, et Fenêtre active.

Je m'étais fais un petit Screenshot,
façon GAMBAS, qui m'avais bien plus.
Je voulais donc récupérer les infos
des fenêtres automatiquement.
Le problème avec le CODE ici présent,
c'est de rafraichir les fenêtres avec un TIMER.
(Pas vraiment gênant).
J'aurais préféré le faire avec un Événement.
Voir un post:
http://gambasforge.org/sujet-4224-desktopwatcherwindowgeometrygb3.html

Si tu avais une idée la-dessus,
elle serai la bienvenue.

Reivillo.

NB: Quand à le mettre dans la FORGE,
je pense l'enrichir de commentaires,
et peut-être de quelques corrections avant.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
1