Py Editor MAC USER MANUALDeveloper ID · 27.0.2 (32)
REVIEWED EDITION · Developer ID 27.0.2 (32)

Plan a small day with Focus Studio

Mac Desktop Studio is a bundled Python project for learning how a native Mac interface can be built with PySide6. Running its main.py opens Focus Studio, a separate desktop window with a task list and a 25-minute timer.

Focus Studio is an example made by the Python project. Its Today and Focus sections are not Py Editor tool panels and are separate from Py Editor's Left, Bottom and Right areas.

The procedures below were replayed with the Developer ID 27.0.2 (32) build, Helper 0.5.3 and Python 3.14.6. They use a temporary task and restore the window to its original three tasks and 25:00 timer afterward.

Before you begin

  1. Open Mac Desktop Studio from Py Editor's project launcher.
  2. Check that Helper is connected.
  3. Select main.py.
  4. If the status bar says Project .venv not created, click it and wait for .venv [3.14.6].
  5. Open Py Editor Helper setup. If it reports 0/1 dependencies and names PySide6>=6.8, choose Install Dependencies and wait for Ready to Run.
  6. Choose Done, then run the selected file.
  7. Find the separate window titled Focus Studio.

The verified window has Today on the left and Focus on the right. Today contains a task-entry field, Add, a task list and Remove selected. Focus contains the countdown, its status, Start and Reset.

If the Run output says Project dependencies are missing and names PySide6>=6.8, the example has not started. Prepare the project's environment before running it again; do not keep choosing Run and assume another copy is opening. If no window appears, read the Run output before starting another copy. A Python process by itself does not prove that the example window is ready.

Add a useful task

  1. Click What needs to be done?.
  2. Enter Review the vision dataset.
  3. Choose Add, or press Return while the insertion point is in the field.
  4. Confirm that the field clears and the new task appears at the bottom of Today.

The reviewed app removed leading, trailing and repeated spaces from the task title. Choosing Add with an empty field did not create a row.

Command-N moved the insertion point to the task field in the reviewed window. Use Remove selected for removal: the direct Delete-key attempt did not remove the selected demonstration task in this session.

Complete a task and change it back

  1. Double-click Review the vision dataset.
  2. Confirm that its open circle becomes a check mark and the title is crossed out.
  3. Double-click the same row again.
  4. Confirm that the open circle and normal text return.

Completion changes the task's state; it does not start the timer. The reviewed task was returned to incomplete before the timer exercise.

Start, pause and reset a focus session

  1. Choose Start.
  2. Wait until the timer decreases and the status says Focus session in progress.
  3. Choose Pause.
  4. Watch the value for a few seconds. It should remain unchanged while the status says Paused.
  5. Choose Resume and confirm that the timer continues.
  6. Choose Reset only when you want to discard the remaining time.

In the reviewed run, the timer moved from 25:00 to 24:58, stayed at 24:58 during two paused observations, reached 24:57 after Resume, then returned to 25:00, Start and Ready for a 25-minute session after Reset.

Focus Studio with the Review the vision dataset task and its 25-minute timer paused at 24:58Open the screenshot to view it at full size.

The capture is the real external Python/PySide6 example window. It is not a recreated design and it is not a panel inside Py Editor.

Remove only the demonstration task

  1. Click Review the vision dataset once.
  2. Choose Remove selected.
  3. Confirm that only that row disappears.

Removal happened immediately in the reviewed window; no confirmation or Undo control appeared. Keep a copy of project data you care about before removing real tasks. At the end of this review the three original rows were present and the timer was reset to 25:00.

Know what is and is not preserved

The project source stores task titles and completion state in tasks.json beside the example. Keep that file when copying or backing up the project. The timer's remaining value is an in-memory session state, not a recorded work log.

A normal process-relaunch check used a disposable copy with its prepared Python 3.14.6 project environment and PySide6>=6.8. The temporary task Persistence replay 2026-09-16 was added in the real Focus Studio window. Py Editor then stopped main.py cleanly and ran it again. The reopened window showed that same task as the fourth list row, confirming that task data survives a normal Focus Studio Stop/Run relaunch. The temporary tasks.json was removed after the check, so the fixture returned to its original three default tasks.

This result does not cover a crash, a forced termination or quitting and relaunching Py Editor itself. Keep tasks.json when copying a task list you want to preserve.

The 25-minute completion alert was not reached by waiting through an entire session. Do not treat this chapter as evidence for the natural timer endpoint. If an existing task list unexpectedly appears empty, preserve tasks.json before adding anything or investigating the file.