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!


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 :)


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?


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 = (


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.


1

Kabar baik!

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


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.


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


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 :)


-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 !!!


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.