Saya berhasil melakukan ini (dengan bantuan forum ini), walaupun jika Anda menemukan solusi lain, tolong beri tahu saya karena mungkin akan lebih kuat: unix.stackexchange.com/questions/40209/…
Berikut adalah versi komunitas dari jawaban oleh Yokai yang menggabungkan contoh-contoh yang ditawarkan oleh Rudolf Olah .
Anda dapat menggunakan alat yang disebut xdotooluntuk mengontrol ukuran dan lokasi jendela. Tidak hanya itu, skrip apa pun yang Anda tulis bash, gunakan xdotool, dapat diatur untuk bekerja dengan jendela yang sepenuhnya dimaksimalkan dan dapat dituliskan untuk mengatur ukuran jendela dan koordinat x: y dengan memanipulasi mousemovedan clickperintah.
Ada bug dengan xdotool, wmctrldll. Dan Ubuntu, XFCE (yang saya miliki): jika jendela sudah diluncurkan dalam mode layar penuh, Anda tidak dapat memindahkannya lagi: bugs.launchpad.net/ubuntu/+source/unity/ + bug / 971147
ThePhi
19
Sejauh yang saya tahu, ini tidak mungkin karena Firefox tidak menerima perintah untuk mengontrol jendela. Itu juga (sebagian besar) tanggung jawab manajer jendela, jadi saya ragu bahwa akan ada parameter untuk melakukan itu. Namun, Anda dapat mengontrol jendela dengan wmctrl , tetapi itu akan sedikit sulit:
#!/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
Mungkin ada cara yang lebih cerdik untuk melakukannya, dan ada beberapa masalah interoperabilitas dengan Firefox (mis. Tidak ada contoh lain yang sedang berjalan) tetapi harus membuat Anda maju.
Hanya sedikit catatan. Mengubah ukuran tidak akan berfungsi jika jendela dimaksimalkan. Jadi, Anda harus menonaktifkan properti ini terlebih dahulu dengan: wmctrl -i -r $ WID -b hapus, maximized_vert; wmctrl -i -r $ WID -b hapus, maximized_horz; Setelah itu saya bisa mengubah ukuran jendela Firefox.
ka3ak
3
Di masa lalu saya telah membuat dokumen HTML yang akan mengatur ukuran jendela dengan Javascript lalu mengarahkan ke halaman yang saya inginkan. Ini hack bodoh tapi, hei, itu berhasil.
Sepertinya ini tidak berfungsi lagi. Rupanya, window.resizeTo hanya berpengaruh jika jendela adalah popup yang dibuat melalui window.open.
hugomg
2
Saya tidak berpikir ini hanya dimungkinkan oleh perintah shell, karena tidak ada hubungannya dengan manajer jendela Anda.
Saya mendengar tentang wmctrl dan devilspie yang dapat mempengaruhi ini. Tetapi saya ragu ada cara untuk mencapainya sesederhana seperti yang Anda tulis dalam contoh Anda.
Saya melakukan ini sepanjang waktu. Saya menggunakan DevilsPie2, karena lebih kuat. Ini menggunakan bahasa scripting LUA, yang tidak terlalu sulit.
Inilah skrip lua saya untuk Thunderbird, yang ingin saya buka di monitor paling kiri (layar laptop) ketika dibuka:
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
Untuk mengatur ini, Anda membuat direktori di konfigurasi rumah Anda (pada distribusi seperti Ubuntu) bernama devilspie2, misalnya /home/$USERNAME/.config/devilspie2
Untuk Thunderbird, saya membuat thunderbird.lua, meskipun nama file tidak masalah. Saya memiliki nama file yang berbeda untuk setiap aplikasi meskipun Anda dapat meletakkan semuanya menjadi satu file skrip jika Anda mau. Set devilspie2 untuk memulai secara otomatis ketika Anda login, mis. /Home/$USERNAME/.config/autostart/devilspie2.desktop
Satu catatan: Skrip tidak harus dapat dieksekusi. Punyaku 664 dan bekerja dengan baik. Beberapa program lain yang saya kendalikan adalah openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload, & yad. Saya menggunakan pin_window pada mereka sehingga mereka muncul di semua desktop, ditambah perintah lain tergantung pada aplikasi.
Jawaban:
Berikut adalah versi komunitas dari jawaban oleh Yokai yang menggabungkan contoh-contoh yang ditawarkan oleh Rudolf Olah .
Anda dapat menggunakan alat yang disebut
xdotool
untuk mengontrol ukuran dan lokasi jendela. Tidak hanya itu, skrip apa pun yang Anda tulisbash
, gunakanxdotool
, dapat diatur untuk bekerja dengan jendela yang sepenuhnya dimaksimalkan dan dapat dituliskan untuk mengatur ukuran jendela dan koordinat x: y dengan memanipulasimousemove
danclick
perintah.Temukan ID jendela:
Atur ukuran jendela
Pindahkan jendelanya
Misalnya, jika id jendela untuk firefox adalah 123 Anda akan melakukan ini:
Posisi kiri bawah harus ditentukan berdasarkan resolusi layar Anda.
sumber
xdotool
,wmctrl
dll. Dan Ubuntu, XFCE (yang saya miliki): jika jendela sudah diluncurkan dalam mode layar penuh, Anda tidak dapat memindahkannya lagi: bugs.launchpad.net/ubuntu/+source/unity/ + bug / 971147Sejauh yang saya tahu, ini tidak mungkin karena Firefox tidak menerima perintah untuk mengontrol jendela. Itu juga (sebagian besar) tanggung jawab manajer jendela, jadi saya ragu bahwa akan ada parameter untuk melakukan itu. Namun, Anda dapat mengontrol jendela dengan wmctrl , tetapi itu akan sedikit sulit:
Mungkin ada cara yang lebih cerdik untuk melakukannya, dan ada beberapa masalah interoperabilitas dengan Firefox (mis. Tidak ada contoh lain yang sedang berjalan) tetapi harus membuat Anda maju.
sumber
Di masa lalu saya telah membuat dokumen HTML yang akan mengatur ukuran jendela dengan Javascript lalu mengarahkan ke halaman yang saya inginkan. Ini hack bodoh tapi, hei, itu berhasil.
sumber
Saya tidak berpikir ini hanya dimungkinkan oleh perintah shell, karena tidak ada hubungannya dengan manajer jendela Anda.
Saya mendengar tentang wmctrl dan devilspie yang dapat mempengaruhi ini. Tetapi saya ragu ada cara untuk mencapainya sesederhana seperti yang Anda tulis dalam contoh Anda.
sumber
Saya melakukan ini sepanjang waktu. Saya menggunakan DevilsPie2, karena lebih kuat. Ini menggunakan bahasa scripting LUA, yang tidak terlalu sulit.
Inilah skrip lua saya untuk Thunderbird, yang ingin saya buka di monitor paling kiri (layar laptop) ketika dibuka:
Untuk mengatur ini, Anda membuat direktori di konfigurasi rumah Anda (pada distribusi seperti Ubuntu) bernama devilspie2, misalnya /home/$USERNAME/.config/devilspie2
Untuk Thunderbird, saya membuat thunderbird.lua, meskipun nama file tidak masalah. Saya memiliki nama file yang berbeda untuk setiap aplikasi meskipun Anda dapat meletakkan semuanya menjadi satu file skrip jika Anda mau. Set devilspie2 untuk memulai secara otomatis ketika Anda login, mis. /Home/$USERNAME/.config/autostart/devilspie2.desktop
Berikut ini tautan ke halaman bagus tentang berbagai opsi yang tersedia untuk skrip lua Anda: https://github.com/gusnan/devilspie2/blob/master/README
Satu catatan: Skrip tidak harus dapat dieksekusi. Punyaku 664 dan bekerja dengan baik. Beberapa program lain yang saya kendalikan adalah openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload, & yad. Saya menggunakan pin_window pada mereka sehingga mereka muncul di semua desktop, ditambah perintah lain tergantung pada aplikasi.
sumber
devilspie2 --debug
)Ini tidak menyelesaikan masalah posisi, tetapi setidaknya Anda dapat mengatur dimensi:
sumber