Closed mcrosson closed 1 month ago
That would be great. Is there anything you'd need/want from me when creating the page?
I've copied your post over there: https://github.com/TatriX/pomidor/wiki/Tips-and-Tricks Feel free to edit it however you see fit. Thank you for the contribution!
Not A Bug
This is not a bug report.
I setup pomidor to be run in a few different ways and wanted to share the config so others wouldn't have to re-create things from scratch if they have similar needs.
What's Below?
As I've spent time with pomidor, I discovered I needed a couple different ways to work with pomidor as well as a few helper functions and tweaks.
The below config snippets are what I was able to put together for my different use cases and needs.
Full config
If you'd like to see my full pomidor config; I've published the full code here.
Invoke pomidor without resetting existing state
As I worked to setup different ways of interacting with pomidor I noticed that the state can be reset when it's invoked via the
(pomidor)
function if it's already running.Since I want only a single instance of pomidor running and no automatic state resets but I do want it invoked it not already running, I setup a function to manage this programatically.
This function also calls
(previous-buffer)
as I generally don't want pomidor to take over the current, active buffer. Remove this line of code if you are ok with pomidor taking over the current, active buffer.Buffer cursor positioning
I've been running pomidor in a small, dedicated frame (smaller than the full pomidor output) a lot and the rendering puts the cursor at the end of the buffer (when the frame is active) which can be problematic when I click into the frame to use hot keys like 'hold' and 'un-hold' of the active session.
To make it a bit easier to work with a small frame holding pomidor, I setup a function that's called after pomidor renders to always position the cursor at the start of the buffer. This allows me to always see the timer. If I need to see 'more', I'll use a different way of viewing pomidor. The different methods I use to view pomodor are described below.
Warmup interval
I have a hard time 'getting into' a task which can be incredibly frustrating as pomodoro timers 'keeps going' even though I'm actively working to get under way with a task and it feels like I'm wasting my session. I don't want this warm up period to 'count against' my focused work time. Instead of trying to monkey patch another state into pomidor, I setup a custom separator so I can tell the 'warmup period' and 'focused work period' apart from each other. This also allows me to get a little extra focused work in if my warm up is complete prior to the timeout.
I will also use this warmup period to peform mini tasks like 'respond to email and chat' to clear small items that may have piled up during prior sessions.
Dedicated timer frame
I try to keep the pomidor timer 'always on top' in my GUI environments (Windows 11 in particular). I position it at the bottom, center of my primary monitor (I have multiple monitors). I use this as a kind of overview of the current session with just the timer shown.
I use an external utility (Power Toys - Always On Top in Windows) to mark the frame as always on top of other windows. This is important as I usually have windows overlapping with the pomidor timer frame.
Pop up window
There are times I want to see 'more' of pomidor than just the timer text and to quickly get status information and/or interact with the buffer. I setup popwin to show the buffer as a sticky pop up window that I can show/hide freely.
This allows me to pop up the pomidor buffer from anywhere within my emacs window layout to see more information than just the current timer and to interact with the pomidor buffer (hold/un-hold in particular).