Archive | emacs
Emacs tooltips are everywhere!
I use the Emacs that comes with Cygwin. I like the graphical version for some reason, so I run X and then start Emacs. But, for some reason, Emacs’ tooltips show up everywhere! A little research showed that the tooltips would pop up even though Emacs wasn’t the application in focus. In other words, I would have Emacs and then FireFox running on top of it. When the mouse was on top of something that, in the Emacs window, would have a tooltip, that tooltip would pop up in FireFox. This was very annoying.
After some googling, I found this thread that simply says they will not fix this case — or they can’t. So I had to do a work-around by simply shutting the tooltips off.
It’s actually quite easy — M-x customize-group then tooltip, and then turn it off! Not they don’t pop up in windows that that they shouldn’t be. Well, they don’t pop up at all anymore, but that isn’t a big deal for me.
Why am I so surprised when things just work?
So I was on my MacBook Pro and went to write an email. I instinctively did C-p to move up a line. And you know? It worked! I was surprised! So I did other Emacs keystrokes (C-a, C-e, etc) and they all worked! C-k didn’t work, but I can deal with that for now.
Huh, this really is a geek machine . . .
When your files get garbled
I have a tiny little web site that I’m beginning to setup — just some basic PHP for now. I need to update some stuff on there and so I fired up Aquamacs on my MacBook and began to edit stuff over Tramp.
And something went horribly, terribly wrong.
I’m not sure what that something was, but my index.php was mostly missing. By “mostly”, I’m saying the beginning of the file was there, and the end of the file was there, but the middle 2/3 were replaced by some binary data. Doing a “file index.php” on it resulted in “index.php: data”, so it was for sure binary data — not something else.
The weirdest thing was that it looked fine in the editor but the browser had the garbled crap in it. So I quit the editor and went back in — and found the garbled text in there.
Naturally, I didn’t have the backup, but it wasn’t hard to rewrite it. This experience makes me scared to try it again — scared enough to do better at backing up, for sure.
Getting Started with PlannerMuseMode
I’m finally reading Fowler’s excellent My Job Went to Inda and I wonder why I have put it off for so long. I’m slowing integrating some of his suggestions and the first one is the Todo list — keeping track of what I need to do, project planning, etc. Soon these will turn into reports to my manager, but, hey, I’ve only been at this for less than a week.
And I need a Todo list, and, more importantly, I need one that I will look at. My Palm has one, but I don’t look at that enough so I wouldn’t use that. I only use Lotus Notes for email, and it’s bulky anyway. And I had sticky notes and a plain piece of paper would let lost. And they are, like, so last century. No I need my Todos in something that I will look at several times a day. There is really only one tool — Emacs.
I could use just a plain text file, but there are better things out there with Emacs. And I’ve used Planner Mode before with some success, so I decided to give it another try. I quickly learned that Planner Mode is no longer using Emacs-wiki, but Muse. This Planner Muse Mode seems a smoother way. The installation was a bit rough — I don’t think it was documented as well I would have liked. Hence this blog entry.
I first downloaded both Muse and Planner (see this page) and put them in my ~/emacs directory. I didn’t byte-compile them (but it’s on my todos!) but simply added the following to my Emacs load path:
(add-to-list 'load-path (expand-file-name "~/emacs/muse/lisp"))
(add-to-list 'load-path (expand-file-name "~/emacs/planner"))
I also grabbed the Remember Mode integration from here. This of course, it not necessary.
I was first distraught that C-cC-t didn’t add new tasks like they said, but then I decided I didn’t like that anyway — I kinda what to keep any C-c sequences clean, since I may use a mode that uses that in the future. Since I don’t use F9, I thought that would be a good start to getting to planner. So this is how I have my keys configured now:
(global-set-key (kbd " g") 'planner-goto-today)
(global-set-key (kbd " t") 'planner-create-task-from-buffer)
(global-set-key (kbd " x") 'planner-task-done)
(global-set-key (kbd " y") 'planner-goto-yesterday)
So, when I want to create a task, I do f9 t. To see my todos I do f9 g, etc.
I was dismayed by the fact that my Todos didn’t carry over — i.e. what I didn’t do today I wanted to move to tomorrow. This was out of the box with the older version I once used, but it took some digging to get it done with Muse Mode — which is odd, because I called and set the same variables. Probably just my strange thinking. My startup now looks like the following — I have it just after the key setup I listed above:
(setq planner-directory "~/Plans")
(setq planner-project-default-name "WikiPlanner") ;; or whatever name you use in muse-project-alist
(require 'remember)
(require 'remember-planner)
(setq remember-handler-functions '(remember-planner-append))
(setq remember-annotation-functions planner-annotation-functions)
(require 'planner)
(setq planner-carry-tasks-forward t)
I like having my Todo’s appear in a buffer as soon as I start Emacs. So I have this in my last line in my ~/.emacs, which seems to be the only place it works.
(plan)
Though it hasn’t been a week yet, but I really like it. When I think of something I want to do (a work related task, a blog entry, etc.) the first thing I do is make a Todo and keep going on my present task. Then, when I finish my next task, I goto my todos, mark that one as complete and look for my next one. And what I don’t finish automatically gets put into tomorrow’s list. And I can track what I do every day and what I accomplished.
Here is a small WishList of things I will probably work on, sometime, somewhere:
- I have items that I need to do every day. I need to figure out a way to always put them in my todo list.
- Integrate Planner with Remind
