Na této stránce
- Co je LUA?
- Ukázkové skripty.
- Příkazy skriptu.
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.
Odkazy
- Devilspie 2