Markieren Sie die Maus für Screencasts, ohne den Workflow zu stören

14

Zum Erstellen von Dokumentations- / Lernvideos muss die Maus hervorgehoben werden, z. B. mit einer gelben durchscheinenden Korona:

Bildbeschreibung hier eingeben

Die Markierung sollte beim Klicken und Bewegen aktiv sein, aber wenn sie ständig aktiviert ist, ist dies auch in Ordnung.

Es kann die Sicht auf das, was sich dahinter befindet, bis zu einem gewissen Grad verdecken, es kann jedoch nicht verhindert werden, dass auf das, was sich dahinter befindet, geklickt oder der Fokus von Fenstern weggenommen werden kann.

Compiz scheint Vergangenheit zu sein, Find-Cursor ist nicht an Aktionen (Klicks / Bewegungen) gebunden und blockiert die Interaktion (beim Zeichnen kann man nicht "durch" klicken) und Key-Mon zeichnet nicht richtig, deaktiviert auch die Interaktion und ist im Allgemeinen fehlerhaft, wenn es um den Maus-Textmarker geht, zumindest mit einem Kacheln-Fenstermanager.

Ich benutze Arch Linux und awesome wm.

Vielen Dank!

qubodup
quelle
Für die Aufzeichnung habe ich ähnliche Probleme mit key-mon auf einem nicht kachelnden wm (openbox) gehabt.
gandalf3
Installieren Sie ein benutzerdefiniertes Mausdesign. Funktioniert die ganze Zeit. Weitere Details in meiner Antwort unten.
Clearkimura

Antworten:

6

Verwenden Sie ein benutzerdefiniertes Mausdesign, das der XDG-Spezifikation entspricht .

Dies könnte der einfachste Weg sein, den Marker einzuführen. Ich nehme an, dies fügt dem Cursor nur eine durchscheinende Kreisebene hinzu oder einfacher. Noch besser ist, dass dieser Ansatz höchstwahrscheinlich sowohl für X11- als auch für Wayland- Cursorthemen anwendbar ist, wie in diesem ArchWiki angegeben .

Wie erstelle ich ein Mäusethema?

Müssen wir das benutzerdefinierte Mausdesign erstellen? Ja, wenn der Benutzer es vorzieht, eine eigene zu erstellen. Dies kann zeitaufwändig sein und die meisten Benutzer müssen einige Messungen vornehmen.

Die letzte Diskussion zum Thema "Icon-Themes erstellen" ist um 2015, die in diesem Thread auf Linux.org zu finden ist. Es behandelt ein wenig Cursor und bietet großzügig mehr Links zum Weiterlesen.

In mehreren älteren Tutorials aus dem Jahr 2010 wurde dieses GIMP-Plug-In zum Erstellen von X11-Mauszeigern (XMC) erwähnt. Ein anderer Ansatz ist die Verwendung des Programms Xcursorgen , das in diesem Artikel auf ehow.com erläutert wird.

Oder ohne ein Thema zu erstellen

Müssen wir dann noch eine erstellen? Nein, da einige Benutzer bereits solche Themes erstellt haben. Die meisten Benutzer müssen es nur suchen, herunterladen und installieren.

Ich fand, dass DMZ-Highlight von MBOSSG eine einfache und elegante Lösung ist.

Es ist ein benutzerdefiniertes Mausdesign für Ubuntu / Linux, das einen durchscheinenden gelben Kreis unterhalb des Cursors aufweist, was fast genau dem entspricht, was in der Frage beschrieben wurde. Wie der Name andeutet, basiert DMZ-Highlight (links) auf der weißen DMZ-Variante von DMZ-Cursorthemen.

DMZ-Highlight und DMZ weiß verglichen

Funktioniert DMZ-Hightlight?

  • hervorgehobene Markierung: Ja
  • durchscheinend gelb: Ja
  • aktiver Marker: Ja, beim Klicken und Bewegen ^ 1
  • Deaktivieren Sie das Klicken: Nein ^ 2
  • Fokus stehlen: Nein ^ 2

^ 1: Für die meisten Elemente der Benutzeroberfläche immer sichtbar, mit Ausnahme der Texteingabe wird der übliche ICursor angezeigt

DMZ-Highlight gegen Mousepad

^ 2: Das Mäusethema behindert oder entfernt den Fokus nicht von Fenstern, nur der übliche Cursor mit einer Hervorhebung darunter

DMZ-Highlight gegen UI-Elemente und Desktop

Haftungsausschluss : Mit dieser Antwort soll der einfachste Weg vorgeschlagen werden, die Markierung am Cursor einzufügen. In dieser Antwort wird daher nicht erläutert, wie das Mausdesign installiert wird (dies sollte durch eine separate Frage und Antwort abgedeckt werden).

Der Autor von DMZ-Highlight hatte Installations- und Deinstallationsskripte bereitgestellt, die für Ubuntu-Benutzer praktisch sind. In meinem Fall wurde der Cursor manuell über sudo update-alternativeBefehle installiert und konfiguriert , wie ich dies vorziehen würde.

DMZ-Highlight in Xubuntu 14.04 (Xfce 4.10) getestet.

TL; DR Installiere ein benutzerdefiniertes Mausdesign, das den Cursor hervorhebt. Null-Skripte, funktioniert die ganze Zeit.

clearkimura
quelle
Seltsamerweise zeigt dieses Thema für mich nicht den transparenten gelben Kreis an, sondern verändert den Mauszeiger. Ich bin mir nicht sicher, was dort vor sich geht. Das sieht perfekt aus, aber ich mache mir Sorgen, dass es nicht von einigen Bildschirmaufnahmeprogrammen aufgenommen wird, die das Erfassen des Cursors nicht unterstützen (einer der Hauptgründe, warum ich danach suche).
Gandalf3
Ich habe bestätigt, dass DMZ-Highlight sowohl in Compositing als auch in Non-Compositing Xfce 4.10 funktioniert. Die Hervorhebung ist durchscheinend und sichtbar, wenn Sie einen Screencast mit vokoscreen 1.9.0 (using libav-tools), Xubuntu 14.04 durchführen.
Clearkimura
4

Während das oben vorgeschlagene DMZ-Highlight-Thema für den einfachen Pfeilzeiger funktioniert, wird keiner der anderen Cursor hervorgehoben.

Davon enttäuscht habe ich ein kurzes Programm geschrieben , das allen Cursorn für ein bestimmtes Thema ein ähnliches Highlight verleiht.

Für diejenigen, die es nicht kompilieren und ausführen möchten, habe ich auch die Ergebnisse des Ausführens des Programms mit den DMZ-White-Cursorn aufgeführt und sozusagen eine aktualisierte Version des DMZ-Highlight-Themas erstellt, in der alle Cursor hervorgehoben sind

Markierte Cursor

DhatGuy
quelle
Vielen Dank für Ihr Teilen. Ohne Ihre Erlaubnis habe ich Ihr bereitgestelltes Thema übernommen, um die Installation unter github.com/iPAS/DMZ-White-Highlighted zu vereinfachen .
iPAS
@iPAS freut sich, dass meine Arbeit Sie inspiriert hat!
DhatGuy
-1

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, xwdund xdotool. Die ersten beiden sind sehr gebräuchliche X-Dienstprogramme, und das dritte ist meines Erachtens bereits vorhanden.

xdotoolSchreibt nach einer Sekunde Ruhezustand die aktuellen Koordinaten der Maus in einem auswertungsfreundlichen -shellFormat auf die Standardausgabe :

X=[num]
Y=[num]
windowID=[num]

evalSetzt 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 $Xund $Yoder 25setzt sie auf , wenn einer der Werte kleiner als ist 0.

xwdBewegt das Stammfenster über eine Pipe zu xv, die die Mausposition auf eine Bildgröße von 50x50beschneidet und ein Negativ des Bildes unter dem aktuellen Mauszeiger in einem kleinen Fenster ohne Fenstermanagerdekorationen anzeigt.

Das Endergebnis ist ungefähr so:

Bildbeschreibung hier eingeben

... 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 sleepFehler aufgetreten. Wenn Sie die EINGABETASTE drücken, wird das Terminal gescrollt, wenn Sie bereits ganz unten sind. Sie xwdwar 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 xvmit den Schaltern -viewonlyund 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 ImageMagickoder sogar xvallein 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 xwdin man xwd.

Bobafetthotmail
quelle
1
Interessant, scheint aber die Anforderungen des OP nicht zu erfüllen. Das Fenster, das Klicks blockiert, folgt dem Cursor nicht, wenn er sich bewegt.
Gandalf3
Dieses Skript muss wahrscheinlich in eine Schleife mit einem geeigneten "Schlaf" eingefügt werden. Wie es jetzt natürlich ist, druckt es nur ein einziges Bild, duh.
Bobafetthotmail
Was die blockierenden Klicks angeht, denke ich, dass Sie mit der -rootOption in spielen müssen xv, da dies dazu zwingt, kein eigenes x-Fenster über dem Inhalt zu öffnen. Aber dann kann es keine Klicks erkennen (der ganze Punkt hier), so dass Sie das Skript beenden und es manuell in einer Schleife neu starten müssen. Schauen Sie sich die "Root Window Options" in den Dokumenten structbio.vanderbilt.edu/chazin/wisdom/xv-3.10a/…
bobafetthotmail
1
Ich kann mir nicht vorstellen, dass die Leistung sehr gut sein wird, wenn man das gesamte Skript in eine Schleife legt. Selbst ohne Ruhezustand dauert es fast eine halbe Sekunde, bis das Fenster auf meinem Computer angezeigt wird.
Gandalf3
Beim Zeichnen in das Stammfenster kann nicht über andere Fenster AFAIK gezeichnet werden. Zumindest scheint dies nach einem kurzen Test der Fall zu sein.
Gandalf3