Haben Sie versucht, was in dieser Antwort auf eine ähnliche Frage beschrieben wird? /unix//a/183941/141220
Du hast Arch und einen ungewöhnlichen Wm, also wusstest du wahrscheinlich, dass du alleine hacken musstest.
hier reposting, das kommt von dem link oben, wenn es klappt vergiss nicht auch dem user mikeserv zu danken , da ich hier meistens ein messenger bin.
Folgendes wird wahrscheinlich für Sie funktionieren:
#!/bin/sh
unset X Y; sleep 1
eval "$(xdotool getmouselocation -shell 2>/dev/null)"
for n in X Y; do : "$(($n-=$n>25?25:$n))"; done
xwd -root -silent |
xv - -crop "$X" "$Y" 50 50 \
-geometry "50x50+$X+$Y" \
-nodecor -viewonly -rv -quit
Es hängt von den drei Dienstprogramme xv
, xwd
und xdotool
. Die ersten beiden sind sehr gebräuchliche X-Dienstprogramme, und das dritte ist meines Erachtens bereits vorhanden.
xdotool
Schreibt nach einer Sekunde Ruhezustand die aktuellen Koordinaten der Maus in einem auswertungsfreundlichen -shell
Format auf die Standardausgabe :
X=[num]
Y=[num]
windowID=[num]
eval
Setzt die Shell-Variablen entsprechend und die for-Schleife subtrahiert die Hälfte der Größe des in Kürze anzuzeigenden Bildes von jedem der Werte von $X
und $Y
oder 25
setzt sie auf , wenn einer der Werte kleiner als ist 0
.
xwd
Bewegt das Stammfenster über eine Pipe zu xv
, die die Mausposition auf eine Bildgröße von 50x50
beschneidet und ein Negativ des Bildes unter dem aktuellen Mauszeiger in einem kleinen Fenster ohne Fenstermanagerdekorationen anzeigt.
Das Endergebnis ist ungefähr so:
... obwohl ich vermute, dass mein Mauszeiger in Screenshots nicht angezeigt wird. Seien Sie versichert, es war direkt über der weißen Box, als ich das Foto machte.
Sie können im Bild sehen, wie ich es auch als Shell-Funktion geschrieben und hinterlegt habe. Vor allem aus diesem Grund ist überhaupt ein sleep
Fehler aufgetreten. Wenn Sie die EINGABETASTE drücken, wird das Terminal gescrollt, wenn Sie bereits ganz unten sind. Sie xwd
war schnell genug, um das Bild des Bildschirms zu erfassen, bevor das Terminal gescrollt hat. Dies würde den Fehler beheben Mein Negativ im Bild ein wenig und es hat mir nicht gefallen.
Wie auch immer, da xv
mit den Schaltern -viewonly
und ausgeführt wird -quit
, wird es ausgeblendet, sobald eine Maustaste gedrückt oder eine Tastaturtaste gedrückt wird - es bleibt jedoch so lange, bis Sie dies tun.
Zweifellos könnte man mit ImageMagick
oder sogar xv
allein viel aufwändiger vorgehen - aber ich habe nur ein kleines Negativfeld unter dem Mauszeiger angezeigt. Sie finden die xv-Dokumente hier und die Dokumente für xwd
in man xwd
.