Cara menggunakan guake di monitor sisi kanan dalam lingkungan layar ganda

Jawaban:

21

Saya menggunakan dua monitor dan ingin agar Guake ditampilkan di sebelah kanan (di mana secara default ditampilkan di sebelah kiri).

Apa yang saya lakukan adalah mengedit /usr/bin/guake/file saya menggantikan get_final_window_rectmetode dengan ini:

def get_final_window_rect(self):
    """Gets the final size of the main window of guake. The height
    is the window_height property, width is window_width and the
    horizontal alignment is given by window_alignment.
    """
    screen = self.window.get_screen()
    height = self.client.get_int(KEY('/general/window_height'))
    width = 100
    halignment = self.client.get_int(KEY('/general/window_halignment'))

    # get the rectangle just from the first/default monitor in the
    # future we might create a field to select which monitor you
    # wanna use
    monitor = 1 # use the right most monitor
    window_rect = screen.get_monitor_geometry(monitor)
    # see if we don't have another screen, and if so, use the first one
    if window_rect.width == 0:
        monitor = 0
        window_rect = screen.get_monitor_geometry(monitor)
    total_width = window_rect.width
    window_rect.height = window_rect.height * height / 100
    window_rect.width = window_rect.width * width / 100

    if width < total_width:
        if halignment == ALIGN_CENTER:
            window_rect.x = (total_width - window_rect.width) / 2
            if monitor == 1:
                    right_window_rect = screen.get_monitor_geometry(0)
                    window_rect.x += right_window_rect.width
        elif halignment == ALIGN_LEFT:
            window_rect.x = 0
        elif halignment == ALIGN_RIGHT:
            window_rect.x = total_width - window_rect.width
    window_rect.y = 0
    return window_rect

Pada dasarnya, ini digunakan 1sebagai indeks monitor dan kemudian, menambah lebar layar kanan ke tampilan titik awal dari jendela guake

semoga ini membantu!

wilfo
sumber
Bagaimana Anda membuka file itu untuk mengeditnya? Saya melakukannya melalui xdg-open $ file tetapi terbuka sebagai hanya-baca.
kevin
Setiap editor teks akan melakukan, gunakan sudodi awal perintah untuk memiliki hak admin
wilfo
Anehnya, ini berganti-ganti antara kiri dan kanan setiap kali saya membukanya ketika saya mengatur 'Penempatan peluncur' hanya untuk monitor kiri. Mengaturnya ke yang tepat membuatnya bekerja setiap saat.
rmobis
3
Itu benar. Komentar Anda membuat saya menginstal Guake versi terbaru (dari ppa ini: https://launchpad.net/~webupd8team/+archive/ubuntu/unstabledan tampaknya mereka telah membuatnya jadi sekarang Anda dapat memilih antara terminal yang muncul di layar tempat mouse berada, atau menguncinya ke layar tertentu, yang saya kira merupakan solusi yang cukup baik menurut saya
wilfo
Komentar @ wilfo yang mengidentifikasi pembaruan dari pengembang asli memberikan solusi paling sederhana. Fitur bawaan Guake 0.7.2 menambah kemampuan untuk mengatur tampilan serta banyak pengaturan lain yang bermanfaat.
Steven C. Howell
2

Solusinya sangat sederhana, karena Anda ingin menyelaraskan layar Guake Anda ke monitor sisi kanan Anda sehingga pada posisi awal (x, y) layar, koordinat y akan sama yaitu mulai dari 0 tetapi x koordinat akan berubah dan harus sama dengan lebar monitor sisi kiri Anda. Untuk dapat melakukan ini, Anda perlu melakukan 2 hal.

I. Ubah nomor monitor menjadi 1, seperti yang disarankan di atas. Di barisan

window_rect = screen.get_monitor_geometry (0)

Ganti 0 dengan 1.

II Tambahkan lebar layar pertama di posisi x mulai koordinat. untuk melakukan ini.

Menggantikan

if width < total_width:
    if halignment == ALIGN_CENTER:
        window_rect.x = (total_width - window_rect.width) / 2
    elif halignment == ALIGN_LEFT:
        window_rect.x = 0
    elif halignment == ALIGN_RIGHT:
        window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect

Oleh

if width < total_width:
     if halignment == ALIGN_CENTER:
         window_rect.x += (total_width - window_rect.width) / 2
     elif halignment == ALIGN_LEFT:
         window_rect.x += 0
     elif halignment == ALIGN_RIGHT:
         window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect

Setelah Anda melakukan perubahan ini dan mulai ulang guake (Keluar dan mulai lagi), Anda harus mendapatkan penyelarasan layar Guake yang diinginkan.

Semoga ini membantu :)

lalit
sumber
1

Saya juga membuat pertanyaan ini: guake di monitor sisi kanan di lingkungan layar ganda - Ubuntu 15.10 (Wily Werewolf))

Di Ubuntu 15.10 guake telah berubah sedikit. Untuk mengubah terminal Anda ke monitor kanan Anda harus mengedit:

sudo vim /usr/lib/python2.7/dist-packages/guake/guake_app.py

kemudian ubah di baris 831:

window_rect = screen.get_monitor_geometry(monitor)

oleh:

window_rect = screen.get_monitor_geometry(1)

bunuh dan mulai ulang guake

Adakah yang tahu cara untuk melakukan ini dengan cara yang kurang hack?

clvx
sumber
1

Seperti yang dikatakan lalit, cara terbaik yang saya temukan untuk melakukan ini di ubuntu 14.04LTS adalah perubahan

window_rect = screen.get_monitor_geometry(0)

untuk

window_rect = screen.get_monitor_geometry(0)

tapi berubah

    if width < total_width:
    if halignment == ALIGN_CENTER:
        window_rect.x = (total_width - window_rect.width) / 2
    elif halignment == ALIGN_LEFT:
        window_rect.x = 0
    elif halignment == ALIGN_RIGHT:
        window_rect.x = total_width - window_rect.width
window_rect.y = 0
return window_rect

untuk

 if width < total_width:
     if halignment == ALIGN_CENTER:
         window_rect.x += total_width + (total_width - window_rect.width) / 2
     elif halignment == ALIGN_LEFT:
         window_rect.x += 0
     elif halignment == ALIGN_RIGHT:
         window_rect.x += total_width - window_rect.width
window_rect.y = 0
return window_rect

Satu-satunya perbedaan adalah di "jika" pertama, tanpa menambahkan "total_width" ke "window_rect.x" guake muncul di tengah monitor kiri saya.

PS: Maaf Lalit tapi saya tidak bisa menambahkan komentar ke posting Anda karena saya belum punya poin = (

Ramiro RC
sumber
1

Solusi oleh wilfo tidak bekerja untuk saya. Dalam kasus saya, saya menyelesaikan di Linux Mint dengan kode berikut:

def get_final_window_rect(self):
    """Gets the final size of the main window of guake. The height
    is the window_height property, width is window_width and the
    horizontal alignment is given by window_alignment.
    """
    screen = self.window.get_screen()
    height = self.client.get_int(KEY('/general/window_height'))
    width = 100
    halignment = self.client.get_int(KEY('/general/window_halignment'))

    # future we might create a field to select which monitor you
    # wanna use
    #monitor = 0 # use the left most monitor
    monitor = screen.get_n_monitors() - 1 # use the right most monitor

    monitor_rect = screen.get_monitor_geometry(monitor)
    window_rect = monitor_rect.copy()
    window_rect.height = window_rect.height * height / 100
    window_rect.width = window_rect.width * width / 100

    if width < monitor_rect.width:
        if halignment == ALIGN_CENTER:
            window_rect.x = monitor_rect.x + (monitor_rect.width - window_rect.width) / 2
        elif halignment == ALIGN_LEFT:
            window_rect.x = monitor_rect.x
        elif halignment == ALIGN_RIGHT:
            window_rect.x = monitor_rect.x + monitor_rect.width - window_rect.width

    window_rect.y = monitor_rect.y
    return window_rect

Saya mengambilnya dari sini , tetapi saya mengubahnya 80menjadi 100.

smartmouse
sumber
1

Kabar baik!

Pada versi 0.8.5, Guake akan ditampilkan pada monitor yang aktif, sehingga Anda tidak perlu mengubah kode Guake lagi.

pelajar yang abadi
sumber
versi 0.5.0 (yang ada di repo ubuntu) mendukungnya juga:apt-get install --only-upgrade guake
Artur Klesun
0

Saya belum menguji ini tetapi saya pikir Anda bisa mengedit / usr / bin / guake karena ini adalah skrip python.

Menemukan

window_rect = screen.get_monitor_geometry(0) #line 824 di mesin saya

dan ubah 0 ke indeks monitor yang ingin Anda tampilkan.

Mendongkrak
sumber
1
Saya mengedit baris 0ke 1dalam /usr/lib/guake/guake.py. Dan restart guake, tetapi tidak ada yang berubah.
ironsand
0

Hanya untuk menambahkan jawaban smartmouse dan wilfo, setelah Anda membuat perubahan ke / usr / bin / guake Anda kemudian harus memulai ulang dengan susah payah. Keluar dari sesi guake tidak mengakhiri proses Guake.

Buka monitor sistem dan matikan proses aplikasi guake lalu restart

Anuraag
sumber
0

Saya harus mengubah ini di Ubuntu 16.04 LTS dengan 2 monitor.

Saya mencoba metode di atas tetapi menyadari kode telah berubah sejak itu. Saya masuk ~/.gconf/apps/guake/generaldan mengedit %gconf.xmldan mengubah display_n (int)dari 0menjadi1 untuk monitor ke-2 saya.

Semoga ini membantu :)

pwnall1337
sumber
-1

Saya coba di Ubuntu 14.04, saya menemukan Anda hanya perlu mengklik "Preferences" di ikon guake (layar kanan atas) di kedua monitor, lalu klik "Show" di monitor yang sama, maka Anda dapat melihat terminal guake muncul di monitor Anda. sedang menggunakan !!!

tony chen
sumber
Tidak jelas (setidaknya bagi saya) bagaimana pendekatan ini akan "mengatur monitor_index" Bisakah Anda mengedit jawaban ini untuk mengklarifikasi bagaimana ia menjawab pertanyaan? Terima kasih!
Penatua Geek