Я хочу использовать Guake
в правильном мониторе.
Таким образом, я добавил этот ppa sudo add-apt-repository ppa:cberner/guake
, и sudo apt-get update
.
https://launchpad.net / ~ cberner / + archive/guake / + индекс? поле series_filter=raring
В инструкции говорится, что я могу установить monitor_index
так или иначе. Но я не мог найти, как настроить.
Кто-то знает об этом?
Я использую два монитора и хотел, чтобы 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
в качестве индекса монитора и позже, добавляет, что правильный экран width к дисплею стартовой точки окна
землетрясения надеется, что это помогает!
Решение очень просто, поскольку Вы хотите выровнять свой экран Guake к Вашему монитору правой стороны, таким образом, в стартовой позиции (x, y) экрана, y координата будет тем же, т.е. это запустится от 0, но координата x изменится, и это должно быть равно ширине Вас монитор левой стороны. Чтобы быть в состоянии сделать это, необходимо сделать 2 вещи.
я. Число монитора изменения к 1, как предложено выше. В строке
window_rect = экранная get_monitor_geometry (0)
Замена 0 1.
II. Добавьте первый экран width в 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.
Hope это помогает:)
Я также сделал это вопросом: землетрясение в мониторе правой стороны в двойной окружающей среде показа - Ubuntu 15.10 (Коварный Оборотень))
Во время землетрясения Ubuntu 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)
убивают и перезапускают землетрясение
, Кто-либо знает способ сделать это меньше hacky?
Как 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
единственная разница в первом, "если", не добавляя "total_width" к "window_rect.x" землетрясению появляется посреди моего левого монитора.
P.S.: Жаль Lalit, но я не могу добавить комментарий к Вашему сообщению, так как у меня еще нет точек = (
Решение 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
я беру его от здесь , но я изменился 80
на 100
.
Хорошие новости!
На версии 0.8.5, Guake будет отображен на активном мониторе, таким образом, Вы не должны будете больше настраивать код Guake.
Я не протестировал это, но я думаю, что можно просто отредактировать/usr/bin/guake, так как это - сценарий Python.
Находят
window_rect = screen.get_monitor_geometry(0)
#line 824 на моей машине
и изменяют 0 на индекс монитора, в котором Вы хотите, чтобы землетрясение отобразилось.
Только для добавления к smartmouse и ответам wilfo, после того как Вы вносите изменение в/usr/bin/guake, к которому Вы затем имеете к "жесткому" перезапуску. Выходить из сессии землетрясения не заканчивает процесс Guake.
монитор Открытой системы и уничтожает процесс приложения землетрясения, затем перезапускают
Я должен был изменить это на Ubuntu 16.04 LTS с 2 мониторами.
я пробовал вышеупомянутые методы, но понял, что код изменился с тех пор. Я вошел ~/.gconf/apps/guake/general
и отредактировал %gconf.xml
и изменился display_n (int)
с 0
до 1
для моего 2-го монитора.
Hope это помогает :)
Я пробую в Ubuntu 14.04, я нашел, что просто необходимо нажать "Preferences" на значок землетрясения (правильный главный экран) в любом мониторе, затем нажать "Show" в том же мониторе, затем Вы видите терминал землетрясения, всплывающий в мониторе, который Вы используете!!!