Cách sử dụng guake ở màn hình bên phải trong môi trường hiển thị kép


21

Tôi muốn sử dụng Guakeở màn hình bên phải.

Vì vậy, tôi đã thêm ppa này bởi sudo add-apt-repository ppa:cberner/guake, và sudo apt-get update.

https://launchpad.net/~cberner/+archive/guake/+index?field.series_filter=rared

Hướng dẫn nói rằng tôi có thể thiết lập monitor_indexbằng cách nào đó. Nhưng tôi không thể tìm cách cấu hình.

Có ai biết về điều này?

Câu trả lời:


21

Tôi sử dụng hai màn hình và muốn Guake được hiển thị ở bên phải (trong đó theo mặc định nó được hiển thị ở bên trái).

Những gì tôi đã làm là chỉnh sửa /usr/bin/guake/tập tin của tôi thay thế get_final_window_rectphương thức này:

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

Về cơ bản, nó sử dụng 1làm chỉ số màn hình và sau này, thêm chiều rộng màn hình bên phải vào màn hình hiển thị điểm bắt đầu của cửa sổ hướng dẫn

hi vọng điêu nay co ich!


Làm thế nào bạn mở tập tin đó để chỉnh sửa nó? Tôi đã làm điều đó thông qua xdg-open $ file nhưng nó mở dưới dạng chỉ đọc.
kevin

Bất kỳ trình soạn thảo văn bản sẽ làm, sử dụng sudo ở đầu lệnh để có quyền quản trị viên
wilfo

Điều kỳ lạ là, điều này xen kẽ giữa trái và phải mỗi khi tôi mở nó khi tôi đặt 'Vị trí trình khởi chạy' chỉ cho màn hình bên trái. Đặt nó sang bên phải sẽ khiến nó hoạt động mọi lúc.
rmobis

3
Đúng rồi. Nhận xét của bạn đã khiến tôi cài đặt phiên bản Guake mới nhất (từ ppa này: https://launchpad.net/~webupd8team/+archive/ubuntu/unstablevà dường như họ đã tạo ra nó để bây giờ bạn có thể chọn giữa thiết bị đầu cuối xuất hiện trên màn hình con chuột đang ở hoặc khóa nó vào một màn hình cụ thể, mà tôi đoán là một giải pháp đủ tốt theo quan điểm của tôi
wilfo

Nhận xét của @ wilfo xác định các bản cập nhật từ các nhà phát triển ban đầu cung cấp giải pháp đơn giản nhất. Các tính năng tích hợp của Guake 0.7.2 thêm khả năng thiết lập màn hình cũng như nhiều cài đặt hữu ích khác.
Steven C. Howell

2

Giải pháp rất đơn giản, vì bạn muốn căn chỉnh màn hình Guake của mình với màn hình bên tay phải để ở vị trí bắt đầu (x, y) của màn hình, y tọa độ sẽ giống nhau, nghĩa là nó sẽ bắt đầu từ 0 nhưng x tọa độ sẽ thay đổi và nó phải bằng chiều rộng của màn hình bên trái của bạn. Để có thể làm điều này bạn cần làm 2 việc.

I. Thay đổi số màn hình thành 1, như đề xuất ở trên. Trong dòng

window_rect = screen.get_monitor_geometry (0)

Thay 0 bằng 1.

II. Thêm chiều rộng màn hình đầu tiên ở vị trí x bắt đầu phối hợp. để làm điều này.

Thay thế

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

Bởi

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

Khi bạn thực hiện những thay đổi này và khởi động lại guake (Thoát và bắt đầu lại), bạn sẽ nhận được sự liên kết mong muốn của màn hình Guake.

Hi vọng điêu nay co ich :)


1

Tôi cũng đặt ra một câu hỏi: guake ở màn hình bên phải trong môi trường hiển thị kép - Ubuntu 15.10 (Wily Werewolf))

Trong Ubuntu 15.10 guake đã thay đổi một chút. Để thay đổi thiết bị đầu cuối của bạn sang đúng màn hình, bạn phải chỉnh sửa:

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

sau đó thay đổi trong dòng 831:

window_rect = screen.get_monitor_geometry(monitor)

bởi:

window_rect = screen.get_monitor_geometry(1)

giết và khởi động lại

Bất cứ ai cũng biết một cách để làm điều này ít hacky?


1

Như lalit đã nói, cách tốt nhất mà tôi tìm thấy để làm điều này trên Ubuntu 14.04LTS là thay đổi

window_rect = screen.get_monitor_geometry(0)

đến

window_rect = screen.get_monitor_geometry(0)

nhưng thay đổi

    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

đến

 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

Sự khác biệt duy nhất của nó trong "nếu" đầu tiên, mà không cần thêm "tổng_ mật khẩu" vào "cửa sổ" window_rect.x "xuất hiện ở giữa màn hình bên trái của tôi.

PS: Xin lỗi Lalit nhưng tôi không thể thêm bình luận vào bài viết của bạn vì tôi chưa có điểm nào = (


1

Giải pháp của wilfo không hiệu quả với tôi. Trong trường hợp của tôi, tôi đã giải quyết trên Linux Mint với đoạn mã sau:

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

Tôi lấy nó từ đây , nhưng tôi đổi 80thành 100.


1

Tin tốt!

Trên phiên bản 0.8.5, Guake sẽ được hiển thị trên màn hình hoạt động, do đó bạn không phải chỉnh mã Guake nữa.


phiên bản 0.5.0 (phiên bản trong ub Ubuntu repo) cũng hỗ trợ nó:apt-get install --only-upgrade guake
Artur Klesun 7/12/2016

0

Tôi chưa thử nghiệm điều này nhưng tôi nghĩ bạn chỉ có thể chỉnh sửa / usr / bin / guake vì đây là tập lệnh python.

Tìm thấy

window_rect = screen.get_monitor_geometry(0) #line 824 trên máy của tôi

và thay đổi 0 thành chỉ mục của màn hình mà bạn muốn hiển thị.


1
Tôi chỉnh sửa dòng 0để 1trong /usr/lib/guake/guake.py. Và khởi động lại guake, nhưng không có gì thay đổi.
ironsand

0

Chỉ cần thêm vào câu trả lời của smartmouse và wilfo, một khi bạn thực hiện thay đổi thành / usr / bin / guake thì bạn phải khởi động lại một cách khó khăn. Đăng xuất khỏi phiên guake không kết thúc quá trình Guake.

Mở màn hình hệ thống và tắt tiến trình ứng dụng guake sau đó khởi động lại


0

Tôi đã phải thay đổi điều này trên Ubuntu 16.04 LTS với 2 màn hình.

Tôi đã thử các phương pháp trên nhưng nhận ra mã đã thay đổi kể từ đó. Tôi đã đi vào ~/.gconf/apps/guake/generalvà chỉnh sửa %gconf.xmlvà thay đổi display_n (int)từ 0thành 1cho màn hình thứ 2 của tôi.

Hi vọng điêu nay co ich :)


-1

Tôi dùng thử trong Ubuntu 14.04, tôi thấy bạn chỉ cần nhấp vào "Tùy chọn" tại biểu tượng guake (màn hình trên cùng bên phải) trong một trong hai màn hình, sau đó nhấp vào "Hiển thị" trong cùng một màn hình, sau đó bạn có thể thấy thiết bị đầu cuối guake bật ra ở màn hình bạn đang sử dụng !!!


Không rõ ràng (ít nhất là với tôi) cách tiếp cận này sẽ "đặt Monitor_index" Bạn có thể chỉnh sửa câu trả lời này để làm rõ cách nó trả lời câu hỏi không? Cảm ơn bạn!
Anh Cả Geek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.