GNU/Linux >> Znalost Linux >  >> Ubuntu

Skriptované akce okna na Ubuntu s Devilspie 2

Na této stránce

  1. Co je LUA?
  • Instalace.
  • Konfigurace a skriptování.
    1. Ukázkové skripty.
    2. Příkazy skriptu.
  • Odkazy
  • Devilspie2 je program, který detekuje okna při jejich vytváření a provádí na nich skriptované akce. Skripty jsou napsány v LUA, což umožňuje velké množství přizpůsobení. Tento tutoriál vám ukáže instalaci Devilspie 2 na Ubuntu 14.04 a poskytne vám úvod do skriptování Devilspie.

    Co je LUA?

    Lua je výkonný, rychlý, lehký a vložitelný skriptovací jazyk. Lua kombinuje jednoduchou procedurální syntaxi s výkonnými konstrukcemi popisu dat založenými na asociativních polích a rozšiřitelné sémantice. Lua je dynamicky typována, běží na základě interpretace bajtkódu pro virtuální stroj založený na registru a má automatickou správu paměti s inkrementálním shromažďováním odpadků, takže je ideální pro konfiguraci, skriptování a rychlé prototypování.

    Další informace navštivte:http://www.lua.org/

    Instalace.

    Zadejte následující:

    sudo apt-get install devilspie2

    (ujistěte se, že je to devilspie2, protože devilspie je trochu zmatený a již se nevyvíjí.)

    Bohužel pravidla původního Devils Pie již nejsou v Devilspie 2 podporována.

    Konfigurace a skriptování.

    Pokud devilspie2 nezadáte žádnou složku s --folder, bude číst LUA skripty z ~/.config/devilspie2/ a tato složka bude vytvořena, pokud ještě neexistuje. Tuto složku lze změnit pomocí volby --folder. Pokud devilspie2 nenajde ve složce žádné soubory LUA, zastaví provádění.



    Výše ​​jsou některé možnosti použití...

    Ukázkové skripty.

    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
    

    Chcete-li se dozvědět více o skriptovacím jazyce, navštivte následující:

    See FAQ at
    
    www.lua.org/FAQ.html 
    
    Documentation at
    
    www.lua.org/docs.html 
    
    Tutorials at 
    
    http://lua-users.org/wiki/TutorialDirectory
    	

    Příkazy skriptu.

    get_window_name()
         vrátí řetězec obsahující název aktuálního okna.

    get_application_name()
         vrátí název aplikace aktuálního okna.

    set_window_position(xpos, ypos)
         Nastaví pozici okna.

    set_window_size(xsize, ysize)
         Nastaví velikost okna.

    set_window_geometry(xpos, ypos, xsize ysize)
         Nastavte geometrii okna.

    make_always_on_top()
         Nastavit okna vždy na vlajku nahoře.

    set_on_top()
         Nastaví okno nad ostatní (to však nezamkne okno v této poloze).

    debug_print()
         Pomocník pro ladění, který vypíše řetězec do stdout. Vytiskne se pouze v případě, že je devilspie2 spuštěn s volbou --debug.

    shade()
         "Stínuje" okno, zobrazuje pouze záhlaví.

    unshade()
         Zruší stínování okna – opak „stínování“

    maximize()
         maximalizuje okno

    unmaximize()
         zruší maximalizaci okna

    maximize_vertically()
         maximalizuje aktuální okno vertikálně.

    maximize_horisontally()
         maximalizuje aktuální okno vodorovně.

    minimalizovat()
         minimalizuje okno

    unminimize()
         zruší minimalizaci okna, což jej vrátí zpět na obrazovku z minimalizované pozice/velikosti.

    decor_window()
         Zobrazuje všechny dekorace oken.

    undecorate_window()
         Odebere všechny dekorace oken.

    set_window_workspace(number)
         Přesune okno do jiného pracovního prostoru. Proměnná number začíná počítat na 1.

    change_workspace(number)
         Změní aktuální pracovní prostor na jiný. Proměnná číslo začíná počítat od 1.

    pin_window()
         požádá správce oken, aby okno umístil na všechny pracovní prostory.

    unpin_window()
         Požádá správce oken, aby umístil okno pouze do aktuálně aktivního pracovního prostoru.

    stick_window()
         Požádá správce oken, aby ponechal polohu okna na obrazovce neměnnou, i když se pracovní plocha nebo výřez posouvá.

    unstick_window()
         Požádá správce oken, aby při posouvání pracovní plochy nebo výřezu nefixoval polohu okna na obrazovce.

    Toto bude konec výukového programu pro použití devilspie2.

    • Devilspie 2

    Ubuntu
    1. Instalace i3 na Ubuntu 20.04 – průvodce krok za krokem?

    2. Velmi pomalé spouštění s Ubuntu 15.04?

    3. Okenní dekorace zmizely?

    1. Instalace mod_pagespeed s Apache na Ubuntu/CentOS

    2. Problém s výměnou v Ubuntu 18.04?

    3. Android - X Window s GNURoot

    1. Ubuntu 20.04:WordPress s instalací Nginx

    2. Ubuntu 20.04 WordPress s instalací Apache

    3. Guake zmizí náhodně na Ubuntu 13.10?