Code Monkey home page Code Monkey logo

notesh's Introduction

๐Ÿ“ NoteSH

Fully functional sticky notes App in your Terminal! Built with Textual, an amazing TUI framework!

In last Update

  • Hoptex Support (you can focus anything easy now)!
  • User default note file

Hoptex Usage

Installation

Best option to install is using pipx:

pipx install notesh
# but it is still possible to do it with just pip:
pip install notesh

Usage

To start using just type in your terminal:

notesh

it will create new file notes.json in current directory. You can also specify file by using -f flag:

notesh -f MyNotes.json
# or full/relative path
notesh -f ~/Documents/MyNotes.json

โž• Create new Note

  • To create new note just press Ctrl+A
  • You can change color with buttons but also using scroll
  • To edit note just click in its body

New note

๐Ÿง… It supports layers

  • To move note grab it top part and move with mouse

Layers

๐Ÿ—š You can resize notes

  • To resize grab left bottom corner and move with mouse

Resize Notes

๐Ÿ’ก And background is resizable

  • If you make make background to big it will readjust after you reopen App
  • You can also click CTRL-Mouse to look around whole wall

Resize Background

๐Ÿ’ก Highlight when mouse is over

Resize Background

โž• New Drawable that support borders change

Resize Background

โŒจ๏ธ Vim/Custom key bindings

You can now do everything using KEYBOARD! This is first version so if you have any suggestions please write them in existing issue.
Default keybindings are in default_bindings.toml file that is in root of installation.
You can also create second file user_bindings.toml where you can overwrite defaults.

What you can do

  • Change focus focus_next/focus_previous using ctrl+i,ctrl+j/ctrl+o,ctrl+k
  • Edit note edit using i
  • When note is focused you can move it with j/k/l/h. Also adding shift moves it more with one click
  • Clicking unfocus using escape returns from edit mode, and unfocus drawable if not in edit mode.
  • Resize note using +/- for vertical and >/< for horizontal
  • Bring 'ctrl+f' Forward and ctrl+b Backward Note

Bindings file

Default file
# These are default, they also are displayed at the footer
[default]
quit = ["ctrl+q,ctrl+c", "Quit"]
toggle_sidebar_left = ["ctrl+e", "Sidebar Left"]
add_note = ["ctrl+a", "Create Stick Note"]
add_box = ["ctrl+x", "Create Box"]
save_notes = ["ctrl+s", "Save Notes"]
unfocus = ["escape", "Unfocus"]
"app.toggle_dark" = ["ctrl+t", "Dark/Light"]

[moving_drawables]
# Default movement
left = "h"
right = "l"
up = "k"
down = "j"
# You can add number after _ and it will move note that many times
left_5 = "H"
right_5 = "L"
up_5 = "K"
down_5 = "J"

[normal_insert]
# there is only `next` and `previous` and the order is not changable yet
focus_next = "ctrl+i,ctrl+j"
focus_previous = "ctrl+o,ctrl+k"
unfocus = "escape"

[normal]
edit = "i"
delete = "Q"
add_note = "o"
add_box = "O"

# For special characters like `+` or `<` you need to use names
# You can check the name using textual `textual keys`
[resize_drawable]
h_plus = "greater_than_sign"
h_minus = "less_than_sign"
v_plus = "plus"
v_minus = "minus"

# It brings at the top or bottom the note
[bring_drawable]
forward = "ctrl+f"
backward = "ctrl+b"

[hoptex]
focus = "ctrl+n"
quit = "escape,ctrl+c"
unfocus = "escape,ctrl+c"

Change Background Color in Left Sidebar

By default you can use ctrl+e to open Left Sidebar:

New note

NEW FEATURES

TODO

There are many thigs to add! If you have idea, please create Issue with your suggestions.

  • Safe saving (now if there are any bugs you may lost your notes)
  • Vim Key bindings
    • Wait for feedback
  • Duplicate Note
  • Hiding menu (Color Picker etc.)
  • TOML config file
  • Left Sidebar (for background and preferences)
    • Background color
  • Align tool for text
  • Fixed layers (if needed)
  • Diffrent Drawables:
    • Check List
    • Arrows
  • Help Screen
  • Command Pallet support
  • Menu to choose borders
  • Buttons to add new notes

and also resolve problems:

  • Multiline Input (currently textual does not support it and here we have my hacky solution)

Thanks

Big thanks to Will McGugan and all members and contributors of Textualize.io! Go checkout Textual amazing TUI framework on which this app is based.

notesh's People

Contributors

cvaniak avatar nobodyinperson avatar silentjma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

notesh's Issues

Unable to input text in the kitty terminal

I'm using kitty and zsh and can create notes and every other function including adding titles to notes but inputting text is not working. On the latest Mac and arm hardware.

Move to Poetry as a dependency manager

As a continuation of #1 issue. It would be great to move to Poetry as a dependency manager as it provides more granular control of all the project dependencies.

Suggest install with pipx in README

This looks like a really neat textual app!

You might want to direct folks to install it with pipx rather than pip in the README. Pip will install it in whatever Python environment is currently active, which means it could get broken down the line and changing environments might remove it from the PATH.

Pipx creates a new venv for just the app and ensures always it's available.

Navigation using VIM keys

Hello!
One big issue stoping me from daily driving this thing is just basically adding a support for VIM like navigation and usage.

There are bunch of terminal enthusiast that would much appreciate having that!

I could try adding that feature if the issue would be verified by the maintainer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.