私の愛した情報整理アプリ(フラッシュアイデア編)
今回の情報整理アプリ紹介は、フラッシュアイデア編です。
頭に思いついたアイデアを、ササッと書き留めておけるアプリですね。
スマホならワンアクションで入力が可能。デスクトップならホームポジションから手を動かさずに入力できる、そんなアプリです。
英語だと「JOT」とか呼びますよね。実際の文房具でいうと、ロディアの11番とかが近いのかな。
QuickDynalist
Dynalistに一行メモを追記できるスマホアプリ。それ以上でもそれ以下でもない。つまりよい。こんなのが欲しかった!Dynalistユーザーならぜひ入れていただきたい。
Fast Notion
Notionに一行メモを追記できるスマホアプリです。Notionってちょっとメモするのに開くのが面倒なので、これはよい。
ただNotionってそういうフラッシュアイデアを発酵させるようなアプリじゃないような気もします。書いた内容を置きっぱなしして置けないと言うか、どこかに居場所を決めておいてあげるタイプなんですよね。
JOT.SH
名前は勝手につけました。「今思いついたこと」「今書いておきたいこと」を、グローバルショートカットで立ち上げて、パッと入力してエンターキー押したら消える。そんな機能です。
スマホではPostEverという、その日の日付をタイトルにしたEvernoteのメモにどんどん追記できるPosteverというアプリがあって、ずっと使っていました。
WinとMacでは、とてもアタマが良くて優しい人が作ってくれたPostENというアプリがあって、それを使っていました。EvernoteのAPIを使って(多分)、PostEverと同等の機能をデスクトップで実現したアプリです。
ただそれがUBUNTUでは使えない。さらにEvernoteのログイン制限ができて、自由度が下がり、メモの送付先としてEvernoteじゃないものが必要になったというわけです。
スマホで日々のログや写真を日付ごとに整理する機能については、JOURNEYというアプリに移行したのですが、デスクトップアプリが使えません。JOURNEYのLINUX用アプリは存在しているのですが、なぜか自分の環境だと立ち上がらないのです。チャットサポートで過去バージョンを紹介してもらって試したりもしたのですが、それでもだめ。
で、ローカルのテキストファイルにメモを追記できるというスクリプトをネットで発見し、自分の環境に合わせて調整したのがJOT.SHです。
具体的に言うとですね、日付と時間を見出しにした入力内容を、指定したテキストファイルに追加するという内容。
#!/bin/sh \\# 日付を「yyyy-MM-dd\\_hh:mm:ss」形式で取得する datetime=\\`date +%F\\_%T\\` #もし日付名のファイルがなければ、作成する if \\[ ! \\-e /home/your-path/\\`date +%F\\`.md \\] then touch /home/your-path/\\`date +%F\\`.md fi #文章を記入するダイアログを表示 content=\\`zenity --entry --title="JOT NOW!" --text="Jot your thoughts now" --width=600 \\` #入力内容があった場合、「改行+中見出し+入力内容」を追記する if \\[ $? \\-eq 0 \\] then echo "\\\\n### "$datetime"\\\\n\\\\n"$content"\\\\n" \\>> /home/your-path/\\`date +%F\\`.md fi
初期バージョンは、Diyary.md
というファイルに追記する設定だったのですが、Obsidianのデイリーノートを導入するにあたって、「デイリーノートがあるならそこに追記、なければ新しくデイリーノートを作って内容を記入」という使用に変更してあります。
自分はUBUNTUNのキーボードショートカットをあてているので、コントール+シフト+Jで一行メモが取れるっす。本当は改行入れられて、コントロール+改行で入力確定みたいな感じにしたかったのですがやり方がわからないので、「かいぎょう」という文字列の変換候補に「\n\n」を当てて、改行したいときはそれを入れることで実現しているです。
ただテキストだけ対応で、クリップボードから画像を貼ったり、既存の画像の挿入には未対応。でも全然便利に使えているのです。
JOT.PY
import PySimpleGUI as sg import tkinter as tk import os from PySimpleGUI.PySimpleGUI import InputText, Multiline, WIN_CLOSED import datetime import locale # 日付と日時を取得 locale.setlocale(locale.LC_TIME,'ja_JP.UTF-8') honjitu = datetime.date.today() genzai = datetime.datetime.now().strftime('%Y-%m-%d,%A,%H:%M:%S') filename ="デイリーノートへのパス/"+str(honjitu)+".md" sg.theme('DarkGrey4') layout = [ [sg.Text('Jot your thought now')], [sg.InputText(size = (80,1))], [sg.Button('OK'), sg.Button('Cancel')]] window = sg.Window('JOT', layout,return_keyboard_events=True) # イベントループ。イベントと入力内容をゲットするため while True: event, values = window.read() # キャンセルボタンクリック、xボタンクリックされたらループ脱出 if event == sg.WINDOW_CLOSED or event == '-Cancel-': break elif event == 'OK': # 入力内容を取得 # daylynoteファイルに追記、なければつくる。ループを抜ける file = open(filename,"a") file.write("### " + str(genzai) + "\n\n" + str(values[0]) + "\n") file.close() break #終了処理 window.close()
ただし
インライン入力ができない テキスト入力後にOKボタン上でEnterボタンを押しても反応しない。マウスクリックする必要がある
ということで、まだ発展途上です。誰か完成させてください。