Ike
Ike is a minimal and effective task management application based on the Eisenhower Matrix system.
Cost / License
- Free
- Open Source
Platforms
- BSD
- Linux
Ike
Features
Tags
- eisenhower-matrix-planner-planning
Ike information
What is Ike?
Features
-Visual Prioritization: Organize your tasks into the four clear quadrants of the Eisenhower Matrix. -Simple Interface: A clean, intuitive, and distraction-free user interface. -Drag & Drop: Easily move tasks between quadrants as their priority changes. -Persistent Storage: Your tasks are automatically saved and loaded between sessions. -System Tray Integration: The application can be hidden to the system tray for quick and easy access without cluttering your taskbar.
Building from Source
Prerequisites
A C++ compiler (like g++ or clang) Qt 6 or newer (Development libraries) make
clang-format (optional, for code formatting)
On an Arch-based system, you can install the dependencies with:
sudo pacman -Syu base-devel qt6-base qt6-tools clang
On a Debian/Ubuntu-based system, you can use:
sudo apt-get update sudo apt-get install build-essential qt6-base-dev qt6-tools-dev clang-format
Compilation
Clone the repository and navigate into the project directory. Run make to compile the project:
make
The executable, ike, will be created in the project's root directory.
Usage
Run the application:
./ike
Use the + Add Task button to create a new task. Check the "Urgent" or/and "Important" boxes to place the task in the correct quadrant. Click and drag tasks to move them between quadrants. Check off tasks as you complete them.
Code Style and Formatting This project adheres to a consistent code style, primarily based on Google C++ Style Guide, with a few modifications:
Indent Width: 4 spaces.
Brace Style: Allman style (braces on a new line).
When contributing, please ensure your code follows these patterns and conventions. It uses clang-format to maintain this style. To format the code, run:
make format
Code Documentation Guidelines For contributors, the code documentation follows these principles:
Purpose: All significant functions, classes, and complex logic should be documented to explain their purpose, behavior, and any important considerations.
Style: Use Doxygen-style comments for C++ code (e.g., /** ... */ for main descriptions, // for single-line comments).
Content:
Functions: Describe what the function does, its parameters (@param), and what it returns (@return).
Classes: Explain the class's role, its main responsibilities, and important members.
Files: Provide a brief overview of the file's content and purpose at the top of each header and source file.
Clarity: Documentation should be clear, concise, and easy to understand for other developers.
License This project is licensed under the GPLv3 License.
