81 lines
		
	
	
		
			No EOL
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			No EOL
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
<p>Just created a standalone Git repository for my <code>tmr.el</code> library:
 | 
						||
<a href="https://gitlab.com/protesilaos/tmr.el">https://gitlab.com/protesilaos/tmr.el</a>.</p>
 | 
						||
 | 
						||
<p>This has been part of <a href="https://protesilaos.com/dotemacs">my dotemacs</a>
 | 
						||
for several months now and I thought it was right to turn it into its
 | 
						||
own package.  No ELPA package is planned for the foreseeable future.</p>
 | 
						||
 | 
						||
<p>Excerpt from its documentation:</p>
 | 
						||
 | 
						||
<blockquote>
 | 
						||
  <p>This package provides a single command for setting a timer: <code>tmr</code>.</p>
 | 
						||
 | 
						||
  <p>The command prompts for a unit of time, which is represented as a string
 | 
						||
that consists of a number and, optionally, a single character suffix
 | 
						||
which specifies the unit of time.</p>
 | 
						||
 | 
						||
  <p>Valid formats:</p>
 | 
						||
 | 
						||
  <table>
 | 
						||
    <thead>
 | 
						||
      <tr>
 | 
						||
        <th>Input</th>
 | 
						||
        <th>Meaning</th>
 | 
						||
      </tr>
 | 
						||
    </thead>
 | 
						||
    <tbody>
 | 
						||
      <tr>
 | 
						||
        <td>5</td>
 | 
						||
        <td>5 minutes</td>
 | 
						||
      </tr>
 | 
						||
      <tr>
 | 
						||
        <td>5m</td>
 | 
						||
        <td>5 minutes</td>
 | 
						||
      </tr>
 | 
						||
      <tr>
 | 
						||
        <td>5s</td>
 | 
						||
        <td>5 seconds</td>
 | 
						||
      </tr>
 | 
						||
      <tr>
 | 
						||
        <td>5h</td>
 | 
						||
        <td>5 hours</td>
 | 
						||
      </tr>
 | 
						||
    </tbody>
 | 
						||
  </table>
 | 
						||
 | 
						||
  <p>If <code>tmr</code> is called with an optional prefix argument (<code>C-u</code>), it also asks
 | 
						||
for a description which accompanies the given timer.  Preconfigured
 | 
						||
candidates are specified in the user option <code>tmr-descriptions-list</code>,
 | 
						||
though any arbitrary input is acceptable at the minibuffer prompt.</p>
 | 
						||
 | 
						||
  <p>When the timer is set, a message is sent to the echo area recording the
 | 
						||
current time and the point in the future when the timer elapses.  Echo
 | 
						||
area messages can be reviewed with the <code>view-echo-area-messages</code> which is
 | 
						||
bound to <code>C-h e</code> by default.</p>
 | 
						||
 | 
						||
  <p>Once the timer runs its course, it produces a desktop notification and
 | 
						||
plays an alarm sound.  The notification’s message is practically the
 | 
						||
same as that which is sent to the echo area.  The sound file for the
 | 
						||
alarm is defined in <code>tmr-sound-file</code>, while the urgency of the
 | 
						||
notification can be set through the <code>tmr-notification-urgency</code> option.</p>
 | 
						||
 | 
						||
  <p>The <code>tmr-cancel</code> command cancels the last <code>tmr</code>.  Note that for the time
 | 
						||
being it has no notion of multiple timers—just the last one.</p>
 | 
						||
</blockquote>
 | 
						||
 | 
						||
<hr />
 | 
						||
 | 
						||
<p>As with every piece of Elisp I produce for my private needs, this is all
 | 
						||
done for recreational and/or educational purposes.  Though I believe
 | 
						||
<code>tmr.el</code> can be used by others as well, provided they are willing to
 | 
						||
install it manually.</p>
 | 
						||
 | 
						||
<p>The initial release notwithstanding, there are a couple of user-facing
 | 
						||
improvements to be made:</p>
 | 
						||
 | 
						||
<ol>
 | 
						||
  <li>Make the <code>tmr-cancel</code> command prompt with completion for a timer
 | 
						||
object when more than one is present.</li>
 | 
						||
  <li>Create a <code>tmr-list</code> command which lists all <code>tmr</code> objects (yes, I
 | 
						||
know about <code>list-timers</code>, but I want something more specific).</li>
 | 
						||
</ol> |