From: "Drew Adams" <drew.adams@oracle.com>
To: "Bastien" <bzg@altern.org>, <emacs-devel@gnu.org>
Subject: RE: New keybinding suggestion: C-x _ for `shrink-window'
Date: Fri, 2 Nov 2007 07:28:10 -0700 [thread overview]
Message-ID: <BNELLINCGFJLDJIKDGACIEGICEAA.drew.adams@oracle.com> (raw)
In-Reply-To: <87prysd8n6.fsf@bzg.ath.cx>
> >> I think that is worth trying. To make it convenient we need
> >> a key binding for window-resize. How about C-x _?
> >
> > FWIW - This is trivial to do with Do Re Mi. Function `doremi' lets you
> > increment or decrement anything repeatedly, using the arrow keys or a
> > mouse wheel (or both). It is made for this kind of thing.
>
> I tested it and it worked okay. But:
> 1. why using the <up> arrow key to increment the window vertical size?
You can use any key you want. By default, the `up' key increases a value,
and `down' decreases it.
In some cases, it is more logical (can seem more natural) to have `up'
decrease a value - for example, when it decreases frame height (it moves the
frame bottom up). In some cases, it is more logical to have `left' and
`right' increase/decrease a value - for example, to move a frame left/right
or to resize it horizontally.
When two dimensions are used, as for window or frame resizing or frame
positioning, it makes sense to have up/down do something vertical and
left/right do something horizontal.
In this case, if you prefer to use `up' to decrement instead of increment,
that might seem natural for a bottom window (the window bottom moves up) but
unnatural for a top or middle window. It can depend on whether you want to
think in terms of a particular window border moving (up/down) or the window
height/width increasing/decreasing. I chose `up' for increasing window
size - that makes sense for any window.
But again, choose whatever keys you like. To reverse the direction, replace
nil in the call to `doremi' by (- increment). To use `left'/`right', just
`let'-bind the key variables, as in the code I sent for
`window-resize-horizontally'.
(BTW, holding Meta down while you use the arrow keys or mouse wheel gives a
boost, multiplying the increment so change is quicker.)
> 2. It doesn't really take care of what border do you want to act on.
I don't know what you mean by "take care of what border". No, it simply
resizes the window, by calling `shrink-window(-horizontally)'. If that
function is not what you want, then use another that does what you want.
> The `resize-window' I proposed in this thread, while definitely ugly,
> moves the left border when you use the left key `l', the right border
> when you use the right key `r', etc. It is the most usable solution
> I've tested so far.
Nothing wrong with that, if that's what you want.
My point was that Do Re Mi is completely general. You can use it to
increase/decrease anything incrementally (or use it to cycle among
enumeration values).
In this case, there was an existing incrementator, `shrink-window'
ready-to-hand. But Do Re Mi is just as easy to use if there is only an
absolute setting function instead of an incrementor. For example, you can
pass it a function that simply sets the window size, instead of incrementing
it - Do Re Mi will then take do the incrementing itself.
next prev parent reply other threads:[~2007-11-02 14:28 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-28 10:39 New keybinding suggestion: C-x _ for `shrink-window' Bastien
2007-10-28 10:41 ` Lennart Borgman (gmail)
2007-10-28 12:06 ` Bastien
2007-10-28 11:21 ` Lennart Borgman (gmail)
2007-10-28 14:40 ` Bastien
2007-10-28 20:20 ` Lennart Borgman (gmail)
2007-10-28 21:47 ` Bastien
2007-10-28 21:47 ` Bastien
2007-10-28 22:05 ` Lennart Borgman (gmail)
2007-10-29 0:03 ` Lennart Borgman (gmail)
2007-10-29 8:43 ` Bastien
2007-10-29 0:11 ` Richard Stallman
2007-10-29 13:14 ` Bastien
2007-10-31 11:57 ` Bastien
2007-10-31 11:58 ` Bastien
2007-10-31 15:54 ` Stefan Monnier
2007-10-31 16:18 ` Juanma Barranquero
2007-10-31 17:31 ` Bastien
2007-10-31 23:58 ` Richard Stallman
2007-11-01 0:26 ` Lennart Borgman (gmail)
2007-11-01 1:14 ` Juanma Barranquero
2007-11-01 1:28 ` Lennart Borgman (gmail)
2007-11-01 1:46 ` Juanma Barranquero
2007-11-01 2:17 ` Lennart Borgman (gmail)
2007-11-01 3:41 ` Bastien
2007-11-01 1:13 ` Juanma Barranquero
2007-11-01 19:04 ` Richard Stallman
2007-11-03 21:56 ` Stephen J. Turnbull
2007-11-04 1:41 ` Andreas Schwab
2007-11-04 2:49 ` Stephen J. Turnbull
2007-11-04 19:56 ` Richard Stallman
2007-10-31 16:20 ` Lennart Borgman (gmail)
2007-10-31 23:58 ` Richard Stallman
2007-11-01 16:54 ` Drew Adams
2007-11-01 22:01 ` Drew Adams
2007-11-01 22:27 ` David Kastrup
2007-11-01 23:05 ` Drew Adams
2007-11-02 14:28 ` Bastien
2007-11-02 14:28 ` Drew Adams [this message]
2007-11-03 0:20 ` Bastien
2007-11-03 3:58 ` Richard Stallman
2007-11-03 4:14 ` Miles Bader
2007-11-03 5:46 ` Bastien
2007-11-03 5:35 ` Miles Bader
2007-11-03 14:11 ` Bastien
2007-11-03 15:15 ` Drew Adams
2007-11-03 16:43 ` Bastien
2007-11-03 16:43 ` Lennart Borgman (gmail)
2007-11-04 0:11 ` Richard Stallman
2007-11-05 3:30 ` Bastien
2007-11-05 7:37 ` Drew Adams
2007-11-05 11:06 ` Bastien
2007-11-08 15:32 ` Bastien
2007-11-10 1:09 ` Drew Adams
2007-11-10 1:11 ` Drew Adams
2007-11-11 5:00 ` Bastien
2007-11-11 8:42 ` Drew Adams
2007-11-11 17:17 ` Bastien
2007-11-11 17:26 ` Drew Adams
2007-11-11 23:54 ` Richard Stallman
2007-11-12 0:07 ` Drew Adams
2007-11-12 3:20 ` Bastien
2007-11-12 2:55 ` Drew Adams
2007-11-12 4:18 ` Bastien
2007-11-12 11:47 ` Robert J. Chassell
2007-11-12 13:47 ` Bastien
2007-11-12 19:03 ` Lennart Borgman (gmail)
2007-11-12 21:20 ` Robert J. Chassell
2007-11-12 21:31 ` Drew Adams
2007-11-12 22:09 ` Lennart Borgman (gmail)
2007-11-12 22:51 ` Drew Adams
2007-11-14 0:26 ` Lennart Borgman (gmail)
2007-11-16 23:49 ` Drew Adams
2007-11-17 1:36 ` Lennart Borgman (gmail)
2007-11-17 9:09 ` Drew Adams
2007-11-17 15:44 ` Lennart Borgman (gmail)
2007-11-17 17:28 ` Drew Adams
2007-11-12 21:41 ` Robert J. Chassell
2007-11-12 22:15 ` Lennart Borgman (gmail)
2007-11-13 13:40 ` Bastien
2007-11-13 17:51 ` Juanma Barranquero
2007-11-14 0:58 ` Bastien
2007-11-14 2:48 ` Richard Stallman
2007-11-14 8:45 ` Juanma Barranquero
2007-11-13 23:52 ` Juri Linkov
2007-11-14 1:05 ` Bastien
2007-11-12 17:18 ` Richard Stallman
2007-11-12 17:28 ` Drew Adams
2007-11-11 14:02 ` Stefan Monnier
2007-11-11 17:11 ` Bastien
2007-11-11 19:33 ` Richard Stallman
2007-11-12 3:19 ` Bastien
2007-11-12 17:18 ` Richard Stallman
2007-11-13 13:25 ` Bastien
2007-11-13 18:49 ` Robert J. Chassell
2007-11-14 0:27 ` Lennart Borgman (gmail)
2007-11-14 14:41 ` Lennart Borgman (gmail)
2007-11-14 1:14 ` Bastien
2007-11-14 1:56 ` Robert J. Chassell
2007-11-15 20:52 ` Bastien
2007-11-15 20:57 ` Bastien
[not found] ` <473CBBA7.8090507@gmail.com>
2007-11-16 12:39 ` Bastien
2007-11-14 17:53 ` Richard Stallman
2007-11-14 18:12 ` Bastien
[not found] ` <473B7CDD.4040401@gmail.com>
2007-11-15 21:05 ` Bastien
2007-11-15 21:38 ` Lennart Borgman (gmail)
2007-11-15 22:27 ` Lennart Borgman (gmail)
2007-11-16 12:41 ` Bastien
2007-11-16 21:52 ` Juri Linkov
2007-11-17 0:10 ` Lennart Borgman (gmail)
2007-11-17 1:45 ` Juri Linkov
2007-11-17 9:28 ` martin rudalics
2007-11-17 11:58 ` Bastien
2007-11-17 2:17 ` Bastien
2007-11-17 9:09 ` Drew Adams
2007-11-17 12:08 ` Bastien
2007-11-17 17:28 ` Drew Adams
2007-11-18 0:10 ` Bastien
2007-11-19 1:20 ` Drew Adams
2007-11-19 2:45 ` Bastien
2007-11-19 6:48 ` Drew Adams
2007-11-17 15:59 ` Juri Linkov
2007-11-17 16:34 ` Lennart Borgman (gmail)
2007-11-17 16:38 ` Juri Linkov
2007-11-17 17:25 ` Lennart Borgman (gmail)
2007-11-17 23:52 ` Bastien
2007-11-17 23:51 ` Bastien
2007-11-18 0:16 ` Juri Linkov
2007-11-18 2:16 ` Bastien
2007-11-18 2:31 ` Lennart Borgman (gmail)
2007-11-18 12:04 ` Juri Linkov
2007-11-19 2:23 ` Bastien
2007-11-14 23:09 ` Lennart Borgman (gmail)
2007-11-14 23:46 ` Juri Linkov
2007-11-15 0:21 ` Lennart Borgman (gmail)
2007-11-15 1:08 ` Stefan Monnier
2007-11-15 8:29 ` Lennart Borgman (gmail)
2007-11-16 1:16 ` Juri Linkov
2007-11-16 12:58 ` Bastien
2007-11-16 15:47 ` Stefan Monnier
2007-11-16 17:13 ` Bastien
2007-11-16 18:17 ` Stefan Monnier
2007-11-16 19:19 ` Bastien
2007-11-16 21:48 ` Stefan Monnier
2007-11-17 2:26 ` Bastien
2007-11-17 4:22 ` Stefan Monnier
2007-11-17 11:54 ` Bastien
2007-11-18 3:09 ` Stefan Monnier
2007-11-19 2:30 ` Bastien
2007-11-15 13:07 ` Richard Stallman
2007-11-15 13:07 ` Richard Stallman
[not found] ` <E1Ir5H0-0002Ty-Jz@fencepost.gnu.org>
2007-11-11 17:10 ` Bastien
2007-11-11 23:54 ` Richard Stallman
2007-11-12 3:33 ` Bastien
2007-11-12 17:18 ` Richard Stallman
2007-11-13 13:27 ` Bastien
2007-11-11 23:54 ` Richard Stallman
2007-11-12 3:36 ` Bastien
2007-11-18 22:46 ` Richard Stallman
2007-11-19 2:34 ` Bastien
2007-11-02 16:51 ` Sascha Wilde
2007-10-31 23:58 ` Richard Stallman
2007-11-01 6:30 ` David Kastrup
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BNELLINCGFJLDJIKDGACIEGICEAA.drew.adams@oracle.com \
--to=drew.adams@oracle.com \
--cc=bzg@altern.org \
--cc=emacs-devel@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.