all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: joaotavora@gmail.com (João Távora)
To: emacs-devel@gnu.org, Rasmus <rasmus@gmx.us>
Subject: Re: [mentoring-done] a darkroom/writeroom mode for Emacs
Date: Mon, 15 Dec 2014 12:01:23 +0000	[thread overview]
Message-ID: <jjbiohdktpo.fsf_-_@siscog.pt> (raw)
In-Reply-To: <87wq5xxe6g.fsf@gmx.us> (rasmus@gmx.us's message of "Fri, 12 Dec 2014 13:09:27 +0100")

Hi List,

After some iterations with Rasmus, I have cleaned up darkroom.el library
of its most obvious problems and now consider it ready to push to
ELPA.git (as was suggested) if no-one objects.

The library lives in https://github.com/capitaomorte/darkroom if someone
is interesting in double checking or commenting.

The library still has an outstanding problem with "window-width", which
I have solved with an isolated hack. See the docstring for
`darkroom--real-window-width' for an explanation.

João

Rasmus <rasmus@gmx.us> writes:

>> I going to say this is a bug in `variable-pitch-mode', since I read
>> somewhere (Stefan?) that a minor mode should always turn itself *on* when
>> called with a nil argument, precisely to support use cases such as
>> yours.
> Perhaps, the correct name would be `toggle-variable-pitch-mode'.  Which is
> what is needed here.

I don't know if that would help you much, with just the minor-mode
hook. Saving the buffer's state and restoring is not trivial. Darkroom
implements it for the variables in the (internal)
`darkroom--saved-variables', but anything more complicated one has to
implement `darkroom-mode-hook' with some sophistication. This hook is
run when entering or leaving the minor mode.

> IMO this is wrong (but I guess what all other similar modes does as well).
> It should choose margin so that the realized line with is approximately
> the same as the real line width or so that the difference is as small as
> possible.  This matters for small windows.  So, to center you need the
> window geometry.  To choose the width, IMO, you need to look at the
> difference between line width (be it visual or not) and realized width (in
> the same of visual-line-mode).

> As above, margin should /not/ be fixed a priori.  Rather, (and IMO) they
> should be set to not be intrusive given the text.  Then centered.  what I
> want is maybe too complicated, but I think it would be nice.

I still don't understand, but I suspect it's related to your intent to
use variable pitch with darkroom-mode. In that scenario, indeed, the
concepts of "real line length" and "visual line length" start to make a
little sense to me, more or less. Also your idea of recursiveness. I'll
welcome an implementation for a "guess margins" function when you have
the time.

>> Anyway this review (also tellingly) got very sidetracked into the
>> implementation details. 
>
> I don't understand the 'tellingly' here.

In the context of the "mentoring" experiment, it's "telling" that this
discussion, initially supposed to be a relatively isolated, well-defined
and expedite step for cleaning up the proposed change in compliance with
Emacs procedures, quickly entered into the implementation details. It
"tells" me that maybe that separation may be too ambitious, at least
given the current awareness of the original "mentoring" intention. But
it's certainly not "your fault" or anything like that, it's just the way
it went.

>> Can I assume you are more or less happy with the procedural and cosmetic
>> aspects of darkroom.el that the "mentoring" part is over? Then I might
>> officially propose darkroom.el to elpa.git.n I'v already cloned the repo
>> and have a reasonable idea how to commit it.
>
> As you prefer.  Updates in ELPA are cheap.  Just change the version number
> and push.

As far as I understand it, this is the strategy to develop the upstream
on Github and publish to ELPA.git periodically. I will "git merge
--no-commit" my github repo into ELPA.git. Then issue whatever necessary
"git mv" I have to to place "darkroom.el" and any other files in the
correct place. Then commit with a suitable commit message. The following
updates also use "git merge --no commit".

> It also comes down to interest in the reviewed code.

Yes. I also suspected it, and I'll include this factor in my quick
debriefing of the "mentoring" experiment.





  reply	other threads:[~2014-12-15 12:01 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20141203142859.24393.98673@vcs.savannah.gnu.org>
     [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
2014-12-03 19:31     ` Eric S. Raymond
2014-12-03 21:19       ` Stefan Monnier
2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
2014-12-03 22:13           ` Stefan Monnier
2014-12-04  6:30           ` Eli Zaretskii
2014-12-04  6:32           ` Paul Eggert
2014-12-04 15:37             ` Stefan Monnier
2014-12-04 16:06               ` Lars Magne Ingebrigtsen
2014-12-04 17:53                 ` Stefan Monnier
2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
2014-12-04 22:53                   ` Paul Eggert
2014-12-05  4:40                     ` Stefan Monnier
2014-12-05  7:20                       ` Stephen J. Turnbull
2014-12-05  8:06                       ` Glenn Morris
2014-12-05 11:24                         ` andres.ramirez
2014-12-05 14:26                       ` Stefan Monnier
2014-12-05 14:46                         ` David Kastrup
2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
2014-12-05 18:38                         ` Stefan Monnier
2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
2014-12-06 18:05                             ` Lars Magne Ingebrigtsen
2014-12-13 22:03                       ` Alan Mackenzie
2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
2014-12-04 17:28                 ` Eric S. Raymond
2014-12-04 17:40               ` Paul Eggert
2014-12-04 19:09                 ` Achim Gratz
2014-12-05  8:07                 ` Glenn Morris
2014-12-06  2:24                   ` Paul Eggert
2014-12-04 18:18               ` Ted Zlatanov
2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
2014-12-04 14:32             ` João Távora
2014-12-04 17:40               ` Eli Zaretskii
2014-12-05 10:27                 ` João Távora
2014-12-05 10:45                   ` Eli Zaretskii
2014-12-05 11:21                     ` João Távora
2014-12-05 11:31                       ` Eli Zaretskii
2014-12-05 12:20                         ` João Távora
2014-12-05 13:16                           ` Kelvin White
2014-12-05 14:52                           ` Eli Zaretskii
2014-12-06  5:38                             ` Stephen J. Turnbull
2014-12-06  7:07                               ` João Távora
2014-12-06  8:03                                 ` Eli Zaretskii
2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
2014-12-08 12:15                                     ` joakim
2014-12-09 11:46                                       ` João Távora
2014-12-09 12:45                                         ` joakim
2014-12-10  2:39                                         ` Stephen J. Turnbull
2014-12-08 12:40                                     ` Rasmus
2014-12-09 11:28                                       ` [mentoring] " João Távora
2014-12-09 12:20                                         ` Rasmus
2014-12-09 13:11                                           ` João Távora
2014-12-09 14:56                                             ` Rasmus
2014-12-10  0:54                                               ` Stefan Monnier
2014-12-10  1:22                                                 ` Rasmus
2014-12-09 22:25                                             ` Rasmus
2014-12-11 11:22                                               ` João Távora
2014-12-11 17:15                                                 ` Stefan Monnier
2014-12-12 11:19                                                   ` João Távora
2014-12-11 18:33                                                 ` Rasmus
2014-12-12 11:16                                                   ` João Távora
2014-12-12 12:09                                                     ` Rasmus
2014-12-15 12:01                                                       ` João Távora [this message]
2014-12-15 13:06                                                         ` [mentoring-done] " Dmitry Gutov
2014-12-15 13:20                                                           ` João Távora
2014-12-15 13:47                                                             ` Dmitry Gutov
2014-12-15 13:55                                                               ` João Távora
2014-12-15 14:38                                                             ` Stefan Monnier
2014-12-15 13:19                                                         ` martin rudalics
2014-12-15 13:37                                                           ` João Távora
2014-12-15 14:15                                                             ` martin rudalics
2014-12-15 14:54                                                               ` João Távora
2014-12-15 15:28                                                                 ` martin rudalics
2014-12-15 22:10                                                                   ` João Távora
2014-12-12 14:27                                                     ` [mentoring] " Drew Adams
2014-12-12 14:38                                                     ` Stefan Monnier
2014-12-09 16:32                                         ` Phillip Lord
2014-12-08 11:46                                   ` [mentor-request] Ecco - a literate programming documentation generator João Távora
2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
2014-12-21 21:22                                     ` Rasmus
2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
2014-12-22 16:01                                       ` João Távora
2014-12-22 16:03                                       ` João Távora
2014-12-05 12:16                       ` Metaproblem, part 3 Phillip Lord
2014-12-05 13:20                     ` Eric Abrahamsen
2014-12-05 14:59                       ` Eli Zaretskii
2014-12-06  5:45                       ` Stephen J. Turnbull
2014-12-06  6:18                         ` Eric S. Raymond
2014-12-06  8:01                           ` Eli Zaretskii
2014-12-06 16:32                           ` Stephen J. Turnbull
2014-12-06  8:29                         ` Eric Abrahamsen
2014-12-06 10:11                           ` Eli Zaretskii
2014-12-06 10:40                             ` Eric Abrahamsen
2014-12-06 10:47                               ` Eli Zaretskii
2014-12-06 11:04                           ` David Kastrup
2014-12-06 12:52                             ` Ivan Shmakov
2014-12-07  1:41                             ` Eric Abrahamsen
2014-12-09 12:29                               ` João Távora
2014-12-06 14:18                           ` Stephen J. Turnbull
2014-12-07  1:38                             ` Eric Abrahamsen
2014-12-06 10:51                         ` David Kastrup
2014-12-07  9:19                           ` Richard Stallman
2014-12-05 10:56                 ` Phillip Lord
2014-12-05 11:15                   ` Eli Zaretskii
2014-12-05 12:09                     ` Phillip Lord
2014-12-05 14:50                       ` Eli Zaretskii
2014-12-03 19:32     ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el David Engster
2014-12-03 19:53       ` Eric S. Raymond
2014-12-03 19:58         ` David Engster
2014-12-03 20:08           ` Eric S. Raymond
2014-12-03 20:28             ` David Engster
2014-12-03 20:58               ` Eric S. Raymond
2014-12-04 20:28                 ` David Engster
2014-12-04 20:46                   ` Eli Zaretskii
2014-12-05  2:16                   ` Stefan Monnier
2014-12-05  8:06                     ` Glenn Morris
2014-12-03 15:34   ` Stefan Monnier
2014-12-03 16:41     ` Thien-Thi Nguyen
2014-12-03 18:08       ` Eli Zaretskii
2014-12-03 18:36         ` Tom
2014-12-03 19:21           ` Paul Eggert
2014-12-03 19:27             ` Tom
2014-12-03 18:58         ` Lars Magne Ingebrigtsen
2014-12-03 19:26           ` Eric S. Raymond
2014-12-03 19:11         ` Thien-Thi Nguyen
2014-12-03 19:27     ` Eric S. Raymond
2014-12-03 19:41       ` Paul Eggert
2014-12-03 20:03         ` Commit comment rules - and a metaproblem Eric S. Raymond
2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
2014-12-03 21:14           ` More metaproblem Eric S. Raymond
2014-12-03 22:13             ` Karl Fogel
2014-12-04  6:38               ` Eli Zaretskii
2014-12-04  8:38                 ` Stephen Leake
2014-12-04 10:11                   ` Eli Zaretskii
2014-12-04 10:23                   ` David Kastrup
2014-12-04 15:35                   ` Stefan Monnier
2014-12-04 16:33                     ` Stephen Leake
2014-12-04 17:37                     ` Eli Zaretskii
2014-12-04 20:43                       ` Stefan Monnier
2014-12-04 21:26                         ` Eli Zaretskii
2014-12-05 23:03                     ` chad
2014-12-04  9:08                 ` Stephen Leake
2014-12-04 10:01                   ` Eli Zaretskii
2014-12-04 10:11                     ` David Kastrup
2014-12-04 10:27                     ` Eric S. Raymond
2014-12-04 10:35                       ` David Kastrup
2014-12-04 11:01                         ` Eli Zaretskii
2014-12-04 11:07                           ` Eric S. Raymond
2014-12-05  1:23                       ` Stephen J. Turnbull
2014-12-05  6:53                         ` Eli Zaretskii
2014-12-04 18:33                 ` Karl Fogel
2014-12-04 21:21                   ` Eli Zaretskii
2014-12-04 22:01                     ` Jorgen Schaefer
2014-12-05  7:08                       ` Eli Zaretskii
2014-12-05  7:55                         ` Aurélien Aptel
2014-12-05  8:44                           ` Eli Zaretskii
2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
2014-12-06 10:58                             ` Eli Zaretskii
2014-12-06 21:28                             ` Nic Ferrier
2014-12-07 22:47                               ` Stephen Leake
2014-12-09  8:04                                 ` Nic Ferrier
2014-12-09 22:28                                   ` Alexis
2014-12-10 21:32                                     ` Nic Ferrier
2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
2014-12-06  7:47                           ` Eli Zaretskii
2014-12-05 11:52                       ` Nicolas Richard
2014-12-05 22:43                         ` Richard Stallman
2014-12-05 16:51                     ` Karl Fogel
2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
2014-12-05 18:24                         ` Eric S. Raymond
2014-12-05 21:16                           ` Karl Fogel
2014-12-05 18:56                         ` Stefan Monnier
2014-12-05 17:27                       ` Eli Zaretskii
2014-12-05 17:52                         ` Karl Fogel
2014-12-05 18:39                           ` Glenn Morris
2014-12-05 21:23                             ` Karl Fogel
2014-12-05 22:24                               ` Eric S. Raymond
2014-12-05 22:41                                 ` Ted Zlatanov
2014-12-05 23:02                                   ` Eli Zaretskii
2014-12-05 23:12                                 ` Eli Zaretskii
2014-12-06  4:58                                   ` Eric S. Raymond
2014-12-06  7:42                                     ` Eli Zaretskii
2014-12-06 11:35                                       ` Eric S. Raymond
2014-12-06 11:58                                         ` David Kastrup
2014-12-06 12:35                                         ` Eli Zaretskii
2014-12-06 14:10                                           ` Werner LEMBERG
2014-12-06  9:27                           ` Stephen Leake
2014-12-06 10:20                             ` Eli Zaretskii
2014-12-06 11:41                             ` Eric S. Raymond
2014-12-06 12:37                               ` Eli Zaretskii
2014-12-06 13:16                                 ` David Kastrup
2014-12-06 14:22                                   ` Eli Zaretskii
2014-12-05 18:19                       ` Eric S. Raymond
2014-12-05 21:14                         ` Karl Fogel
2014-12-05 21:23                           ` Eric S. Raymond
2014-12-05 18:20                       ` Glenn Morris
2014-12-05 18:56                         ` Eric S. Raymond
2014-12-05 20:11                           ` Eli Zaretskii
2014-12-08 17:16                             ` Glenn Morris
2014-12-09 11:00                               ` Richard Stallman
2014-12-06  9:41                           ` Stephen Leake
2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
2014-12-06 17:57                         ` Karl Fogel
2014-12-07  9:20                         ` Richard Stallman
2014-12-09 12:30                           ` Alex Schroeder
2014-12-10  8:24                             ` Richard Stallman
2014-12-06  9:19                       ` More metaproblem Stephen Leake
2014-12-06 16:44                         ` Drew Adams
2014-12-06 18:41                           ` Stephen Leake
2014-12-06 19:24                             ` Drew Adams
2014-12-07 22:07                               ` Stephen Leake
2014-12-07 23:00                                 ` Drew Adams
2014-12-08 15:57                                   ` Eli Zaretskii
2014-12-08 21:23                                 ` Przemysław Wojnowski
2014-12-09 16:54                                   ` Eli Zaretskii
2014-12-10  9:16                                     ` Stephen Leake
2014-12-10 19:46                                     ` Przemysław Wojnowski
2014-12-10 20:48                                       ` Eli Zaretskii
2014-12-10 22:10                                         ` Stefan Monnier
2014-12-10 20:09                                   ` Przemysław Wojnowski
2014-12-10 20:28                                     ` Stefan Monnier
2014-12-05  9:58                   ` Stephen Leake
2014-12-05 15:44                     ` Stefan Monnier
2014-12-05 17:37                       ` Karl Fogel
2014-12-05 19:36                         ` Stefan Monnier
2014-12-05 17:34                     ` Karl Fogel
2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
2014-12-05 17:54                         ` Karl Fogel
2014-12-06 12:04                         ` Richard Stallman
2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
2014-12-06 19:29                             ` Óscar Fuentes
2014-12-07  1:00                               ` Dmitry Gutov
2014-12-07  1:33                                 ` Óscar Fuentes
2014-12-08  0:23                               ` Richard Stallman
2014-12-07  9:21                             ` Richard Stallman
2014-12-07 23:06                               ` Stephen Leake
2014-12-05 18:04                       ` More metaproblem Eric S. Raymond
2014-12-06 10:19                       ` Stephen Leake
2014-12-05 11:45                   ` Phillip Lord
2014-12-06  5:17                     ` Stephen J. Turnbull
2014-12-06 10:17                       ` David Kastrup
2014-12-06 16:45                         ` Drew Adams
2014-12-06 10:30                       ` Stephen Leake
2014-12-03 22:14             ` Stefan Monnier
2014-12-04  3:32             ` Stephen Leake
2014-12-04  6:25             ` Eli Zaretskii
2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
2014-12-05 18:57     ` Eric S. Raymond

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=jjbiohdktpo.fsf_-_@siscog.pt \
    --to=joaotavora@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=rasmus@gmx.us \
    /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.