วิธีใช้ guake ที่จอภาพด้านขวาในสภาพแวดล้อมการแสดงผลคู่


21

ฉันต้องการใช้Guakeที่จอภาพขวา

ดังนั้นผมจึงเพิ่ม ppa นี้โดยและsudo add-apt-repository ppa:cberner/guakesudo 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เป็นดัชนีจอภาพและในภายหลังเพิ่มความกว้างของหน้าจอด้านขวาให้กับจุดเริ่มต้นการแสดงผลของหน้าต่าง guake

หวังว่านี่จะช่วยได้!


คุณเปิดไฟล์นั้นเพื่อแก้ไขได้อย่างไร ฉันทำได้ผ่าน xdg-open $ file แต่มันเปิดเป็นแบบอ่านอย่างเดียว
วิน

โปรแกรมแก้ไขข้อความใด ๆ ที่จะทำใช้sudoที่จุดเริ่มต้นของคำสั่งเพื่อให้มีสิทธิ์ผู้ดูแลระบบ
wilfo

อย่างผิดปกติตัวเลือกนี้สลับระหว่างซ้ายและขวาทุกครั้งที่ฉันเปิดมันเมื่อฉันตั้ง 'ตำแหน่งวาง' สำหรับจอภาพซ้ายเท่านั้น การตั้งค่าให้ถูกต้องทำให้ทุกครั้งทำงาน
rmobis

3
มันเป็นความจริง. ความคิดเห็นของคุณทำให้ฉันติดตั้ง Guake เวอร์ชันล่าสุด (จาก ppa นี้: https://launchpad.net/~webupd8team/+archive/ubuntu/unstableและดูเหมือนว่าพวกเขาได้ทำให้ตอนนี้คุณสามารถเลือกระหว่างเทอร์มินัลที่ปรากฏบนหน้าจอเมาส์เป็นหรือล็อคไปที่หน้าจอเฉพาะ ซึ่งฉันคิดว่าเป็นทางออกที่ดีพอในความคิดของฉัน
wilfo

@ ความคิดเห็นของ wilfo ที่ระบุการปรับปรุงจากนักพัฒนาดั้งเดิมให้วิธีแก้ปัญหาที่ง่ายที่สุด ฟีเจอร์ในตัวของ Guake 0.7.2 เพิ่มความสามารถในการตั้งค่าการแสดงผลรวมถึงการตั้งค่าที่มีประโยชน์อื่น ๆ อีกมากมาย
สตีเวนซีโฮเวล

2

วิธีการแก้ปัญหานั้นง่ายมากเพราะคุณต้องการจัดตำแหน่งหน้าจอ Guake ของคุณไปยังจอภาพด้านขวามือดังนั้นในตำแหน่งเริ่มต้น (x, y) ของหน้าจอพิกัด y จะเหมือนกันนั่นคือเริ่มจาก 0 แต่พิกัด x จะเปลี่ยนและมันควรจะเท่ากับความกว้างของคุณที่ด้านซ้ายของจอมอนิเตอร์ เพื่อให้สามารถทำสิ่งนี้คุณต้องทำ 2 สิ่ง

I. เปลี่ยนหมายเลขจอภาพเป็น 1 ตามที่แนะนำข้างต้น อยู่ในแนว

window_rect = screen.get_monitor_geometry (0)

แทนที่ 0 ด้วย 1

ครั้งที่สอง เพิ่มความกว้างของหน้าจอแรกในตำแหน่ง 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

ฉันยังทำคำถามนี้: guake ที่จอภาพด้านขวาในสภาพแวดล้อมการแสดงผลแบบคู่ - Ubuntu 15.10 (Wily Werewolf)

ใน Ubuntu 15.10 guake มีการเปลี่ยนแปลงเล็กน้อย ในการเปลี่ยนเทอร์มินัลของคุณเป็นจอภาพที่ถูกต้องคุณต้องแก้ไข:

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)

ฆ่าและรีสตาร์ท guake

ใครรู้วิธีที่จะทำแฮ็คนี้น้อยลงหรือไม่


1

ตามที่ lalit กล่าววิธีที่ดีที่สุดที่ฉันพบว่าทำบน Ubuntu 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

ความแตกต่างเพียงอย่างเดียวในครั้งแรก "ถ้า" โดยไม่เพิ่ม "total_width" ใน "window_rect.x" guake ปรากฏขึ้นตรงกลางของจอภาพด้านซ้ายของฉัน

PS: ขออภัย 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 code อีกต่อไป


รุ่น 0.5.0 (หนึ่งในอูบุนตู repo) รองรับเช่นกัน:apt-get install --only-upgrade guake
Artur Klesun

0

ฉันยังไม่ได้ทดสอบสิ่งนี้ แต่ฉันคิดว่าคุณสามารถแก้ไข / usr / bin / guake เนื่องจากเป็นสคริปต์ python

หา

window_rect = screen.get_monitor_geometry(0) #line 824 บนเครื่องของฉัน

และเปลี่ยน 0 เป็นดัชนีของจอภาพที่คุณต้องการให้ guake แสดง


1
ฉันแก้ไขบรรทัด0ไปใน1 /usr/lib/guake/guake.pyและรีสตาร์ท guake แต่ไม่มีอะไรเปลี่ยนแปลง
เตารีดและ

0

เพียงเพิ่มคำตอบของ smartmouse และ wilfo เมื่อคุณทำการเปลี่ยนแปลง / usr / bin / guake คุณต้องทำการรีสตาร์ทอย่างหนัก การออกจากระบบของเซสชัน guake ไม่ได้สิ้นสุดกระบวนการ Guake

เปิดการตรวจสอบระบบและฆ่ากระบวนการแอ็พพลิเคชัน guake จากนั้นรีสตาร์ท


0

ฉันต้องเปลี่ยนสิ่งนี้บน Ubuntu 16.04 LTS ด้วย 2 จอภาพ

ฉันลองใช้วิธีการข้างต้น แต่รู้ตัวว่ามีการเปลี่ยนแปลงรหัสตั้งแต่ ฉันเข้าสู่~/.gconf/apps/guake/generalและแก้ไข%gconf.xmlและเปลี่ยนdisplay_n (int)จาก0เป็น1จอภาพที่สองของฉัน

หวังว่าจะช่วย :)


-1

ฉันลองใน Ubuntu 14.04 ฉันพบว่าคุณเพียงแค่คลิก "การตั้งค่า" ที่ไอคอน guake (หน้าจอด้านบนขวา) ในจอภาพทั้งสองจากนั้นคลิก "แสดง" ในจอภาพเดียวกันจากนั้นคุณจะเห็นขั้ว guake ปรากฏขึ้นที่หน้าจอของคุณ กำลังใช้ !!!


ยังไม่ชัดเจน (อย่างน้อยสำหรับฉัน) วิธีการนี้จะ "ตั้งค่า monitor_index" คุณสามารถแก้ไขคำตอบนี้เพื่อชี้แจงว่ามันตอบคำถามได้อย่างไร ขอขอบคุณ!
Elder Geek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.