Je veux utiliser Guake
au moniteur de droite.
J'ai donc ajouté ce ppa par Sudo add-apt-repository ppa:cberner/guake
et Sudo apt-get update
.
https://launchpad.net/~cberner/+archive/guake/+index?field.series_filter=raring
L'instruction dit que je peux définir monitor_index
en quelque sorte. Mais je n'ai pas pu trouver comment configurer.
Est-ce que quelqu'un sait à ce sujet?
J'utilise deux écrans et je voulais que Guake soit affiché à droite (où par défaut, il est affiché à gauche).
Ce que j'ai fait était de modifier mon fichier /usr/bin/guake/
en remplaçant la méthode get_final_window_rect
par ceci:
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
Fondamentalement, il utilise 1
comme index du moniteur, puis ajoute la largeur d'écran de droite à l'affichage du point de départ de la fenêtre guake.
j'espère que cela t'aides!
La solution est très simple, car vous souhaitez aligner votre écran Guake sur votre moniteur de droite, donc en position de départ (x, y) de l'écran, la coordonnée y sera identique, c'est-à-dire qu'elle commencera à 0 mais la coordonnée x va changer et il devrait être égal à la largeur de votre moniteur de gauche. Pour pouvoir faire cela, vous devez faire 2 choses.
I. Modifiez le numéro du moniteur en 1, comme suggéré ci-dessus. En ligne
window_rect = screen.get_monitor_geometry (0)
Remplacez 0 par 1.
II. Ajouter la première largeur d'écran en position x de la coordonnée de départ. pour faire ça.
Remplacer
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
Par
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
Une fois que vous avez effectué ces modifications et redémarré guake (Quittez et recommencez), vous devriez obtenir l’alignement souhaité de l’écran Guake.
J'espère que cela t'aides :)
J'ai également fait à ceci une question: guake au moniteur de droite dans un environnement à double affichage - Ubuntu 15.10 (Wily Werewolf)))
Dans Ubuntu 15.10, guake a un peu changé. Pour changer votre terminal sur le bon moniteur, vous devez éditer:
Sudo vim /usr/lib/python2.7/dist-packages/guake/guake_app.py
puis changez à la ligne 831:
window_rect = screen.get_monitor_geometry(monitor)
par:
window_rect = screen.get_monitor_geometry(1)
tuer et redémarrer guake
Quelqu'un sait un moyen de faire cela moins hacky?
Bonnes nouvelles!
Sur la version 0.8.5, Guake sera affiché sur le moniteur actif, vous n’aurez donc plus à modifier le code de Guake.
Comme lalit l’a dit, la meilleure façon que j’ai trouvée de le faire sur Ubuntu 14.04LTS était de changer
window_rect = screen.get_monitor_geometry(0)
à
window_rect = screen.get_monitor_geometry(0)
mais changeant
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
La seule différence est dans le premier "if", sans ajouter "total_width" à "window_rect.x" guake apparaît au milieu de mon moniteur gauche.
P.S: Désolé Lalit mais je ne peux pas ajouter de commentaire à ton message car je n’ai pas encore de points = (
La solution de wilfo ne fonctionne pas pour moi. Dans mon cas, j'ai résolu le problème avec Linux Mint avec le code suivant:
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
Je le prends de ici , mais j'ai changé 80
en 100
.
J'ai dû changer cela sur Ubuntu 16.04 LTS avec 2 moniteurs.
J'essayais les méthodes ci-dessus, mais je réalisais que le code avait changé depuis. Je suis allé dans ~/.gconf/apps/guake/general
et édité %gconf.xml
et ai changé display_n (int)
de 0
à 1
pour mon deuxième moniteur.
J'espère que cela t'aides :)
Je n'ai pas testé cela, mais je pense que vous pouvez simplement éditer/usr/bin/guake puisqu'il s'agit d'un script python.
Trouver
window_rect = screen.get_monitor_geometry(0)
#line 824 sur ma machine
et remplacez le 0 par l’index du moniteur que vous souhaitez afficher dans.
Juste pour ajouter aux réponses de smartmouse et de wilfo, une fois que vous avez effectué la modification dans/usr/bin/guake, vous devez procéder à un redémarrage brutal. La déconnexion de la session guake ne met pas fin au processus Guake.
Ouvrez le moniteur système et arrêtez le processus d'application guake, puis redémarrez.