Ich habe dies geschafft (mithilfe dieses Forums). Wenn Sie jedoch eine andere Lösung finden, teilen Sie mir dies bitte mit, da diese wahrscheinlich robuster sein wird: unix.stackexchange.com/questions/40209/…
Mit dem aufgerufenen Tool können Sie die xdotoolFenstergröße und -position steuern. Nicht nur , dass jedes Skript Sie schreiben in bash, mit xdotool, Setup zu arbeiten mit einem vollständig maximierten Fenster sein kann , und es kann scripted werden , um die Fenstergröße einzustellen und x: y - Koordinaten durch die Manipulation mousemoveund clickBefehle.
Es ist ein Fehler mit xdotool, wmctrletc .. und Ubuntu, XFCE (dass ich): Wenn das Fenster bereits im Vollbildmodus gestartet wurde, können Sie es sich nicht mehr bewegen: bugs.launchpad.net/ubuntu/+source/unity/ + Bug / 971147
ThePhi
19
Soweit ich weiß, ist dies nicht möglich, da Firefox keine Befehle zur Steuerung des Fensters akzeptiert. Das liegt auch (meistens) in der Verantwortung des Fenstermanagers, daher bezweifle ich, dass es jemals Parameter dafür geben wird. Sie können das Fenster jedoch mit wmctrl steuern , aber das wird ein bisschen schwierig:
#!/bin/sh
firefox -new-instance -new-window "http://www.reddit.org"&# Process ID of the process we just launched
PID=$!# Window ID of the process...pray that there's # only one window! Otherwise this might break.# We also need to wait for the process to spawn# a window.while["$WID"==""];do
WID=$(wmctrl -lp | grep $PID | cut "-d "-f1)done# Set the size and location of the window# See man wmctrl for more info
wmctrl -i -r $WID -e 0,50,50,250,250
Es gibt vielleicht klügere Möglichkeiten, dies zu tun, und es gibt einige Interoperabilitätsprobleme mit Firefox (z. B. dass keine andere Instanz ausgeführt wird), aber es sollte Sie zum Laufen bringen.
Nur eine kleine Notiz. Die Größenänderung funktioniert nicht, wenn das Fenster maximiert ist. Sie müssen diese Eigenschaft also zuerst deaktivieren mit: wmctrl -i -r $ WID -b remove, maximized_vert; wmctrl -i -r $ WID -b remove, maximized_horz; Danach konnte ich die Größe des Firefox-Fensters ändern.
Ka3ak
3
In der Vergangenheit habe ich ein HTML-Dokument erstellt, in dem die Fenstergröße mit Javascript festgelegt und dann auf die gewünschte Seite umgeleitet wurde. Es ist ein dummer Hack, aber hey, es funktioniert.
Sieht so aus, als würde das nicht mehr funktionieren. Anscheinend wirkt sich window.resizeTo nur aus, wenn das Fenster ein Popup ist, das über window.open erstellt wurde.
hugomg
2
Ich glaube nicht, dass dies nur mit Shell-Befehlen möglich ist, da es nichts mit Ihrem Windowmanager zu tun hat.
Ich habe von wmctrl und devilspie gehört, die dies bewirken können. Aber ich bezweifle, dass es einen Weg gibt, dies so einfach zu erreichen, wie Sie es in Ihrem Beispiel beschrieben haben.
Ich mache das die ganze Zeit. Ich benutze jedoch DevilsPie2, weil es robuster ist. Es verwendet die LUA-Skriptsprache, die nicht sehr schwierig ist.
Hier ist mein Lua-Skript für Thunderbird, das ich beim Öffnen auf dem linken Bildschirm (Laptop-Bildschirm) öffnen möchte:
if(get_window_name()=="Mozilla Thunderbird")then
pin_window()
set_window_geometry(50,10,1220,780)
end
where 50= X coordinate (for upper-left corner of the window)10= Y coordinate (" ")1220= window width
780= window height
Um dies einzurichten, erstellen Sie in Ihrer Home-Konfiguration (auf Ubuntu-ähnlichen Distributionen) ein Verzeichnis mit dem Namen devilspie2, z. B. /home/$USERNAME/.config/devilspie2
Für Thunderbird habe ich thunderbird.lua erstellt, obwohl der Dateiname keine Rolle spielt. Ich habe einen anderen Dateinamen für jede Anwendung, obwohl Sie alles in eine Skriptdatei setzen können, wenn Sie wünschen. Stellen Sie devilspie2 so ein, dass es beim Anmelden automatisch startet, z. B. /home/$USERNAME/.config/autostart/devilspie2.desktop
Ein Hinweis: Die Skripte müssen nicht ausführbar sein. Meins sind 664 und funktionieren gut. Einige der anderen Programme, die ich steuere, sind openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload und yad. Ich benutze pin_window für sie, damit sie auf allen Desktops und je nach Anwendung auch auf anderen Befehlen erscheinen.
Antworten:
Hier ist eine Community-Version der Antwort von Yokai , die Beispiele von Rudolf Olah enthält .
Mit dem aufgerufenen Tool können Sie die
xdotool
Fenstergröße und -position steuern. Nicht nur , dass jedes Skript Sie schreiben inbash
, mitxdotool
, Setup zu arbeiten mit einem vollständig maximierten Fenster sein kann , und es kann scripted werden , um die Fenstergröße einzustellen und x: y - Koordinaten durch die Manipulationmousemove
undclick
Befehle.Finden Sie die Fenster-ID:
Stellen Sie die Fenstergröße ein
Bewege das Fenster
Wenn die Fenster-ID für Firefox beispielsweise 123 lautet, würden Sie Folgendes tun:
Die Positionierung unten links muss anhand Ihrer Bildschirmauflösung ermittelt werden.
quelle
xdotool
,wmctrl
etc .. und Ubuntu, XFCE (dass ich): Wenn das Fenster bereits im Vollbildmodus gestartet wurde, können Sie es sich nicht mehr bewegen: bugs.launchpad.net/ubuntu/+source/unity/ + Bug / 971147Soweit ich weiß, ist dies nicht möglich, da Firefox keine Befehle zur Steuerung des Fensters akzeptiert. Das liegt auch (meistens) in der Verantwortung des Fenstermanagers, daher bezweifle ich, dass es jemals Parameter dafür geben wird. Sie können das Fenster jedoch mit wmctrl steuern , aber das wird ein bisschen schwierig:
Es gibt vielleicht klügere Möglichkeiten, dies zu tun, und es gibt einige Interoperabilitätsprobleme mit Firefox (z. B. dass keine andere Instanz ausgeführt wird), aber es sollte Sie zum Laufen bringen.
quelle
In der Vergangenheit habe ich ein HTML-Dokument erstellt, in dem die Fenstergröße mit Javascript festgelegt und dann auf die gewünschte Seite umgeleitet wurde. Es ist ein dummer Hack, aber hey, es funktioniert.
quelle
Ich glaube nicht, dass dies nur mit Shell-Befehlen möglich ist, da es nichts mit Ihrem Windowmanager zu tun hat.
Ich habe von wmctrl und devilspie gehört, die dies bewirken können. Aber ich bezweifle, dass es einen Weg gibt, dies so einfach zu erreichen, wie Sie es in Ihrem Beispiel beschrieben haben.
quelle
Ich mache das die ganze Zeit. Ich benutze jedoch DevilsPie2, weil es robuster ist. Es verwendet die LUA-Skriptsprache, die nicht sehr schwierig ist.
Hier ist mein Lua-Skript für Thunderbird, das ich beim Öffnen auf dem linken Bildschirm (Laptop-Bildschirm) öffnen möchte:
Um dies einzurichten, erstellen Sie in Ihrer Home-Konfiguration (auf Ubuntu-ähnlichen Distributionen) ein Verzeichnis mit dem Namen devilspie2, z. B. /home/$USERNAME/.config/devilspie2
Für Thunderbird habe ich thunderbird.lua erstellt, obwohl der Dateiname keine Rolle spielt. Ich habe einen anderen Dateinamen für jede Anwendung, obwohl Sie alles in eine Skriptdatei setzen können, wenn Sie wünschen. Stellen Sie devilspie2 so ein, dass es beim Anmelden automatisch startet, z. B. /home/$USERNAME/.config/autostart/devilspie2.desktop
Hier ist ein Link zu einer guten Seite mit verschiedenen Optionen für Ihr Lua-Skript: https://github.com/gusnan/devilspie2/blob/master/README
Ein Hinweis: Die Skripte müssen nicht ausführbar sein. Meins sind 664 und funktionieren gut. Einige der anderen Programme, die ich steuere, sind openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload und yad. Ich benutze pin_window für sie, damit sie auf allen Desktops und je nach Anwendung auch auf anderen Befehlen erscheinen.
quelle
devilspie2 --debug
)Dies löst das Problem der Position nicht, aber Sie können zumindest die Abmessungen festlegen:
quelle