h2oo
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
Hallo zusammen,
meine Frage richtet sich nicht nur explizit für das Terminal sondern generell eigentlich für alle Anwendungen. Ich nutzte ein 2-Monitor Setup und möchte bestimmte Anwendung immer in einem bestimmten Monitor an definierter Stelle und in einer bestimmten Fenstergröße öffnen. Beispielsweise halt das Terminal das im Hauptscreen immmer im Wege ist und imho einfach auch immer zu schmal. Gibt es eine Möglichkeit diese Parameter für den Start einer Anwendung bindend festzulegen?
Moderiert von redknight: Ins korrekte Forum verschoben.
|
linne11
Anmeldungsdatum: 2. Mai 2010
Beiträge: 95
|
Ich denke dies sollte sich mit den Programmen wmctrl oder xdotool realisieren lassen.
|
h2oo
(Themenstarter)
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
cool also wmctrl macht schonmal als Anwendung das was ich möchte. | monster@monster:~$ wmctrl -r monster@monster: ~ -e 0,925,1730,1000,400
|
das verschiebt nachdem ich z.B. das Terminal aufgerufen habe (was jedoch in Standartposition war) dorthin wo ich es gerne hätte und passt die Größe des Fensters an. Leider habe ich keinen Parameter bzw. Befehl gefunden "das" nun als neuen Standart zu speichern? Geht das?
|
linne11
Anmeldungsdatum: 2. Mai 2010
Beiträge: 95
|
h2oo schrieb:
Leider habe ich keinen Parameter bzw. Befehl gefunden "das" nun als neuen Standart zu speichern? Geht das?
ob das geht weiss ich nicht , aber da man normalerweise seine Programme/Fenster am Anfang der Sitzung einrichtet würde ich ein script schreiben
und dies zu den Startprogrammen packen. Ein Beispielscript könnte so aussehen : | # /bin/bash/
#
terminator &
mousepad &
sleep 3
wmctrl -r "linne@linne-ThinkPad-T460: ~" -e 0,960,0,960,1000
wmctrl -r "Unbenannt 1 - Mousepad" -e 0,0,0,700,700
|
|
h2oo
(Themenstarter)
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
Da ich ja bei jedem Start eines individuellen Fensters wmctrl ausführen möchte, könnte ich diese Anweisung nicht auch in die entsprechende .desktop Datei anhängen und somit bei jeden Aufruf automatisch mitausführen?
Das würde zwar "nur" das klicken auf ein Icon abdecken, also müsste ich mir für den Befehl "In Terminal öffnen" noch etwas einfallen lassen. Auf was genau verlinkt den der Rechtsklick-Reiter Eintrag "In Terminal öffnen"? z.B. in der org.gnome.Terminal.desktop Wenn ja wie müsste ich dann das Argument formulieren und mit einbinden? Welche Art von Sprache verwendet man den um .desktop Datein zu manipulieren?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | [Desktop Entry]
Name=Terminal
Comment=Use the command line
Keywords=shell;prompt;command;commandline;cmd;
TryExec=gnome-terminal
Exec=gnome-terminal
Icon=utilities-terminal
Type=Application
X-GNOME-DocPath=gnome-terminal/index.html
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-terminal
X-GNOME-Bugzilla-Component=BugBuddyBugs
X-GNOME-Bugzilla-Version=3.28.2
Categories=GNOME;GTK;System;TerminalEmulator;
StartupNotify=true
X-GNOME-SingleWindow=false
OnlyShowIn=GNOME;Unity;
Actions=new-window
X-Ubuntu-Gettext-Domain=gnome-terminal
NoDisplay=true
[Desktop Action new-window]
Name=New Terminal
Exec=gnome-terminal
|
|
fleet_street
Top-Wikiautor
Anmeldungsdatum: 30. August 2016
Beiträge: 2130
Wohnort: Hunsrück
|
Manche Programme kann man über '--geometry' direkt positionieren, bspw.
gnome-terminal --geometry 90x20+100+200 Schau dir aber auch mal Devilspie an
|
Lidux
Anmeldungsdatum: 18. April 2007
Beiträge: 15844
|
Hallo h2oo, Hier eintragen: Exec=gnome-terminal Gruss Lidux
|
h2oo
(Themenstarter)
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
Hallo Lidux, ich kapiert nicht ganz wie und wohin genau. SORRY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 | [Desktop Entry]
Name=Terminal
Comment=Use the command line
Keywords=shell;prompt;command;commandline;cmd;
TryExec=gnome-terminal
Exec=gnome-terminal
Exec=wmctrl -r monster@monster: ~ -e 0,925,1730,1000,400
Icon=utilities-terminal
Type=Application
X-GNOME-DocPath=gnome-terminal/index.html
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-terminal
X-GNOME-Bugzilla-Component=BugBuddyBugs
X-GNOME-Bugzilla-Version=3.28.2
Categories=GNOME;GTK;System;TerminalEmulator;
StartupNotify=true
X-GNOME-SingleWindow=false
OnlyShowIn=GNOME;Unity;
Actions=new-window
X-Ubuntu-Gettext-Domain=gnome-terminal
NoDisplay=true
Name[de_DE]=moved.pos.org.gnome.Terminal.desktop
[Desktop Action new-window]
Name=New Terminal
Exec=gnome-terminal; wmctrl -r monster@monster: ~ -e 0,925,1730,1000,400
|
Habs auch schon beim unteren mit separatem Exec probiert mit Semikolon geteilt, gnome-terminal ersetzt... ich raffs noch nicht ganz. Könntest du eventuell posten wohin genau mit dem wmctrl am besten den "Sollzustand" der oben gezeigten .desktop VielenDank schonmal
|
fleet_street
Top-Wikiautor
Anmeldungsdatum: 30. August 2016
Beiträge: 2130
Wohnort: Hunsrück
|
Zwei Zeilen mit Exec? Soll sich der Rechner eine aussuchen? Wenn, dann kombiniert man Kommandos zu einem; habe ich aber nicht getestet.
Exec=gnome-terminal; wmctrl -r monster@monster: ~ -e 0,925,1730,1000,400 Zur Not muss man die Kombination in Anführungszeichen setzen und von sh aufrufen lassen, vgl. .desktop-Dateien/#Kommandozeilenprogramme Einfacher ist es mit
Exec=gnome-terminal --geometry 90x20+100+200 Wobei du mit den Zahlen noch experimentieren musst. Beim Terminal, das ist hier die Eigenart, besagen die ersten beiden Zahlen nicht die Größe in Pixeln, sondern Spalten und Zeilen. Gefolgt vom Abstand der linken oberen Ecke des Fensters zur linken oberen Ecke des ersten Bildschirms in Pixeln.
|
linne11
Anmeldungsdatum: 2. Mai 2010
Beiträge: 95
|
Ich habe noch ein bisschen herumprobiert. Der Vorschlag von fleet_street mit dem geometry parameter des jeweiligen Programms zu arbeiten ist am einfachsten. Mich interessierte allerdings die "wmctrl" option da die "geometry" option nicht von allen Programmen unterstützt wird. folgende Lösung funktioniert! 1
2
3
4
5
6
7
8
9
10
11
12 | linne@linne-ThinkPad-T460:~/CloudStation/technik/skripte$ cat mate-terminal-start.sh
# /bin/bash/
#
mate-terminal &
sleep 3
wmctrl -r "linne@linne-ThinkPad-T460: ~" -e 0,0,0,960,1000
linne@linne-ThinkPad-T460:~/CloudStation/technik/skripte$ cat /usr/share/applications/mate-terminal.desktop | grep mate-terminal-start
Exec=/home/linne/CloudStation/technik/skripte/mate-terminal-start.sh
|
Der sleep befehl muss entsprechend der Startgeschwindigkeit des Terminalprogramms angepasst werden. wmctrl kann das Fenster nur verschieben wenn es auch geöffnet ist.
|
h2oo
(Themenstarter)
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
fleet_street schrieb:
Exec=gnome-terminal --geometry 90x20+100+200 Wobei du mit den Zahlen noch experimentieren musst. Beim Terminal, das ist hier die Eigenart, besagen die ersten beiden Zahlen nicht die Größe in Pixeln, sondern Spalten und Zeilen. Gefolgt vom Abstand der linken oberen Ecke des Fensters zur linken oberen Ecke des ersten Bildschirms in Pixeln.
Habe es nun in die .desktops des Terminals eingetragen.
| Exec=gnome-terminal --geometry 105x14+1400+1900
|
funktioniert super beim direkten Start eines neuen Terminal Fensters. Wie kann ich das nun noch dem Rechtsklick-Prompt von In Terminal öffnen beibringen?
|
Lidux
Anmeldungsdatum: 18. April 2007
Beiträge: 15844
|
Hallo h2oo, Neues Problem = neuer Thread = alten Thread auf gelöst setzen entspricht Portalregel. PS: außer Supporter / Moderator legt sein Veto ein. Gruss Lidux
|
h2oo
(Themenstarter)
Anmeldungsdatum: 23. Juni 2018
Beiträge: 192
|
technisch ist es ja immer noch der Aufruf des Terminal an einer von mir bestimmten Stelle. Beim direkt Aufruf tut es schon was ich will, da die .desktops modifiziert wurden. Beim indirekten Aufruf über das Dateimanager Rechtsklick-Menü noch nicht. Wollte es halt in einem Thread zusammenhalten um dem ganzen die Vorgeschichte und das bereits "erarbeitete" Wissen zu erhalten.
|
fleet_street
Top-Wikiautor
Anmeldungsdatum: 30. August 2016
Beiträge: 2130
Wohnort: Hunsrück
|
fleet_street schrieb: Schau dir aber auch mal Devilspie an
Hast du das gelesen?
|