Skip to content

kullik01/Focus-Bean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Linux Java 25 JavaFX 25 Gradle License Release

Focus Bean Logo

A modern, elegant timer application designed for deep work and productivity.

Built with JavaFX and featuring a warm, coffee-themed design.


Table of Contents


✨ Features

  • ⏲️ Smart Timer: Configurable work (1–900 min) and break sessions with visual circular countdown.
  • 🔁 Auto-Cycling: Automatic Pomodoro rounds with configurable cycles before a long break. Includes a LONG_BREAK session type and round progress indicator with coffee bean icons.
  • 📌 Mini Mode: Compact always-on-top floating widget showing only the circular timer, time display, and play/pause button. Expand back with a button, double-click, or right-click menu.
  • 📊 Progress Tracking: Daily goal tracking, streak monitor, and "yesterday vs. today" comparison.
  • 🎉 Goal Celebration: Confetti animation with congratulations message when you reach your daily goal.
  • 📜 Session History: Detailed logs of all work sessions featuring both table and chart views.
  • 🔔 Notifications: Custom sound support (MP3/WAV) and system tray alerts for session transitions.
  • 🌙 Dark Mode: Toggle between a light or dark theme for comfortable viewing. All UI elements — including tooltips, hover effects, and the Mini Mode widget — respect the selected theme.
  • ℹ️ About Tab: A dedicated panel containing application metadata, licensing information, technology stack details, local data paths, and an interactive keyboard shortcuts guide.
  • 🖥️ Modern UI: Clean, coffee-themed design with custom window controls.
  • ⌨️ Shortcuts: Space (Start/Pause), R (Reset), S (Settings), H (Toggle History), M (Mini Mode).
  • 🗂️ Local Data: All data is stored locally:
    • Windows: %APPDATA%/FocusBean/
    • Linux: ~/.local/share/FocusBean/

⬇️ Installation

Windows

  1. Download: Get FocusBean-{version}-Windows.zip from the Releases page.
  2. Extract: Unzip the archive (e.g., to your Downloads folder).
  3. Install: Double-click install_shortcut.bat inside the FocusBean-{version} directory. This will:
    • Create or update your Desktop shortcut to point to the new version.
    • Automatically clean up older FocusBean-* folders from your Downloads.
  4. Run: Double-click the Focus Bean icon on your Desktop or FocusBean.exe in the folder.

Linux

Focus Bean allows for a clean, user-local installation in your home directory.

Runtime Requirements

Before running the application, ensure you have the standard JavaFX dependencies installed (GTK3, ALSA, GStreamer). Most desktop systems have these, but you can verify:

AlmaLinux / RHEL:

sudo dnf install -y gtk3 alsa-lib gstreamer1-plugins-base gstreamer1

openSUSE:

sudo zypper install -y libgtk-3-0 libasound2 gstreamer-plugins-base gstreamer-plugins-good

Install & Run

  1. Download: Get FocusBean-{version}-Linux.zip from the Releases page.

  2. Extract: Unzip the archive:

    unzip FocusBean-{version}-Linux.zip
  3. Install: Run the installer. It will automatically remove any previous version from ~/.focusbean and install the new one:

    sh FocusBean-{version}/install.sh
  4. Run:

    sh ~/.focusbean/FocusBean-{version}/bin/FocusBean
  5. Add to Desktop (Optional): To add Focus Bean to your system menu and launcher, run:

    sh ~/.focusbean/FocusBean-{version}/install_shortcut.sh

🏗️ Build from Source (Optional)

If you prefer to build the application yourself:

Prerequisites: Java 25 JDK, Gradle 9.1.

git clone https://github.com/kullik01/Focus-Bean.git
cd Focus-Bean
./gradlew run

📦 Dependencies

Focus Bean is built with the following technologies:

Dependency Version Purpose
JavaFX 25 UI components and core graphics
Gson 2.11.0 JSON serialization for user data
JUnit 5 5.10.2 Unit testing framework

Note: The application bundle includes the necessary Java runtime, so you do not need to install Java globally.


🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue for bugs and feature requests.

🙏 Acknowledgements

📝 License

BSD 3-Clause License – see LICENSE.


Made with ❤️ and ☕ for productivity.

About

No description, website, or topics provided.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages