ssokolow / quicktile

Adds window-tiling hotkeys to any X11 desktop. (An analogue to WinSplit Revolution for people who don't want to use Compiz Grid)
https://ssokolow.com/quicktile/
GNU General Public License v2.0
869 stars 78 forks source link

emacs windows don't tile to edge of screen. #139

Closed mooseyboots closed 1 year ago

mooseyboots commented 1 year ago

not sure if this is a quicktile issue, but thought to still check in.

first thx for qt, i rly enjoy it.

i have no problems with windows hitting the edge on internal and external monitors, except for emacs windows, which leave a gap on all three sides after tiling.

bottom gap is as high as my mouse pointer, top much smaller, side about as wide as my mouse pointer.

the only case where this partially doesn't happen is if i use the move-to-top-/bottom-x commands, they send it to the nominated corner properly, but without filling out in the other directions (as i presume they aren't supposed to).

if you have any ideas, i'd be all ears.

EDIT: i just noticed an exception: Ctrl-Alt 0 correctly maximizes the window fully.

ssokolow commented 1 year ago

I don't personally use emacs, but I have a potential candidate, based on my experience with some versions of Vim and some terminal emulators.

Does emacs jump between character cell-sized steps when you resize it using the mouse? If so, then it's not a QuickTile problem, but a "The window manager is obeying Emacs's request to limit what sizes it can take" problem. (and QuickTile can't force anything. It just asks the window manager to perform tasks, pretty please.)

muello commented 1 year ago

I too get what I've always assumed to be the nearest character-cell-sized step when calling e.g. vertical-maximize on an emacs window (aka a frame, in emacs terminology). On the other hand, if I use xfwm's maximize window keyboard shortcut, the emacs window covers all the available real estate.

mooseyboots commented 1 year ago

thanks a lot for the pointer @ssokolow .

(setq frame-resize-pixelwise t) in emacs init file fixes this.