jglev/emacs-org-mode-for-the-laity

Three small bugs and some comments

shaund opened this issue · 5 comments

I'm on windows 8, x64, running GNU Emacs 25.2.1 (x86_64-w64-mingw32).

  1. I had to add (prefer-coding-system 'utf-8) to get rid of a package installer error, and

  2. remove (add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/")) to fix some dependency on async 1.9.2.

  3. Also, the Windows key and arrows are intercepted by the operating system for rearranging windows, which is quite useful on Windows.

Great work by the way! I was working on something like this myself, because I didn't want to relearn all the shortcuts I've been using all my life. I'd given up in frustration when I found out emacs keeps the cursor on screen when you scroll (thus losing the mark if it was selected with a mouse), but then I stumbled on this.

I think it could be improved even more by getting proportional fonts working with everything (tags, indents, etc). A few other things would be

  • defaulting to hiding emphasis markers and adding normal shortcuts for them (ctrl-b, ctrl-i, ctrl-t, etc)
  • turning on indent mode
  • 12-hour dates (possible without messing up changing them with arrow keys?)
  • adding something about the logbook and automatic timestamps
  • tabs or an open file pane like in browsers and other editors
  • something like neotree for file browsing in an immediately familiar way
  • setting variables for any user directories
  • ctrl-mwheel-up/down for zooming in/out, in addition to the already existing ctrl +/-/0
  • and binding ctrl-y to redo, in addition to c-s-z.

Also curious why both ivy and helm? I'm not that familiar with emacs, but I thought they were mostly the same.

Anyway, I'll probably add some of this stuff myself over the next few days. I'll make a pull request in case you want to add them.

jglev commented

Thank you for this! I'm writing briefly now just to say that I appreciate your contributions, and would welcome Pull Requests. I'm currently away from my office, but will test the modifications you suggested at the top of your message once I'm back, next week, across platforms. Cheers!

jglev commented

(I'll also respond more in-depth once I'm back, as well)

jglev commented

Thank you again for these suggestions! I've implemented many of them, and have pushed them today. The summary of changes is in the Readme, here.

A few additional thoughts:

  • I did implement C-b / C-i / C-u keybindings for bolding, italicizing, and underlining, respectively. I also implemented C-S-b, C-S-i, and C-S-u for un-bolding, un-italicizing, and un-underlining.
    I chose not to hide the emphasis markers for two reasons: first, org-emphasize (the function I used to make the keybindings work) is sometimes unpredictable, and thus, to me, is easier to use when one can see and then manually delete the markers if necessary. Second, I think that showing the emphasis markers, like many markdown editors do now, is a low-impact way to educate users in the syntax.
  • I did not look into using 12-hour timestamps; I would welcome Pull Requests that implement this with an easy-to-set switch to allow users to choose between using 12-hour and 24-hour time, though.
  • You mentioned adding something about the logbook and automatic timestamps; I'd welcome text for the Readme about these, as well.
  • You mentioned "setting variables for any user directories." What did you have in mind for this?

With this work done, I'm going to close this Issue for now. Please feel free to comment on and make Pull Requests for it, though!

jglev commented

Also, I did end up removing helm -- it was vestigial code from an earlier .emacs file I'd written : ) Ivy does a good job by itself.

jglev commented

One final comment -- I did end up needing to disable scroll-restore mode, because it has a problem interacting with org-emphasize. I'm curious to figure out how to get them to work together, as I do like having scroll-restore mode enabled (as you implied you do in your original post).