staging.inyokaproject.org

Script anwenden mit devilspie2

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

mistrgl

Anmeldungsdatum:
23. Dezember 2015

Beiträge: Zähle...

Hi, könnte mir jemand helfen ein Script, bezogen auf die Fensterposition von Thunderbird, mit Hilfe von Devilspie2 zum laufen zu bekommen?

Laut https://www.howtoforge.com/tutorial/ubuntu-desktop-devilspie-2/ hab ich folgendes in eine Textdatei geschrieben:

if (get_window_name()=="Thunderbird") then
	-- x,y, xsize, ysize
	set_window_geometry(100,100,800,600);
end

Die Werte sind erst mal Versuchswerte.

Ich speichere das ganze und ändere den Namen in Thunderbird.lua ? Oder was muss ich hier tun?

Wenn ich nun devilspie2 über das Terminal starte, kommt keine Reaktion.

Kann mich jemand Hilfestellung geben. Ich bin leider kein Programmierer. Deswegen kenn ich mich überhaupt nicht aus damit.

Gruß

Ich nutze Linux Mint Cinnamon 19

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Ich habe damit nie gearbeitet.

Meine erste Idee wäre, dass der Windowname nicht "Thunderbird" ist, sondern vielleicht "Mozilla Thunderbird", oder, was bei mir gerade angezeigt wird, "linux - Lokale Ordner - Mozilla Thunderbird".

Kannst Du überprüfen, wie alle Fenster heißen und ob der Name richtig ist?

Oder prüfen, ob der Name auf "Thunderbird" endet?

Oder ob "Appname" vielleicht geeigneter ist?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

mistrgl schrieb:

Ich speichere das ganze und ändere den Namen in Thunderbird.lua ? Oder was muss ich hier tun?

Wie immer: RTFM (Read the fine Manual) https://git.savannah.gnu.org/cgit/devilspie2.git/plain/README

mistrgl

(Themenstarter)

Anmeldungsdatum:
23. Dezember 2015

Beiträge: 39

Laut https://wiki.ubuntuusers.de/Devilspie/ "Fenster identifizieren"

:~$ xprop | grep WM_CLASS\(STRING\) 
WM_CLASS(STRING) = "Mail", "Thunderbird"

Beide Namen hab ich versucht.

@seahawk Wie ich sagte, bin ich kein Programmierer. Deswegen ist das Manual Fachchinesisch für mich. Englisch kann ich, deswegen kann ich mir denken, welche Befehlszeilen relevant sind. Leider weiß ich aber nicht welche Syntax ich anwenden muss. Deswegen hab ich gehofft das mich hier irgendwer der sich mit Devilspie auskennt ans Händchen nehmen kann.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Ich habe das mal nachvollzogen - das Problem scheint zu sein, dass du die Fensterklasse "Thunderbird" (wäre WM_CLASS in xprop, das man in devilspie2 mit get_window_class() bekommen würde) mit dem Fenstertitel (WM_NAME in xprop, der in devilspie von get_window_name() geliefert wird) vergleichst, was nicht passt, weil im String für den Fenstertitel mehr als nur "Thunderbird" drin steht.

Mit einer ~/.config/devilspie2/Thunderbird.lua sollte das, was du vorhast, so klappen:

1
2
3
4
if (get_window_class() == "Thunderbird") then
	-- x,y, xsize, ysize
	set_window_geometry(100, 100, 800, 600);
end

Dann devilspie2 mal etwas gesprächiger starten:

devilspie2 -d 

Und dann den Thunderbird öffnen.

mistrgl

(Themenstarter)

Anmeldungsdatum:
23. Dezember 2015

Beiträge: 39

Merci beaucuop, monsieur.

Mit (get windows:class() gehts. Warum man devilspie2 im debug Mode starten muss bleibt mir ein Rätsel. Aber was solls.

Danke das du dir die Zeit genommen hast drüber zu schauen. Ich bin sicher nicht der einzige mit diesem anliegen, da Cinnamon in Sachen Fenstermanager eben leider nicht sonderlich flexibel ist.

EDIT: Eine Alternative wäre, mit "wmcrtl" zu arbeiten, wenn es nur um die Fensterposition geht

https://wiki.ubuntuusers.de/wmctrl/

Gruß

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

mistrgl schrieb:

Warum man devilspie2 im debug Mode starten muss bleibt mir ein Rätsel. Aber was solls.

Das dient nur dazu etwas besser sehen zu können, was es macht. Für den normalen Betrieb sollte es auch ohne den Debug-Modus gehen.

Antworten |