
Procrastinate No More
Source (link to git-repo or to original if based on someone elses unmodified work):
Description:
A simple widget to keep you from procrastinating.
Have you ever thought "now I will start doing what I am supposed to do", only to find yourself doing exactly everything except that? The reason we procrastinate is often not because of the task itself, the problem is to get started with it. Once we have passed that stage, however, it is usually easy to just go with the flow and get work done.
Procrastinate No More can help you get past that first stage. When you click on the widget, you make a contract with yourself to commit fully to a task for 10 minutes without any distractions. After 10 minutes have passed you are free to decide whether you want to continue working or do something else.
Why 10 minutes? It is short enough to always be doable, no matter how boring or daunting the task might seem, while it should let you stay concentrated long enough to pick up the flow.
The widget is inspired by a Python applet called Tomate: https://gitorious.org/tomate/pages/Home.
Installation
------------
If possible, it is recommended that you install this widget through your package manager. The typical procedure to compile it from source follows below.
First download the source and extract the tar.bz2 file with e.g. Ark. Go to the extracted directory in a terminal and run the following commands:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
make
sudo make install
(If you don't have sudo installed you can use su or similar commands to give you root permissions.)
How to use
----------
The widget can be added to the desktop, a panel or to the system tray.
1. When you want to commit yourself to a task, click on the widget. The widget becomes red.
2. Work.
3. After 10 minutes the widget turns green. Now you can either continue to work, or do something else.
4. When you stop working, regardless if the 10 minutes have passed or not, click on the widget again. It is now back to its idle state (blue icon) and the tooltip tells you for how long you worked.
5. Rinse and repeat. Last changelog:
Have you ever thought "now I will start doing what I am supposed to do", only to find yourself doing exactly everything except that? The reason we procrastinate is often not because of the task itself, the problem is to get started with it. Once we have passed that stage, however, it is usually easy to just go with the flow and get work done.
Procrastinate No More can help you get past that first stage. When you click on the widget, you make a contract with yourself to commit fully to a task for 10 minutes without any distractions. After 10 minutes have passed you are free to decide whether you want to continue working or do something else.
Why 10 minutes? It is short enough to always be doable, no matter how boring or daunting the task might seem, while it should let you stay concentrated long enough to pick up the flow.
The widget is inspired by a Python applet called Tomate: https://gitorious.org/tomate/pages/Home.
Installation
------------
If possible, it is recommended that you install this widget through your package manager. The typical procedure to compile it from source follows below.
First download the source and extract the tar.bz2 file with e.g. Ark. Go to the extracted directory in a terminal and run the following commands:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
make
sudo make install
(If you don't have sudo installed you can use su or similar commands to give you root permissions.)
How to use
----------
The widget can be added to the desktop, a panel or to the system tray.
1. When you want to commit yourself to a task, click on the widget. The widget becomes red.
2. Work.
3. After 10 minutes the widget turns green. Now you can either continue to work, or do something else.
4. When you stop working, regardless if the 10 minutes have passed or not, click on the widget again. It is now back to its idle state (blue icon) and the tooltip tells you for how long you worked.
5. Rinse and repeat.
0.2
---
- Add support for keyboard shortcut
NOTE: If the widget is in the system tray, the shortcut is not saved between
logins due to a bug (https://bugs.kde.org/show_bug.cgi?id=260685)
0.1
---
- Initial release
Ratings & Comments
20 Comments
I've added a feature to change state when kde activity changes in https://github.com/atorkhov/procrastinate-no-more. Probably would be useful for somebody...
That's very cool, thanks for sharing! When I have time I'll try it out and see if it fits my vision, and if I like it, I'll incorporate it into Procrastinate No More. One idea I have is to port this simple widget to QML and create a more advanced binary (or QML, if possible) version that has settings etc. However, my time is very limited at the moment, so I'm not sure when I can do that.
Very useful program, congratulations. I made a package for Arch Linux : http://aur.archlinux.org/packages.php?ID=50061
Thank you for your comment and for the PKGBUILD! I added the AUR page to the download links.
When I work I almost always zone out and forget that I should move about a little. I have set up the time for 30 mins,not to help me work more but to remind me that I have to get up and take a break,walk,stretch,etc. You might want to add in the description that there could be more uses for this plasmoid,more like a visual alarm. Thank you so much.
You don't want something like RSIBreak instead? As written above, I don't want to add too many options (or features) to this widget, which also means that I pretty much want to restrict it to one use case. The intent is to "do one thing and do it well". But as I also wrote, a similar but more general widget (with options!) might be of interest for many. Maybe I'll create it, or maybe someone else will do it.
I have used RSIbreak before but find this one more useful as it doesn't lock my screen or give me a popup or something.Once glance at it and I know its time. But thats me... Anyway,I like it the way it is.(voted)
I'm glad to hear that you find this widget useful for your use case. :) As I said in the comments above, a more general "visual timer" seems to be something many want. I might give it a try depending on how much time and motivation I can find. Thank you for your valuable feedback!
Nice work! :) Have you consider implementing the "Pomodoro Technique"? www.pomodorotechnique.com In a practical way, you have to work without any distraction for 25 mins, and have a short pause of 5 mins before starting again. That's something like your idea, but much more strict ;) However, well done, again! That was just a suggestion!
lol, I've just checked now that you already know about the Pomodoro tech. because you've taken inspiration from a project implementing that idea :D sorry!
Hi, I really like this idea, thank you :) ! Like rickdesantis said, it would be cool if you could implement a least the pomodoro variant ("you have to work without any distraction for 25 mins...") so that your plasmoid can fit to most people workflow. And this plasmoid is indeed a good candidate for a javascript/qml port because it is very simple and people hate to compile things :) Thanks for your work
@rickdesantis as well: Thank you both! Sure, I could make it an option, but as said I want to keep this widget simple. Maybe I should make a similar one that allows more customization (or someone else could do it :). Regarding scripting languages, I agree, but as I wrote somewhere else I chose to make a binary widget because 1. C++ is the language I'm most familiar with. 2. I've been wanting to do something using C++/Qt/KDE Platform for some time, this was a perfect "getting started" project, and it's useful as well! (At least for me.)
The super-awesome plasmoid. Did you write in using QML?
Thanks! Nope, I haven't had a look at QML yet.
This is just what I need. I can appreciate that this is its first release, but are there plans for adding any configuration options in the future? Either way, great work!
Thank you for your comment, it's much appreciated! What configuration options do you want? As the README states, I want to keep the widget simple without unnecessary features and options. However, if there's a big demand, I will consider to add it.
Colors, time lengths, notifications, labels? Those are all probably too frivolous, given the widget's intended simplicity, but it would be nice if its keyboard shortcut actually did something. :)
Yes, that's a bit too much :) the one I've been thinking about is the time length (10 minutes), if a lot of people want to change that I may add it as an option. The icons can be defined by your Plasma theme, there are some minimal instructions in the README. Just ask if you need any details. Regarding the keyboard shortcut - I don't know if it's global, but it would be nice if it did the same as clicking on the widget. I'll look into it for the next version.
Thanks for the tips (and for your quick replies); sorry I neglected to read the README. :D
You better read it through carefully, and also COPYING and all the other files! ;) Seriously though, I don't expect most people to read it, but it's nice to have something to refer to. :) Thanks for your feedback.