オフライン時間をすばやく計時する方法は?

オフラインで作業したい場合があります。時間を計って書き留めて、コンピュータを起動しないようにすることができます。

テーブルとorg-update-all-dblocksを使用して、その日の時間を計算するのが好きです。クライアントの仕事に1日を通して奇数分を費やす可能性があるため、非常に便利です。

オフライン時間をすばやく追加してテーブルを更新したい場合は、org-modeにはすでにこの機能がありますか?org-clock-inorg-clock-outで時計を生成できることを知っています、次に手動で再入力し、org-update-all-dblocksを使用して再計算しますが、理想的には、入力する分数を尋ねる単一の関数を呼び出すことができます。オフライン時間を追加した後に開始する作業と矛盾しているように見えますが、現在の時刻と日付を開始として使用してください。

org-modeにはオフライン時間の概念があり、日付はわかっているかもしれませんが、おそらく時刻を記録していなかったため、時刻を省略できますが、それでも時計の表で計算されます。

qを書く必要がある場合uickとdirtyelisp、上記以外にどのような機能が私に役立つでしょうか?私が見逃している部分は、最新の時計を取得するもの、それに分を追加するもの、そして分数を要求するものだと思います。

回答

次のコマンドは、N分前から始まる時間範囲の一般的な組織ログブックエントリを挿入します。

(defun org-insert-clock-range (&optional n) (interactive "NTime Offset (in min): ") (let* ((ctime (cdr (decode-time (current-time)))) (min (car ctime)) (start (apply "encode-time 0 (- min n) (cdr ctime)))) (org-insert-time-stamp start t t "CLOCK: ") (insert "--") (org-insert-time-stamp (current-time) t t))) 

回答

mutbuergerの回答は私を大いに助けてくれました。構成以外のelispでプログラミングするのは初めてです。彼の答えは的を射たものでしたが、最も近い見出しの下にあるログブックを検索または作成し、追加するためのクロックインとクロックアウトの通常の機能が必要でした。注。

修正された解決策は次のとおりです。

(defun offset-current-time (n) (let* ((ctime (cdr (decode-time (current-time)))) (minutes (car ctime))) (apply "encode-time 0 (- minutes n) (cdr ctime)))) (defun org-insert-clock-range (&optional n) (interactive "NTime Offset (in min): ") (org-clock-in nil (offset-current-time n)) (org-clock-out)) (defadvice org-clock-out (after org-clock-out-after activate) (org-update-all-dblocks)) (add-hook "org-mode-hook (lambda () ; Keys for org mode ;snip (define-key evil-normal-state-map (kbd "gl") "org-insert-clock-range) ;snip )) 

回答

Orgの独自の構文で時計のログを操作するカスタム関数のツールボックスと、簡略のプレーンテキスト表記をOrgの構文に変換するスクリプトを使用してオフライン時間を管理します。

https://github.com/clange/emacs/blob/master/.emacs.d/init/org-clock.el

  • org-clock-split-current-interval(これをC-c o sにバインドしました):現在の行に実際に2つのタスクが実行された間隔がある場合は、2つの間隔に分割しやすくします。
  • org-clock-change-hh-mmC-c o :にバインド):日を変更せずに、時計のログの時間/分を調整します。一般的な使用例:別の場所から時計のログ行をコピーし、オフラインで作業した時間に応じて調整します。

スクリプト: https://github.com/clange/scripts/blob/master/org-offline-to-clock/org-offline-to-clock.pl

それを使用する私のワークフロー:

  1. オフライン時間をテキストファイルに記録します。携帯電話で
  2. このファイルをPCに同期
  3. PCで、org-offline-to-clock.pl BEFORE > AFTER
  4. 検証を実行します。 diff BEFORE AFTER
  5. 満足している場合は、mv AFTER BEFORE
  6. 選択した行を実際の組織ファイルに移動します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です