듀얼 디스플레이 환경에서 오른쪽 모니터에서 구이 크를 사용하는 방법


21

Guake올바른 모니터에서 사용하고 싶습니다 .

그래서 나는하여이 PPA를 추가 sudo add-apt-repository ppa:cberner/guake하고 sudo apt-get update.

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

지시는 monitor_index어떻게 든 설정할 수 있다고 말합니다 . 그러나 구성 방법을 찾을 수 없습니다.

누군가 이것에 대해 알고 있습니까?

답변:


21

나는 두 개의 모니터를 사용하고 Guake가 오른쪽에 표시되기를 원했습니다 (기본적으로 왼쪽에 표시됩니다).

내가 한 일은 메소드를 다음과 같이 /usr/bin/guake/바꾸어 파일 을 편집하는 것이 었습니다 get_final_window_rect.

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

기본적으로 1모니터 색인으로 사용되며 나중에 구석 창의 시작점 표시에 오른쪽 화면 너비를 추가합니다.

이것이 도움이되기를 바랍니다!


파일을 편집하기 위해 파일을 어떻게 열었습니까? 나는 xdg-open $ file을 통해 그것을했지만 읽기 전용으로 열립니다.
케빈

모든 텍스트 편집기는 sudo명령의 시작 부분에서 관리자 권한을 갖도록 사용합니다
wilfo

이상하게도 왼쪽 모니터에 대해서만 '실행기 배치'를 설정할 때 열 때마다 왼쪽과 오른쪽이 번갈아 나타납니다. 올바른 것으로 설정하면 매번 작동합니다.
rmobis

3
사실입니다. 귀하의 의견은 내 설치를 최신 버전의 Guake https://launchpad.net/~webupd8team/+archive/ubuntu/unstable로 만들었습니다. 내 의견으로는 충분한 해결책이라고 생각합니다
wilfo

원래 개발자의 업데이트를 식별하는 @wilfo의 의견이 가장 간단한 솔루션을 제공합니다. Guake 0.7.2의 내장 기능은 디스플레이를 설정하는 기능과 기타 여러 유용한 설정을 추가합니다.
Steven C. Howell

2

화면의 시작 위치 (x, y)에서 Guake 화면을 오른쪽 모니터에 맞추고 싶을 때 y 좌표가 동일합니다. 즉 0에서 x 좌표로 시작합니다. 왼쪽 모니터의 너비와 같아야합니다. 이 작업을 수행하려면 두 가지 작업을 수행해야합니다.

I. 위에서 제안한대로 모니터 번호를 1로 변경하십시오. 인라인

window_rect = screen.get_monitor_geometry (0)

0을 1로 바꿉니다.

II. 시작 좌표의 x 위치에 첫 번째 화면 너비를 추가하십시오. 이것을하기 위해.

바꾸다

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

으로

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

이 변경 사항을 수행하고 guake를 다시 시작하면 (종료 한 후 다시 시작) 원하는 Guake 화면 정렬이 표시됩니다.

희망이 있습니다 :)


1

나는 또한이 질문을했다 : 듀얼 디스플레이 환경의 오른쪽 모니터에서 구워-우분투 15.10 (Wily Werewolf))

우분투 15.10에서는 구이 크가 약간 변경되었습니다. 터미널을 올바른 모니터로 변경하려면 편집해야합니다.

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

그런 다음 831 행에서 변경하십시오.

window_rect = screen.get_monitor_geometry(monitor)

으로:

window_rect = screen.get_monitor_geometry(1)

구크를 죽이고 다시 시작

아무도 이것을 덜 해킹하는 방법을 알고 있습니까?


1

Lalit이 말했듯이 우분투 14.04LTS 에서이 작업을 수행하는 가장 좋은 방법은 변경되었습니다.

window_rect = screen.get_monitor_geometry(0)

window_rect = screen.get_monitor_geometry(0)

그러나 변화

    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

 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

"window_rect.x"에 "total_width"를 추가하지 않고 첫 번째 "if"의 유일한 차이점은 왼쪽 모니터의 중간에 나타납니다.

추신 : 죄송하지만 Lalit은 아직 포인트가 없기 때문에 게시물에 댓글을 추가 할 수 없습니다 = (


1

wilfo의 솔루션은 나에게 효과가 없습니다. 제 경우에는 다음 코드를 사용하여 Linux Mint에서 해결했습니다.

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

나는 그것을 가져 가려고 여기에 ,하지만 난 변화 80100.


1

좋은 소식!

버전 0.8.5에서는 Guake가 활성 모니터에 표시되므로 더 이상 Guake 코드를 조정할 필요가 없습니다.


버전 0.5.0 (우분투 저장소에있는 버전)도 지원합니다 :apt-get install --only-upgrade guake
Artur Klesun

0

나는 이것을 테스트하지는 않았지만 파이썬 스크립트이기 때문에 / usr / bin / guake 만 편집 할 수 있다고 생각합니다.

발견

window_rect = screen.get_monitor_geometry(0) 내 컴퓨터의 #line 824

guake를 표시하려는 모니터의 인덱스로 0을 변경하십시오.


1
에서 줄 0을 수정 1했습니다 /usr/lib/guake/guake.py. 그리고 guake를 다시 시작하지만 아무것도 변경되지 않습니다.
ironsand

0

smartmouse와 wilfo의 답변에 추가하기 위해 / usr / bin / guake를 변경 한 후에는 강제로 다시 시작해야합니다. Guake 세션에서 로그 아웃해도 Guake 프로세스가 종료되지 않습니다.

시스템 모니터를 열고 guake 응용 프로그램 프로세스를 종료 한 다음 다시 시작하십시오.


0

우분투 16.04 LTS에서 2 대의 모니터로 이것을 변경해야했습니다.

위의 방법을 시도했지만 코드가 변경된 것을 깨달았습니다. 두 번째 모니터에 들어가서 ~/.gconf/apps/guake/general편집 %gconf.xml하고 display_n (int)에서 0로 변경 했습니다 1.

희망이 있습니다 :)


-1

Ubuntu 14.04에서 시도한 결과 모니터 중 하나에서 guake 아이콘 (오른쪽 상단 화면)의 "Preferences"를 클릭 한 다음 같은 모니터에서 "Show"를 클릭하면 모니터에서 Guake 터미널이 튀어 나오는 것을 볼 수 있습니다. 사용하고 있습니다 !!!


그것은이 접근 할 것이다 "세트 monitor_index는"당신이 수있는 방법 (적어도 나에게) 분명하지 않다 편집 이 질문에 대답하는 방법을 명확하게이 답변을? 고맙습니다!
Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.