The issue seems to be the same as reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1146297 Basically, some window managers (e.g., sawfish, twm) don't set windows' _NET_FRAME_EXTENTS, and firefox relies on this property to determine the widget position (?). A gross workaround for sawfish would be: (define (set-net-frame-extents! w) (let* ((w-dim (window-dimensions w)) (f-dim (window-frame-dimensions w)) (h-border (round (/ (- (car f-dim) (car w-dim)) 2))) (v-border (round (/ (- (cdr f-dim) (cdr w-dim)) 2)))) (set-x-property w '_NET_FRAME_EXTENTS (vector h-border h-border v-border v-border) 'CARDINAL 32))) (assuming the window frame is horizontally symmetric).