GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Geskriptete Fensteraktionen auf Ubuntu mit Devilspie 2

Auf dieser Seite

  1. Was ist LUA?
  • Installation.
  • Konfiguration und Skripterstellung.
    1. Beispielskripts.
    2. Sript-Befehle.
  • Links
  • 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.

    • Devilspie 2

    Ubuntu
    1. Installieren von mod_pagespeed mit Apache auf Ubuntu/CentOS

    2. i3 auf Ubuntu 20.04 installieren - Schritt-für-Schritt-Anleitung?

    3. Sehr langsamer Start mit Ubuntu 15.04?

    4. Problem mit Swap in Ubuntu 18.04?

    5. Android - X Window mit GNURoot

    Ubuntu-Paketverwaltung mit apt

    So installieren Sie i3 auf Ubuntu

    Sichern Sie Ubuntu mit ClamAV Antivirus

    Portainer mit Docker auf Ubuntu installieren

    Probleme mit der Ubuntu-Installation in Virtualbox?

    Problem mit Libre Office in Ubuntu 13.04?