Skip to content

marcoheinisch/ToDo-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToDo-Editor

It's a simple, minimalist text editor made with Python's Tkinter GUI library and aims to create a calming and distraction free text environment for writing down todos.

Table of contents

About

This project is highly based on SethWalkeroo/Quiet-Text (MIT-License) from Seth Walker.

QuietToDo aims to give you a clean and simple text editor experience. Everything is right in front of you and all completely customizable to your preferences. We want to eliminate the annoyances of a noisy/busy text editing environment and bring you an environment that has the main goal of increasing focus and eliminating distractions.

Notable Features

  • Autocompletion for parenthesis, brackets (square and curly), single quotes, and double quotes.
  • Auto indentation for code blocks and brackets (when creating lists or creating functions).
  • Customization options like font, text color, line height, and many more.

Keyboard Shortcuts

QuietToDo has shortcuts for most commonly performed actions. The list of all the shortcuts is presented bellow:

Command KeyBinding Description
Copy ctrl+c Copy selected text
Cut ctrl+x Cut selected text
Undo ctrl+z undo edits to the text area
Redo ctrl+y redo edits to the text area on Windows
Paste ctrl+v Paste text from the clipboard
Hide Menu alt Hides menu bar from view in the text editor
Hide Line Numbers ctrl+shift+l Hides line numbers from text area
Open File ctrl+o Open an existing file
Save ctrl+s Save the currently active file
Change Font Size ctrl+mousewheel Increases or decrease font size
Indent tab Indent one or multiple lines
Unindent shift+tab Unindent one or multiple lines

Quick Start

Use the release binaries (.exe)

The fastest way to use the program is to just launch one of the release binaries on your system. If you are on Linux and the binary is not opening you may need to allow permission first. Type in the following command if you trust this program. On Windows you may run into a similar issue, but the Windows gui will let you "run anyway" if you allow it.

chmod u+x (name of .exe file)

Launch using python

The second fastest way would be to install the dependencies through requirements.txt and then launch the application through src/quiet_main.py. You can see instructions for this method below.

Create your own binary

If the release binary is not up to date with the current development branch, then you can just create your own binary with pyinstaller. I'll walk you through the process real quick.

  1. Clone source files off github into your preferred directory
git clone https://github.com/marcoheinisch/ToDo-Editor.git
  1. Install pyinstaller
pip install pyinstaller
  1. Cd into the src directory and use pyinstaller on quiet_main.py
pyinstaller --onefile quiet_main.py
  1. Edit the quiet_main.spec file

  2. Use pyinstaller again on your new quiet_main.spec file

pyinstaller quiet_main.spec
  1. Check the dist directory for your binary file and you should be good to go!

Installation

After you install the dependencies, you can simply head into the src directory and launch the editor from src/quiet_main.py.

Mac and Linux installation:

python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt
cd src
python3 quiet_app_launch.py

Windows:

python -m venv env
env\Scripts\activate.bat
pip install -r requirements.txt
cd src
python3 quiet_main.py

This project also requires a Python3 interpreter with Tkinter support. You can test it using

python3 -m tkinter

In case your (GNU/Linux) machine does not support tkinter, there's a way to run it inside Docker (whereas you can also use another base image than ubuntu):

FROM ubuntu
RUN apt update && apt install -y python3-tk x11-apps
RUN mkdir /code
WORKDIR /code
ADD . /code
CMD ["/usr/bin/python3", "-m", "quiet"]

Now, expose an environment variable to allow access to your host system XAUTH="$HOME/.Xauthority" and build the image using docker build -t quiet .. You can start a container using

docker run --network=host --rm -e DISPLAY=$DISPLAY -v $XAUTH:/root/.Xauthority quiet

Be aware, that the Docker container has full access to your machine! So you better trust the executed code.

  • Issues are open to anyone and everyone, but you must comment on the issue first and communicate to me that you are working on it. If you are confident in your ability, I will assign you to the issue.

  • Don't work on an issue that isn't assigned to you unless you communicate with the assignee first.

  • If you make an improvement on an existing feature, make sure to create an issue first and list the fixes or features you have made to the code.

  • All PRs must be made from a Branch. Create a separate branch for every Issue you are working upon and once found fit, make a PR.

  • Please make sure your code works before you submit it :)

check CONTRIBUTING.md for guidlines on how to make a pull request. Suggestions are welcome!

About

A simple, distraciton free text and todo editor.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published