Powered by Invision Power Board


  
 
Reply to this topicStart new topicStart Poll

> Fenstergröße und Position
netz
Geschrieben am: Samstag, 21.Februar 2009, 18:24 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Hallo,
mit xwit lassen sich die Fenstergröße und Postion von gestarteten Anwendungen ändern.
Das ist z.B. beim Schach unter FreeVo nützlich. Bei der Auflösung 720x576 am Fernseher, wird ein Teil des Bildes durch den Ferseherrand überdeckt. Das wäre ein Möglichkeit, das Fenster mittiger zu positionieren.

Installation
CODE
emerge x11-misc/xwit


Befehlszeilen
xwininfo -name "xboard: Crafty-22.1" #Fenster ID oder Namen herausfinden
xwit -resize 640 480 -id 0x600015 #Fenster per ID in der Größe ändern
xwit -resize 640 480 -name "xboard: Crafty-22.1" #Fenster per Name in der Größe ändern
xwit -move 60 60 -id 0x600015 #Fenster per ID positionieren
xwit -move 60 60 -name "xboard: Crafty-22.1" #Fenster per Name positionieren

Aber wie führt man den Befehl xwin parallel aus? Im Script /_config/freevo/crafty.sh werden die Befehle nacheinander ausgeführt.

bis dann,
Nando
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 18:42 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Was meinst Du mit "parallel ausführen" ?
Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 19:27 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Nachdem Schach gestartet ist, soll die Postion korrigiert werden. Füge ich es in der nächsten Zeile des Scriptes hinzu, wird es erst nach dem Beenden von Schach ausgeführt.


/_config/freevo/crafty.sh
CODE
#!/bin/bash
export DISPLAY=:0
if ! test -d /games/crafty; then
  mkdir /games/crafty
fi
export CHESSDIR="/games/crafty"
cd /games/crafty

key2xd /_config/freevo/crafty.key2x &

/usr/games/bin/xboard -fcp /usr/games/bin/crafty
#xwit -move 60 60 -name "xboard: Crafty-22.1"
killall -9 key2xd
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 20:42 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



hmm,
ich verwende zwar weder freevo noch xwin, aber ich würde das so machen:

CODE
#!/bin/bash

export DISPLAY=:0

[ ! -d /games/crafty ] && mkdir /games/crafty

export CHESSDIR="/games/crafty"
cd /games/crafty

key2xd /_config/freevo/crafty.key2x &
/usr/games/bin/xboard -fcp /usr/games/bin/crafty

xwininfo -name > /tmp/out

XWIN="$(cat /tmp/out)"

xwit -resize 640 480 -id $XWIN
xwit -move 60 60 -id $XWIN

rm -f /tmp/out > /dev/null

killall -9 key2xd


Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 21:20 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Danke.
Das geht, wie von dir gedacht, aber leider nicht. In den Beispiel unten wird die Datei /tmp/echo erst nach dem Beenden vom Schach geschrieben.
... eine knifflige Sache.

/_config/freevo/crafty.sh
CODE
#!/bin/bash
export DISPLAY=:0
if ! test -d /games/crafty; then
  mkdir /games/crafty
fi
export CHESSDIR="/games/crafty"
cd /games/crafty

key2xd /_config/freevo/crafty.key2x &

/usr/games/bin/xboard -fcp /usr/games/bin/crafty
echo "Test" > /tmp/echo
killall -9 key2xd


Mit der Befehlszeile kann man das Fenster des Programms crafty bewegen.
CODE
xwit -move 60 60 -name "xboard: Crafty-22.1"
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 21:47 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Und was passiert bei:

CODE
#!/bin/bash

export DISPLAY=:0

[ ! -d /games/crafty ] && mkdir /games/crafty

export CHESSDIR="/games/crafty"
cd /games/crafty

key2xd /_config/freevo/crafty.key2x &
/usr/games/bin/xboard -fcp /usr/games/bin/crafty &

xwininfo -name > /tmp/out

XWIN="$(cat /tmp/out)"

xwit -resize 640 480 -id $XWIN
xwit -move 60 60 -id $XWIN

rm -f /tmp/out > /dev/null

killall -9 key2xd
Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 21:59 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Es wird Schach geöffnet, verschoben und geschlossen. Beim nächsten Start existiert das Fenster Schach sogar mehrmals.

/_config/freevo/crafty.sh
CODE
#!/bin/bash
export DISPLAY=:0
if ! test -d /games/crafty; then
  mkdir /games/crafty
fi
export CHESSDIR="/games/crafty"
cd /games/crafty

key2xd /_config/freevo/crafty.key2x &

/usr/games/bin/xboard -fcp /usr/games/bin/crafty &
xwit -move 60 60 -name "xboard: Crafty-22.1"

killall -9 key2xd
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 22:09 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Und was pasiert, wenn Du das :

CODE
xwininfo -name > /tmp/out
XWIN="$(cat /tmp/out)"
xwit -resize 640 480 -id $XWIN
xwit -move 60 60 -id $XWIN
rm -f /tmp/out > /dev/null


in die "/_config/freevo/crafty.key2x" einträgst?
Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 22:19 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Da passiert nix, wenn da eine Befehlszeile drinnen steht.

("xwininfo -name" gibt ohne Namen nur das Hilfemenü aus.)
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 22:37 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Was gibt

CODE
xwininfo -name "xboard: Crafty-22.1"

aus?

Und woher kommt "xboard: Crafty-22.1"??
Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 22:42 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



CODE
vdr01 tmp # DISPLAY=:0 xwininfo -name "xboard: Crafty-22.1"

xwininfo: Window id: 0x600015 "xboard: Crafty-22.1"

 Absolute upper-left X:  0
 Absolute upper-left Y:  0
 Relative upper-left X:  0
 Relative upper-left Y:  0
 Width: 346
 Height: 425
 Depth: 24
 Visual Class: TrueColor
 Border width: 1
 Class: InputOutput
 Colormap: 0x20 (installed)
 Bit Gravity State: NorthWestGravity
 Window Gravity State: NorthWestGravity
 Backing Store State: NotUseful
 Save Under State: no
 Map State: IsViewable
 Override Redirect State: no
 Corners:  +0+0  -372+0  -372-149  +0-149
 -geometry 346x425+0+0


Den Namen habe ich über "xwininfo -int" und Klick auf das Fenster bekommen.
CODE
vdr01 tmp # DISPLAY=:0 xwininfo -int

xwininfo: Please select the window about which you
         would like information by clicking the
         mouse in that window.

xwininfo: Window id: 6291477 "xboard: Crafty-22.1"

 Absolute upper-left X:  0
 Absolute upper-left Y:  0
 Relative upper-left X:  0
 Relative upper-left Y:  0
 Width: 346
 Height: 425
 Depth: 24
 Visual Class: TrueColor
 Border width: 1
 Class: InputOutput
 Colormap: 0x20 (installed)
 Bit Gravity State: NorthWestGravity
 Window Gravity State: NorthWestGravity
 Backing Store State: NotUseful
 Save Under State: no
 Map State: IsViewable
 Override Redirect State: no
 Corners:  +0+0  -372+0  -372-149  +0-149
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Samstag, 21.Februar 2009, 23:49 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Bleibt das immer gleich?

QUOTE
xwininfo: Window id: 6291477 "xboard: Crafty-22.1"


Falls ja, da füge das in die "/_config/freevo/crafty.key2x" ein:


CODE
xwit -resize 640 480 -name "xboard: Crafty-22.1"
xwit -move 60 60 -name "xboard: Crafty-22.1"
Email PosterUsers WebsiteICQ
Top
netz
Geschrieben am: Samstag, 21.Februar 2009, 23:56 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Der Name bleibt gleich, die ID ändert sich.
Wie weiter oben schon angsprochen, in /_config/freevo/crafty.key2x funktionieren keine Befehlszeile.
Email PosterUsers WebsiteICQ
Top
HelAu
Geschrieben am: Sonntag, 22.Februar 2009, 01:21 Uhr
Quote Post


Scheffe
****

Gruppe: Admin
Beiträge: 11285
Mitgliedsnummer.: 2
Mitglied seit: 2003-04-25



Hi,

Versuchs mal so:

CODE
#!/bin/bash
export DISPLAY=:0
if ! test -d /games/crafty; then
  mkdir /games/crafty
fi
export CHESSDIR="/games/crafty"
cd /games/crafty

screen -dm sh -c "sleep 5; xwit -move 60 60 -name \"xboard: Crafty-22.1\""
key2xd /_config/freevo/crafty.key2x &

/usr/games/bin/xboard -fcp /usr/games/bin/crafty
killall -9 key2xd
Email PosterUsers WebsiteICQAOLYahoo
Top
netz
Geschrieben am: Sonntag, 22.Februar 2009, 01:33 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 1624
Mitgliedsnummer.: 451
Mitglied seit: 2004-12-01



Hallo Helmut,
danke. :)
Es funktioniert "fasst".

Wenn ich gar nix nach dem Start von Schach mache, bleibt es in der Ecke.
Wähle ich das Fenster nach dem Start mit der Maustaste aus, dann verschiebt es sich.
Bei der FB reagierte die Back-Taste auch schon mal erst nach Auswahl des Fensters.
(Ich weis aber nicht, ob es bei jedem so ist.)

bis dann,
Nando
Email PosterUsers WebsiteICQ
Top
Thema wird von 1 Benutzer(n) gelesen (1 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll