unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Joost Kremers <joostkremers@fastmail.fm>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: split-window-right doesn't work with wide margins
Date: Fri, 22 Jan 2016 12:05:07 +0100	[thread overview]
Message-ID: <56A20CE3.3050900@gmx.at> (raw)
In-Reply-To: <874me6kljl.fsf@fastmail.fm>

 > May I ask what the rationale for this change of behaviour was? (I
 > scanned the thread discussing your patch but I didn't see any mention of
 > it.)

Emacs emulates a tiling window manager.  One major complication results
from the fact that frames can get resized continuously.  Traditional
tiling window managers don't have to cope with the problem that a screen
gets resized or its resolution being changed frequently.

The window code lacked a coherent mechanism to determine whether to
refuse a change of any of a window's size or that of its components.
Earlier Emacsen were allowed to delete windows when shrinking the frame
or enlarging other windows.  Later versions did not restore the original
size of windows when shrinking a frame and restoring its previous size
afterwards.  And there were versions that allowed to shrink a window's
margins when shrinking its frame and not restoring them when enlarging
the frame again.

A main motivation of the later changes was to allow users to smoothly
switch from a maximized/fullscreen frame to a normal one and back to the
maximized/fullscreen frame such that the size and layout of windows in
the respective maximized/fullscreen frames do not differ.  I hope I
succeeded removing most associated problems by now.  Some of them might
still be present though.

 >>   This will, however, affect user-set margins that are
 >> _not_ continuously refreshed via a hook.
 >
 > Does that happen? Users setting window margins, I mean?

To my experience the first margins continuously refreshed by a hook were
introduced by ‘line-number-mode’.  Till then, margins were usually
specified once per buffer and kept their original size until the buffer
was killed.  But my memory might fail.

martin




  reply	other threads:[~2016-01-22 11:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-18  9:31 split-window-right doesn't work with wide margins Joost Kremers
2016-01-18 10:30 ` martin rudalics
2016-01-20 12:58   ` Joost Kremers
2016-01-20 19:43     ` martin rudalics
2016-01-22  9:31       ` Joost Kremers
2016-01-22 11:05         ` martin rudalics [this message]
2016-03-01 15:48       ` Joost Kremers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56A20CE3.3050900@gmx.at \
    --to=rudalics@gmx.at \
    --cc=emacs-devel@gnu.org \
    --cc=joostkremers@fastmail.fm \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).