Skip to content
/ monkmode Public

Stay focused with monkmode - track your focus sessions and breaks efficiently while creating custom focus periods and subjects.

License

Notifications You must be signed in to change notification settings

dop14/monkmode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

monkmode

monkmode

App's Goal and Idea Behind It

The ultimate goal of monkmode is to help you achieve a monk-like state of focus, allowing you to maximize deep work. It does this by breaking your overall focus goal into structured focus sessions, short breaks, and long breaks. This approach is a well-known technique used by high achievers and students alike. By working in focused bursts, you can maintain higher levels of concentration, which in turn helps you accomplish more.

Download and Installation

Windows (Recommended)

  1. Go to Releases
  2. Download the latest monkmode.exe
  3. Double-click to run - no installation required!

Windows Security Notice

Windows Defender may show a warning when downloading or running the executable. This is normal for unsigned applications. To run the app:

  1. When downloading: Click "Keep" if browser shows a warning
  2. When running: Click "More info" → "Run anyway" if Windows Defender blocks it
  3. Alternative: Right-click the .exe → Properties → Check "Unblock" → Apply

This happens because the executable isn't code-signed. The app is safe to use - you can verify by checking the source code in this repository.

Linux

Option 1: Run from source

# Clone the repository
git clone https://github.com/yourusername/monkmode.git
cd monkmode

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

Option 2: Build your own executable

# Follow steps above, then:
pip install pyinstaller

# Linux build command
pyinstaller --onefile --windowed \
--name monkmode \
--icon=logo/monkmode.png \
--add-data "database/schema.sql:database" \
--add-data "logo/monkmode.png:logo" \
--add-data "monkmode_sounds/break_start.wav:monkmode_sounds" \
--add-data "monkmode_sounds/focus_start.wav:monkmode_sounds" \
main.py

# Find executable in dist/ folder

macOS

Option 1: Run from source

# Clone the repository
git clone https://github.com/yourusername/monkmode.git
cd monkmode

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

Option 2: Build your own executable

# Follow steps above, then:
pip install pyinstaller

# macOS build command
pyinstaller --onefile --windowed \
--name monkmode \
--icon=logo/monkmode.png \
--add-data "database/schema.sql:database" \
--add-data "logo/monkmode.png:logo" \
--add-data "monkmode_sounds/break_start.wav:monkmode_sounds" \
--add-data "monkmode_sounds/focus_start.wav:monkmode_sounds" \
main.py

# Find executable in dist/ folder

Requirements

  • Windows: No requirements - executable includes everything
  • Linux/macOS: Python 3.8+ and dependencies listed in requirements.txt

Platform Note

Screenshots in this README were taken on Windows. The app may look slightly different on Linux/macOS (different icons, progress bar styling, some UI behaviors) but all functionality remains the same.

What Are Focus Periods

Focus periods are the core of deep work. When you first run monkmode, the default focus period is called "pomodoro", one of the most popular focus techniques: it divides work into 25-minute focus sessions followed by 5-minute breaks. After completing four focus sessions, the next break is a long break, usually around 15 minutes.

Creating a New Focus Period

With monkmode, you can create custom focus periods however you like.

monkmode_add_period image

Editing an Existing Focus Period

You can edit any previously created focus period, including the default "pomodoro". When you press Edit, the currently selected focus period will be modified according to your changes.

monkmode_edit_period image

Deleting a Focus Period

You can delete any focus period except the default one. Be careful — this action cannot be undone.

image

What Are Focus Subjects

Focus subjects are the topics you will be concentrating on during your focus sessions.

Note: The interface for adding, editing, deleting focus subjects works the same as for focus periods (see screenshots above).

Creating a New Focus Subject

When creating a new focus subject, you can be as detailed as you like. The only required parameter is the name of the topic you want to focus on.

Editing an Existing Focus Subject

To edit a focus subject, first select it from the combobox. When you press Edit, the currently selected focus subject — including the default subject if chosen — will be modified according to your changes.

Archiving a Focus Subject

Archiving is useful for topics you’ve finished (for example, a task, a completed university class or a side project). Archiving sets the subject aside without deleting it, so it still appears in your statistics menu.

Note: The default focus subject cannot be archived.

monkmode_archive_subject

Deleting a Focus Subject

You can delete any focus subject except the default one. Be careful — this action cannot be undone, and any progress linked to that subject will be lost.

How Focus Works

Starting a focus session is simple.

First, select the focus period you want to use and the subject you’ll focus on.

Next, press “Focus” and choose the number of focus sessions you want to complete.

monkmode_focus

You’ll see the total duration of your focus time along with a breakdown of the sessions.

Finally, press “start focus” to begin the timer.

monkmode_start_focus_2

While in Focus

Each time a focus session or a break begins, you’ll hear a distinct sound signaling the start of that session. A small pop-up text in the bottom-right corner will also appear to let you know whether a focus or break session is starting. Both the sound and pop-up notifications can be turned off in the settings menu.

Pause, Resume, and Stop

While you’re in focus, you can always pause or stop the timer:

  • Pause freezes the countdown until you press Resume.

  • Stop ends the focus session entirely (after confirmation). Don’t worry — any progress you’ve already made will still be saved.

monkmode_in_focus

Small View

In the top-right corner, you’ll find an icon that opens a small view of monkmode. This view allows you to track your progress while working on other tasks. The pause, resume, and stop functions work exactly as described above.

You can always switch back to the fullscreen view at any time. If you find the countdown distracting, you can click on the timer to conceal the remaining time.

monkmode_small_view monkmode_small_view_hidden

Daily Focus Goal

Your daily focus goal is the amount of time you want to spend in focused work each day. The minimum goal is 1 hour. You can adjust your daily focus goal in the settings menu. By completing your daily goal, you’ll earn streaks — a familiar concept for many productivity apps.

monkmode_daily_focus

Action Bar

The action bar is located in the top-left corner of the app and provides quick access to key options.

monkmode_actionbar

Settings

In the settings menu, you can:
  • Change default values
  • Choose to show or hide the daily quote
  • Turn focus notifications on or off

Note: Changing your daily focus goal after completing it will not affect that day’s completion status.

The default focus period and subject are automatically selected when you launch the app.

Screenshot 2025-09-07 135937

Archive

The archive is where all of your archived subjects are stored. From here, you can also unarchive them at any time.

Help

The help menu contains two options:
  • About → provides basic information about the app, the developer, credits, and the license used.
  • How to Use → links directly to this README.md file (the guide you’re reading now).

Statistics

On the main page, you can see your current week’s focus time and your current streak. Press “Show All” to access more detailed statistics.

monkmode_stats

Focus statistics

These statistics give you a clear overview of your progress.

Note: Focus sessions completed only count if you finish the entire session (sessions you stop early do not count).

Streak & Karma statistics

  • Daily goal achieved — shows how many times you’ve completed your daily focus goal.
  • Current streak — shows your ongoing streak.
    • Weekdays: streaks are strict — if you miss your daily goal on a weekday, your streak resets to 0.
    • Weekends: optional — if you complete your daily goal, your streak increases; if you don’t, your streak will not reset.
  • Longest streak — your all-time longest streak.
  • Karma — a metric showing your consistency over the past 3 months.

    Formula:

    karma = (completed_days / relevant_days) * 100

    completed_days = number of days you completed your daily goal.
    relevant_days = all weekdays in the past 3 months + weekend days where you completed your daily goal.

  • Karma levels — reflect your “monk status” in your focus journey. There are 7 levels to discover.
monkmode_statistics

Charts

After completing at least one focus session, 5 charts will appear in the statistics window:

  1. Line chart — shows your daily focus time over the last 30 days.
  2. Pie chart — shows how your focus is distributed across subjects in the last 30 days.
  3. Pie chart — shows how your focus is distributed across period settings in the last 30 days.
  4. Bar chart — shows the focus time per subject in the last 30 days.
  5. Bar chart — same as the previous one, but for all history (archived subjects can be shown or hidden).

Theme

The app automatically adapts to your operating system's theme (dark/light mode). Restart the app after changing your OS theme for the best experience.

Wrapping Up

With this, we’ve covered all the important features. If you have any questions, feel free to ask them in the GitHub repository.

Happy focusing! – dop14