Block > Maus
4 min (651 Wörter, 3592 Zeichen)
Inhaltsverzeichnis
Hinweis
Dieser Eintrag ist älter als 3 Jahre und entspricht vermutlich nicht mehr dem neuesten Stand der Technik/Realität.
Passend zu “30 Jahren Maus ” (eigentlich nicht ), stelle ich hier ein paar kleine Programme vor, die die Maus per Shell steuern koennen und auch noch, wie Mauszeiger erstellt und geaendert werden koennen.
Wichtig ist natuerlich erstmal das Verschieben der Maus. Das geht mit
xdotool
:
xdotool mousemove 100 100
oder auch dem kleinen Programm swarp
von suckless , was
allerdings nicht das Fenster fokusiert, nachdem der Zeiger verschoben
wurde.
xdotool
hat noch andere Optionen, wie z.B.:
- getmouselocation
- mousedown
- mousemove_relative
- mouseup
Damit kann schon eine Menge gemacht werden 😉
Uebrigens koennen mit xdotool
u.a. auch Tasten gedrueckt werden.
Hilfreich ist dabei eventuell auch das Tool xev
, was viele
Informationen ueber X Events (Druecken einer Taste, Bewegen der Maus
usw.) liefert.
Cool ist auch noch das Deaktivieren der Maus (sodass sie nicht mehr verschiebbar ist):
DISPLAY=":0" xinput disable `DISPLAY=":0" xinput | grep Mouse | \
tr -d " " | awk '{print $2}' | sed 's/id\=//'`
Wieder aktiviert werden kann die Maus ueber:
DISPLAY=":0" xinput enable `DISPLAY=":0" xinput | grep Mouse | \
tr -d " " | awk '{print $2}' | sed 's/id\=//'`
Erwaehnenswert ist auch noch unclutter
, was die Maus bei inaktiver
Nutzung ausblendet (hilfreich z.B. beim Filme gucken):
Mauszeiger aendern #
Das wollte ich schon immer einmal machen (schon unter Windows), nur hatte ich bisher nicht gedacht, dass es so einfach ist.
Mauszeiger erstellen #
Es faengt erstmal damit an, einen Zeiger zu basteln.
Das Programm meiner Wahl war Gimp, mit dem ich ein Fadenkreuz
gebastelt habe:
Das Bild muss 32x32 Pixel gross und transparent sein, abgespeichert
habe ich es dann unter dem Namen left_ptr.png
.
Das reicht erstmal fuer einen Test, insgesamt muessen (wenn es richtig
gemacht werden soll) 180 Zeiger erstellt werden.
Ich habe es mir einfach gemacht und es bei diesem einen Zeiger
gelassen.
Wichtig ist noch eine andere Datei, naemlich die Infodatei, in der
z.B. drin steht, wo der eigentliche Zeiger (Klickpunkt; ein Pixel)
sein soll.
Der Aufbau der Infodatei left_ptr.cursor
zu meinem Zeiger:
32 15 15 left_ptr.png
| | | \__________/
| | | |
| | | \- Name des Zeigerbildes
| | |
| | \- Y-Koordinate des Mauszeigers
| |
| \- X-Koordinate des Mauszeigers
|
\- Pixelgroesse (quadratisch, also 32x32)
Uebrigens koennen alle Zeiger auch animiert sein, das brauche ich aber nicht, daher hier nur der Link zu einer Anleitung .
Erstellt werden kann dann der Zeiger mit xcursorgen
:
xcursorgen left_ptr.cursor left_ptr
\________/ \_____________/ \______/
| | |
| | \- Ausgabedatei (der eigentliche
| | Cursor/Zeiger)
| |
| \- Gerade erstellte Infodatei
|
\- Programm zum Erstellen des Zeigers
Um das ganze nun systemweit verfuegbar zu machen, muss unter
/usr/share/icons
ein Ordner erstellt werden, bei mir z.B. test
.
In den Ordner kommt nun eine index.theme
und ein Ordner cursors
mit den ganzen Cursordateien.
Der Aufbau der index.theme
:
[Icon Theme]
Name=test
Comment=test icon theme
Um den Ordner cursors
zu fuellen, hab ich nun einfach meinen Cursor
left_ptr
genommen und in 179 mal kopiert. Jeder Cursor hat dabei
einen eigenen Namen, die in dieser Datei enthalten sind.
Hier das Skript (der Cursor left_ptr
und die Datei names.txt
muessen in /usr/share/icons/test
liegen), was alles kopiert:
mkdir -p /usr/share/icons/test/cursors
cd /usr/share/icons/test
while read line ; do
cp left_ptr cursors/$line
done < names.txt
chown -R root:root .
chmod -R 755 .
Hinweis
Alles muss dem Userroot
gehoeren und die Rechte 755
haben (wird in den letzten beiden Zeilen erledigt).
Mauszeiger auswaehlen #
Nun wollte ich die Zeiger natuerlich auch nutzen.
Entweder koennen die Zeiger (bzw. das Theme) ueber das Programm
lxappearance
ausgewaehlt werden, oder per Shell:
In die ~/.Xresources
muss folgendes rein:
Xcursor.theme: test
Nun muss diese Datei nur noch geladen werden:
xrdb ~/.Xresources &
Wenn immer noch nichts passiert ist, den Fenstermanager bzw. X neustarten. Ist dann immer noch nichts geschehen, sollte eine der anderen Moeglichkeiten von hier ausprobiert werden.
Quellen #
Geholfen hat auch das Dummy-Theme .