Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I'm looking for an app (or script) that does this:

  1. I hit a global shortcut key chord.
  2. A one-line text entry box appears.
  3. I enter a line of text and hit ENTER.
  4. The text is saved somewhere, perhaps as a plaintext file on the local filesystem.
  5. I'm looking at the same screen I was before step 1, without any more clicks, keys, or delays.

That's it. The purpose is simply to have a muscle-memory way of recording a very brief thought. Please don't suggest a solution that involves a heavy app with lots of features -- for the sake of this OP, that fails the requirements.

This description sounds a lot like Twitter, and given that many OS X Twitter clients could be configured to fulfill this behavior, I don't want a Twitter client.

share|improve this question
add comment

4 Answers

You can do this without any third party software. Just use Automator to create your own Service that appends the input string to any text file.


Open Automator and select to create a new Service that receives no input in any application.

From the Library, drag the Run AppleScript action to the area on the right, and use the following script code:

on run {input, parameters}
    return text returned of (display dialog "Enter some text:" default answer "")
end run

Then, add a Run Shell Script action that receives input to stdin, and replace the default script with the following:

cat >> /Users/danielbeck/notes.txt

Instead of /Users/danielbeck/notes.txt, specify any path.

Here's what it looks like in Automator:

enter image description here

Save as e.g. Add Note, and assign a keyboard shortcut in System Preferences » Keyboard » Keyboard Shortcuts » Services » General » Add Note

Here's the dialog box:

enter image description here

You can press Cancel, Escape, or Cmd-Period to cancel.


You can even change how the notes appear in the text file through changes to the Run Shell Script action. For example, you can use the following instead, if you reconfigure the Run Shell Script action to receive input as arguments instead:

echo $( date +"%Y-%m-%d %H:%M:%S" ) "$@" >> /Users/danielbeck/notes.txt

It will look like this in the resulting file:

2012-01-30 12:38:56 foo
2012-01-30 12:38:58 bar
share|improve this answer
    
This solution requires that the frontmost application supports services. All well-behaved OS X applications do, but programs with horrible platform integration (usually cross-platform programs) like Firefox, Microsoft Word, or MacVim might not work. –  Daniel Beck Jan 30 '12 at 11:53
add comment

The QuickJot feature of Shovebox does this. Yojimbo also has a hot key feature, but the input box will be a little more complex. Both of these will store "files" within the application, not in the file system per say.

If you are dead set on storing plain text in the file system Notational Velocity or nvAlt may better suit your needs.

share|improve this answer
add comment

notational velocity would be a very good choice & it's free.

simply set up a global hotkey & enter the text

you can also customize the size of the window

share|improve this answer
add comment

I use totalterminal for this along with vim. I press ctrl twice and it drops me into vim, where I can add to an open notes file. I pressume you could probably get away with just keeping textedit open on a notes.txt but I like the colours of terminal :)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.