Auf dieser Seite
- Was ist LUA?
- Beispielskripts.
- Sript-Befehle.
Devilspie2 ist ein Programm, das Fenster erkennt, während sie erstellt werden, und Skriptaktionen an ihnen ausführt. Die Skripte sind in LUA geschrieben, was eine große Anpassungsfähigkeit ermöglicht. Dieses Tutorial zeigt Ihnen die Installation von Devilspie 2 auf Ubuntu 14.04 und gibt Ihnen eine Einführung in das Devilspie-Scripting.
Was ist LUA?
Lua ist eine leistungsstarke, schnelle, leichtgewichtige, integrierbare Skriptsprache. Lua kombiniert einfache prozedurale Syntax mit leistungsstarken Datenbeschreibungskonstrukten basierend auf assoziativen Arrays und erweiterbarer Semantik. Lua ist dynamisch typisiert, wird ausgeführt, indem Bytecode für eine registerbasierte virtuelle Maschine interpretiert wird, und verfügt über eine automatische Speicherverwaltung mit inkrementeller Speicherbereinigung, wodurch es ideal für Konfiguration, Skripterstellung und schnelles Prototyping ist.
Für weitere Informationen besuchen Sie:http://www.lua.org/
Installation.
Geben Sie Folgendes ein:
sudo apt-get install devilspie2
(Stellen Sie sicher, dass es Devilspie2 ist, denn Devilspie ist ziemlich durcheinander und nicht mehr in der Entwicklung.)
Leider werden die Regeln des ursprünglichen Devils Pie in Devilspie 2 nicht mehr unterstützt.
Konfiguration und Skripterstellung.
Wenn Sie devilspie2 keinen Ordner mit --folder geben, liest es LUA-Skripte aus ~/.config/devilspie2/ Ordner, und dieser Ordner wird erstellt, falls er noch nicht existiert. Dieser Ordner kann mit der Option --folder geändert werden. Wenn devilspie2 keine LUA-Dateien im Ordner findet, stoppt es die Ausführung.
Oben sind einige Verwendungsoptionen...
Beispielskripts.
the debug_print command does only print anything to stdout -- if devilspie2 is run using the --debug option debug_print("Window Name: ".. get_window_name()); debug_print("Application name: "..get_application_name()) I want my Xfce4-terminal to the right on the second screen of my two-monitor setup, if (get_window_name()=="Terminal") then -- x,y, xsize, ysize set_window_geometry(1600,300,900,700); end Make Iceweasel always start maximized. if (get_application_name()=="Iceweasel") then maximize(); end
Um mehr über die Skriptsprache zu erfahren, besuchen Sie Folgendes:
See FAQ at www.lua.org/FAQ.html Documentation at www.lua.org/docs.html Tutorials at http://lua-users.org/wiki/TutorialDirectory
Sript-Befehle.
get_window_name()
gibt einen String zurück, der den Namen des aktuellen Fensters enthält.
get_application_name()
gibt den Anwendungsnamen des aktuellen Fensters zurück.
set_window_position(xpos, ypos)
Legt die Position eines Fensters fest.
set_window_size(xsize, ysize)
Legt die Größe eines Fensters fest.
set_window_geometry(xpos, ypos, xsize ysize)
Legen Sie die Geometrie eines Fensters fest.
make_always_on_top()
Setzen Sie die Fenster immer im Vordergrund-Flag.
set_on_top()
Setzt ein Fenster über die anderen (dies fixiert das Fenster jedoch nicht in dieser Position).
debug_print()
Debug-Hilfsprogramm, das eine Zeichenfolge auf stdout ausgibt. Es wird nur ausgegeben, wenn devilspie2 mit der Option --debug ausgeführt wird.
shade()
"Schattiert" ein Fenster und zeigt nur die Titelleiste.
unshade()
Hebt die Schattierung eines Fensters auf - das Gegenteil von "Schatten"
maximize()
maximiert ein Fenster
unmaximize()
entmaximiert ein Fenster
maximize_vertical()
maximiert das aktuelle Fenster vertikal.
maximize_horisontally()
maximiert das aktuelle Fenster horizontal.
minimiere()
minimiert ein Fenster
unminimize()
deminimiert ein Fenster, d. h. bringt es von der minimierten Position/Größe auf den Bildschirm zurück.
decorate_window()
Zeigt die gesamte Fensterdekoration an.
undecorate_window()
Entfernt alle Fensterdekorationen.
set_window_workspace(number)
Verschiebt ein Fenster in einen anderen Arbeitsbereich. Die Zahlenvariable beginnt bei 1 zu zählen.
change_workspace(number)
Ändert den aktuellen Arbeitsbereich in einen anderen. Die Zahlenvariable beginnt bei 1 zu zählen.
pin_window()
fordert den Fenstermanager auf, das Fenster auf allen Arbeitsbereichen zu platzieren.
unpin_window()
Fordert den Fenstermanager auf, das Fenster nur im aktuell aktiven Arbeitsbereich zu platzieren.
stick_window()
Fordert den Fenstermanager auf, die Position des Fensters auf dem Bildschirm festzuhalten, auch wenn der Arbeitsbereich oder das Ansichtsfenster scrollt.
unstick_window()
Fordert den Fenstermanager auf, die Position des Fensters nicht auf dem Bildschirm zu fixieren, wenn der Arbeitsbereich oder das Ansichtsfenster scrollt.
Dies ist das Ende des Tutorials zur Verwendung von devilspie2.
Links
- Devilspie 2