I use 1 external monitor. I tried to hack the source code but without results.
The screenshots shown here, clearly illustrate the bug.
OS: Gentoo
DE: Gnome 3.16.2
Guake: 0.8.0
Monitors' disposition:

Fullscreen:
Configuration:

Screens' view:
_Guake open on monitor 1 (here the behaviour is correct):_

_Guake open on monitor 2 (doesn't work here, it doesn't even show on the other side):_

Using custom width while being centered:
Configuration:

Screens' view:
_Guake open on monitor 1 (it doesn't appear on the selected monitor, instead it is incorrectly placed on the other monitor):_

_Guake open on monitor 2 (here, the behaviour is correct):_

yes this is a bad designed code that need to be completely reworked... I don't have this setup here so it is hard for me to reproduce it, but there is still some bugs in the window placement. And Gtk2 doesn't help us a lot
OS: Ubuntu 14.04
DE: Fluxbox 1.3.5-2
Guake: 0.8.1
I had exactly the same problem on my Ubuntu box.
I recently upgraded to the last version of guake (which I loooove), not the one inside the ubuntu repositories on my laptop. Later, I decided to install it as well on my dual monitor desktop.
However, because I cannot configure it to display only on my second screen, I uninstalled it and backed up to the version in the ubuntu repo (0.4.4-1ubuntu1).
I use fluxbox as a window manager, and I can resize and move guake 0.4.4 without any problem to put it on my second screen, while all my shortcuts to move the windows do not work at all with the latest guake version. If at least I could have resized it manually I would have kept the latest version.
This might be related to #668, especially since the placement is changed to right aligned even when prefs is set to center. Try using a smaller window height and see if that helps.
I also have issues with guake (version 0.5.0-2) popping up on the opposite monitor from where my mouse and focus are, or being sized for the wrong monitor on Ubuntu 15.04 (Vivid Vervet) though it was generally fine in 14.04 and 14.10 (don't remember ever any issues on those older OS versions).
A lengthy attempt at recording my observations follows...
I have two monitors, my "main" one widescreen ratio and the other one old 4:3 ratio of the same height. Sometimes guake behaves as it used to and as I expect, and sometimes when I press the shortcut key it arrives on the other monitor from which I expect.
If I stick to ignoring my other monitor and keep mouse+app focus on the main monitor, it usually works as I expect and as it used to on previous Ubuntu's - full width for that monitor at expected height.
If I move mouse to other monitor then press my assigned shortcut key to pop up Guake terminal (hereafter I'll just say "press shortcut") it will popup on the main monitor with the width for the other monitor (ie. too narrow for the main one). If I press shortcut twice more, it disappears then re-appear on the other monitor, with full width for that monitor, and not come back to the main monitor after repeated shortcut key presses until I move the mouse over to the other monitor, when it will pop up on the main wider monitor but at the alternative monitor's width (ie. too narrow) the first time after returning mouse to that monitor. But then the next popup after that one (no other change) will come back to the narrow monitor.
I get the feeling its finding out which monitor it should be on then applying that after its done the popup for the current keypress, so the next popup goes on that monitor but the current one (from this keypress) will be on the monitor you were on. Except that doesn't seem to apply consistently through my testing..
Sometimes if I press shortcut twice after a popup (whether "wrong" or "right" monitor), it will disappear then appear on the other monitor without any other action on my part, and then maybe starts preferring the opposite monitor my mouse is on if I repeat this while switching mouse to the other monitor.
Once its back to behaving it will carry on behaving until I press shortcut while on the other monitor, though often it won't have fully recovered and will come up with the left terminal window edge a little bit inset from the left screen edge.
Guake is now at 0.8.3, maybe you could try a more recent version?
if not self.is_fullscreen:
window_rect = self.set_final_window_rect()
(https://github.com/Guake/guake/blob/master/src/guake/guake_app.py#L783)
Display is selected inside get_final_window_monitor() which is called from set_final_window_rect(). If guake is in fullscreen, it won't follow mouse.
Hmm, this is now affecting me with three monitors, it won't display on the right most monitor.
The setting for which monitor to display does not work at all on Fedora 24 (guake 0.8.7). It always opens on the secondary monitor, no matter what I select in the options (follow mouse or primary monitor). I want it to always show on the laptop display (primary) but it always shows on the secondary one.
can you start guake from a terminal and copy/paste the log each time you diplay guake?
I started guake from a terminal, started it, all I get is this:
`[gpulido@rhlaptop ~]$ guake
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
(guake:5956): libglade-WARNING **: unknown attribute `swapped' for
INFO:guake.guake_app:Logging configuration complete
^[[24~^[[24~/usr/lib/python2.7/site-packages/guake/guake_app.py:883: GtkWarning: IA__gtk_window_set_type_hint: assertion '!gtk_widget_get_mapped (GTK_WIDGET (window))' failed
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)
/usr/lib/python2.7/site-packages/guake/guake_app.py:884: GtkWarning: IA__gtk_window_set_type_hint: assertion '!gtk_widget_get_mapped (GTK_WIDGET (window))' failed
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_NORMAL)
`
Thanks!!
So...has this been looked at? It's really annoying that no matter what I choose in preferences, guake always displays on the external display. Thanks!!
@gapf2010 Had a same problem, I tried to live with it. Finally I updated to 0.8.8, but that did not fix problem. What helped, was to move sliders with width and height of the window. Then the smaller window started to behave as intended. Follows mouse, displays on primary/X monitor based on select. I suspect, that in initial state there has been set some bad value set(too high?, wrong?), that causes sliders to be set at full, but calculation of positioning is wrong. Great would be to see the numbers that are set in config (gconf-editor /app/guake/generat/window_width) before you move them. And now all works even when it is set back to my original values(same as yours - full width , full height). Maybe it will work for you either.
@snoblucha You rock man that did it, guys just go preferences and reduce the height and it will start behaving just fine
@snoblucha That did it for me. The error seems to be tied to the Fullscreen mode. I didn't touch the sliders, but turned that setting off and restarted. It immediately started to behave correctly. If I toggle it on in the context menu of the terminal, it's stuck in one monitor and ignores the position of the mouse.
In Ubuntu, on Displays settings, chaging to "display launcher" on only one display (the desired main one for guake), fixed for me.
Thanks, simply the height reduction fixed my issues.
Three years later and I still have the same issue.
I use a monitor above my notebook and the Guake opens a half in the notebook (upside) and a half in the monitor (downside).
Hi. Do not hesitate to open your favorite code editor and propose a solution !
I fixed it also changing the width and putting a fixed monitor. Is problematic as from time to time I work on the other monitor
Most helpful comment
@gapf2010 Had a same problem, I tried to live with it. Finally I updated to 0.8.8, but that did not fix problem. What helped, was to move sliders with width and height of the window. Then the smaller window started to behave as intended. Follows mouse, displays on primary/X monitor based on select. I suspect, that in initial state there has been set some bad value set(too high?, wrong?), that causes sliders to be set at full, but calculation of positioning is wrong. Great would be to see the numbers that are set in config (gconf-editor /app/guake/generat/window_width) before you move them. And now all works even when it is set back to my original values(same as yours - full width , full height). Maybe it will work for you either.