) 직장에서 우리는 flexitime (flex hours, flexi hours ...)을 사용합니다. 그러나 좋지만 추적하기가 어려울 수 있습니다. 나는 현재 나의 시간 (org-clock-(out|in)
)을 추적하기 위해 org-mode를 사용하고있다. 그러나 나는 8 시간 이상을 일했는지 자동 계산할 수 있도록 확장하고 싶다. (잉여 시간은 나의 flexitime 'account'에 추가되어야한다.) (점심 시간이 얼마나 오래 걸렸는가에 따라), 내 flexitime '계정'의 잔고 등이 포함됩니다.이맥스를 사용하여 flexitime 추적하기 (
누구든지이 용도로 Emacs를 사용합니까?
나는 현재 내 시간을 추적하는 데 매우 기본 설정을 사용하고 있습니다 :
(defun check-in()
(interactive)
(let (pbuf (current-buffer))
(find-file (convert-standard-filename "whatnot"))
(goto-char (point-max))
(insert "\n")
(org-insert-heading)
(org-insert-time-stamp (current-time))
(org-clock-in)
(save-buffer)
(switch-to-buffer pbuf)))
(defun check-out()
(interactive)
(let (pbuf (current-buffer))
(find-file (convert-standard-filename "whatnot"))
(goto-char (point-max))
(org-clock-out)
(save-buffer)
(switch-to-buffer pbuf)))
코드는'current-buffer'를'selected-window'에 표시된 버퍼와 혼동합니다. Elisp로부터'switch-to-buffer'를 호출하는 것은 일반적으로 그러한 문제의 징후입니다. current-buffer + find-file + switch-to-buffer 대신'(with-current-buffer (find-file-noselect ...) ...)'를 사용하고 싶다. 한 가지 더주의하십시오 :'convert-standard-filename'을 호출하는 것은 귀찮은 일이 아닙니다. 아마도 여러분이 생각하는 것을 실제로하지 않을 것이고, 여러분의 코드는 그것 없이도 잘 작동 할 것입니다. – Stefan