{"id":50720627,"url":"https://github.com/bz-interactive/bz-nota","last_synced_at":"2026-06-10T00:00:18.125Z","repository":{"id":336681700,"uuid":"1149795500","full_name":"BZ-Interactive/BZ-Nota","owner":"BZ-Interactive","description":"A high-performance, terminal-based text editor built on C++. It combines the intuitive editing of Micro with a modern, btop-style dashboard interface for a modern TUI experience.","archived":false,"fork":false,"pushed_at":"2026-06-09T20:30:10.000Z","size":2593,"stargazers_count":1,"open_issues_count":15,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T21:21:27.195Z","etag":null,"topics":["cplusplus","cpp","fast","ftxui","lightweight","terminal-app","terminal-based","text-editor"],"latest_commit_sha":null,"homepage":"https://bz-interactive.github.io/BZ-Nota/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BZ-Interactive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-04T14:31:33.000Z","updated_at":"2026-06-09T20:30:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BZ-Interactive/BZ-Nota","commit_stats":null,"previous_names":["bz-interactive/bz-nota"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BZ-Interactive/BZ-Nota","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZ-Interactive%2FBZ-Nota","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZ-Interactive%2FBZ-Nota/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZ-Interactive%2FBZ-Nota/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZ-Interactive%2FBZ-Nota/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BZ-Interactive","download_url":"https://codeload.github.com/BZ-Interactive/BZ-Nota/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZ-Interactive%2FBZ-Nota/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34130642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cplusplus","cpp","fast","ftxui","lightweight","terminal-app","terminal-based","text-editor"],"created_at":"2026-06-10T00:00:15.467Z","updated_at":"2026-06-10T00:00:18.037Z","avatar_url":"https://github.com/BZ-Interactive.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved README.md generation --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd valign=\"middle\" style=\"padding-right:10px\"\u003e\n        \u003ca href=\"https://github.com/BZ-Interactive/BZ-Nota\"\u003e\n          \u003cimg src=\"assets/BZ-Nota_icon_scalable.svg\" alt=\"BZ-Nota logo\" width=\"200\" height=\"200\"\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd valign=\"middle\" style=\"text-align:left; max-width:720px\"\u003e\n        \u003ch3 style=\"margin:0\"\u003eBZ-Nota\u003c/h3\u003e\n        \u003cp style=\"margin-top:8px; margin-bottom:8px; text-align:left\"\u003e\n          A high-performance, terminal-based text editor built on C++. It combines the intuitive editing of Micro with a modern, btop-style dashboard interface for a modern TUI experience.\n        \u003c/p\u003e\n        \u003cp style=\"margin:0; text-align:left\"\u003e\n          \u003ca href=\"https://github.com/BZ-Interactive/BZ-Nota\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n          \u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n          \u003ca href=\"https://github.com/BZ-Interactive/BZ-Nota/releases\"\u003eSee Releases\u003c/a\u003e\n          \u0026nbsp;·\u0026nbsp;\n          \u003ca href=\"https://github.com/BZ-Interactive/BZ-Nota/issues\"\u003eRequest Feature\u003c/a\u003e\n          \u0026nbsp;·\u0026nbsp;\n          \u003ca href=\"https://github.com/BZ-Interactive/BZ-Nota/issues\"\u003eReport Bug\u003c/a\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![CPP][CPP-shield]][CPP-url]\n![Version](https://img.shields.io/badge/version-0.8.0-orange)\n![License](https://img.shields.io/badge/license-MIT-green)\n![Git LFS](https://img.shields.io/badge/Git-LFS-blue)\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#🧐-about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#🚀-getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#✍️-usage\"\u003eUsage\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#basic-usage\"\u003eBasic Usage\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#command-line-options\"\u003eCommand-Line Options\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#keybindings\"\u003eKeybindings\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#system-clipboard\"\u003eSystem Clipboard\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#🖥️-tested-terminals\"\u003eTested Terminals\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#📅-planned-features\"\u003ePlanned features\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#🤝-contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#📝-license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#📧-contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#🙏-acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## 🧐 About The Project\n\nBZ-Nota is a terminal-based text editor that aims to provide a modern and efficient editing experience in the terminal. It's designed for developers and power users who want the simplicity and keybindings of editors like Micro, combined with a powerful, integrated dashboard, inspired by `btop`.\n\nKey Features:\n*   **Intuitive Editing**: Familiar keybindings and a focus on simplicity.\n*   **Modern TUI**: Clear and modern looks with emoji support.\n*   **High Performance**: Built with C++ for speed and low resource usage.\n*   **Minimal Resource Usage**: Uses less than 6MB on an empty file and close to zero CPU usage when editing.\n*   **Safe Renaming \u0026 Saving**: Prompts before overwriting existing files and privilege elevation to save files requiring elevated permissions.\n\n(Privilege elevation is currently being worked on)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n*   [![CPP][CPP-shield]][CPP-url]\n*   [![ftxui][ftxui-shield]][ftxui-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## 🚀 Getting Started\n\nTo get a local copy up and running, follow these simple steps.\n\n### Prerequisites\n\nYou'll need a modern C++ compiler and CMake to build BZ-Nota. Installing the standard build tools is sufficient for most builds.\n\n**Note:** Pre-packaged versions will be available upon reaching version 1.0.\n\n*   **C++ Compiler**: Recommended — install `build-essential` (includes `g++`, `gcc`, and `make`)\n*   **Alternative compilers**: Clang or MSVC are also supported\n*   **CMake**: Version 3.10 or higher\n\n**System Clipboard Support:**\n\n*   **Linux (X11)**: `xclip` or `xsel`\n*   **Linux (Wayland)**: `wl-clipboard`\n*   **macOS**: Built-in clipboard commands (no installation needed) — Not tested yet.\n*   **Windows**: Built-in clipboard commands (`clip` for copy, PowerShell's `Get-Clipboard` for paste) — Won't be implemented.\n\nExample (Debian/Ubuntu):\n\n```sh\nsudo apt-get update\nsudo apt-get install build-essential cmake\n```\n\nFor other platforms, use the equivalent package manager (e.g., `brew`, `pacman`, etc.).\n\n### Installation\n\n1.  Clone the repo (including submodules)\n    ```sh\n    git clone --recursive https://github.com/BZ-Interactive/BZ-Nota.git\n    ```\n\n    If you already cloned the repository without `--recursive`, initialize submodules with:\n    ```sh\n    git submodule update --init --recursive\n    ```\n\n2.  Create a build directory\n    ```sh\n    cd BZ-Nota\n    mkdir build \u0026\u0026 cd build\n    ```\n3.  Configure and build the project\n    ```sh\n    cmake ..\n    make\n    ```\n4.  (Optional) Install to your system\n    ```sh\n    sudo make install\n    ```\n    This will install the `bznota` executable to your system's binary directory (typically `/usr/local/bin`), making it available system-wide.\n\n5.  Run the editor\n    ```sh\n    # If installed\n    bznota\n    \n    # Or run directly from build directory\n    ./bznota\n    ```\n\n**Note:** macOS systems follow the same steps.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## ✍️ Usage\n\nif intalled you can run it from anywhere:\n\n```sh\nbznota \u003coptions\u003e \u003cfilename\u003e\n```\nif not installed run from local folder:\n\n```sh\n./bznota \u003coptions\u003e \u003cfilename\u003e\n```\n\n### Basic Usage\n\nRun the editor without a file path, it will create but not save a new file \"Untitled\". File can be renamed via F2 during editing.\n\n```sh\nbznota\n```\n\nTo launch the editor with a pre-existing file, run the executable with the file path:\n\n```sh\nbznota \u003cfilename\u003e\n```\n\n**Options:**\n\n*   `-h`, `--help` — Show usage and option explanations\n*   `-d`, `--debug` — Enable debug mode (displays key sequence information in the status bar)\n*   `-v`, `--version` — Display version information and exit\n*   `-l`, `--license` — Display license information and exit\n*   `--splash`, `--logo` — Display Unicode ANSI Logo and exit\n\n**Examples:**\n\n```sh\n# Open a file for editing\nbznota example.txt\n\n# Display version information\nbznota -v\n\n# Open with debug mode enabled\nbznota -d example.txt\n```\n\n### Keybindings\n\n**File Operations:**\n*   `Ctrl+S` — Save file\n*   `Ctrl+Q` — Quit (prompts if unsaved changes)\n*   `F2` — Rename file (interactive)\n\n**Editing:**\n*   `Ctrl+A` — Select All\n*   `Ctrl+C` — Copy to system clipboard\n*   `Ctrl+X` — Cut to system clipboard\n*   `Ctrl+V` — Paste from system clipboard\n*   `Ctrl+Insert` / `Shift+Insert` — Traditional clipboard shortcuts (alternative)\n*   `Ctrl+Shift+C` / `Ctrl+Shift+V` — Modern terminal clipboard (Alacritty, WezTerm)\n*   `Ctrl+Z` — Undo\n*   `Ctrl+Y` — Redo\n*   `Tab` — Insert tab\n*   `Shift+Tab` — Remove leading tab (unindent)\n\n**Formatting**\n\n*   `Alt+B` — Bold\n*   `Alt+I` — Italic\n*   `Alt+U` — Underline\n*   `Alt+T` — Strikethrough\n\nAll work on selection, can use this to write formatted or apply any format to a pre-written text.\n\nAll can be applied on top of each other.\n\n**Editor Modes (F7):**\n*   `BASIC` — Plain text, no markdown parsing (shows raw **bold** markers)\n*   `FANCY` — Markdown parsing enabled (**bold**, *italic*, etc. rendered live)\n*   `CODE` — Syntax highlighting, no markdown (Will be implemented after 1.0 relase, may be removed)\n*   `DOCUMENT` — FANCY + grammar features (Will be implemented after 1.0 relase, may be removed)\n\n**Appearance (F8):**\n*   `F8` — Toggle between dark mode (default) and light mode\n\n**Navigation:**\n*   `Arrow Keys` — Move cursor\n*   `Shift+Arrow` — Select text while moving\n*   `Ctrl+Arrow` — Jump by word\n*   `Ctrl+Shift+Arrow` — Select by word (Alacritty)\n*   `Alt+Shift+Arrow` — Select by word (alternative)\n*   `Home` — Jump to start of line (smart: toggles between first non-whitespace and column 0)\n*   `End` — Jump to end of line\n\n**Line Operations:**\n*   `Ctrl+O` — Insert blank line above\n*   `Ctrl+K` — Insert blank line below\n\n**Note:** Uses Kitty Keyboard Protocol. However, some keybindings may still be intercepted by your terminal emulator. If none of the alternative keys work for you disable conflicting terminal shortcuts.\n\n**System Clipboard:** The system clipboard feature requires external tools (`xclip`/`xsel` for X11, `wl-clipboard` for Wayland, built-in on macOS). See [CLIPBOARD.md](CLIPBOARD.md) for detailed setup instructions.\n\n_For more examples, please refer to the [Documentation](https://github.com/BZ-Interactive/BZ-Nota)_\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🖥️ Tested Terminals\n\nBelow are terminals that are tested and their known quirks.\n\nLinux:\n- alacritty — **Works perfectly**.\n- Konsole — **Works perfectly**.\n- gnome-terminal — **Works perfectly**.\n- kitty — `Ctrl+Shift+Arrow` won't work; use `Alt+Shift+Arrow` instead.\n- XTerm and UXterm — **Works perfectly**, switches to unicode symbols (fixed/courier).\n\nmacOS:\n- To be tested.\n\nWindows:\n- **Not supported** — Windows support will not be implemented.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 📅 Planned features\n\nThese are short-term items planned as next priorities; the editor will focus on core editing and the dashboard first.\n\n- Bullet Point Integration\n- Privilege Elevation similar to **[Micro](https://micro-editor.github.io/)**\n- User customization for UI colors\n- Limited user customization for controls\n- PgUp / PgDn support for navigation\n- Search, Find and Replace, including Batch Replace\n- Mouse Support\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 📖 Documentation\n\n- **[Technical Design Document (PDF)](https://media.githubusercontent.com/media/BZ-Interactive/BZ-Nota/refs/heads/main/Documents/BZ-Nota_TDD.pdf)**\n- **[TDD Source (.tex)](https://raw.githubusercontent.com/BZ-Interactive/BZ-Nota/refs/heads/main/Documents/BZ-Nota_TDD.tex)**\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## 🤝 Contributing\n\nContributions are welcome! Feel free to:\n\n- Submit feature requests via [Issues](https://github.com/BZ-Interactive/BZ-Nota/issues)\n- Report bugs via [Issues](https://github.com/BZ-Interactive/BZ-Nota/issues)\n- Create pull requests\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n## 📝 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n## 📧 Contact\n\n[![Email](https://img.shields.io/badge/-barkin.zorlu.bz@gmail.com-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:barkin.zorlu.bz@gmail.com)\n\n[![GitHub](https://img.shields.io/badge/-@ZorluBarkin-181717?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/ZorluBarkin)\n[![LinkedIn](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge)](https://www.linkedin.com/in/barkin-zorlu)\n\nProject Link: [https://github.com/BZ-Interactive/BZ-Nota](https://github.com/BZ-Interactive/BZ-Nota)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## 🙏 Acknowledgments\n\n*   [Micro Text Editor](https://github.com/zyedidia/micro)\n*   [btop++](https://github.com/aristocratos/btop)\n*   [Img Shields](https://shields.io)\n*   [Choose an Open Source License](https://choosealicense.com)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: www.linkedin.com/in/barkin-zorlu\n[CPP-shield]: https://img.shields.io/badge/C++(23)-015B97?style=flat-square\u0026logo=cplusplus\u0026logoColor=ffffff\n[CPP-url]: https://isocpp.org/\n[ftxui-shield]: https://img.shields.io/badge/ftxui-UI-blue\n[ftxui-url]: https://github.com/ArthurSonzogni/ftxui\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbz-interactive%2Fbz-nota","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbz-interactive%2Fbz-nota","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbz-interactive%2Fbz-nota/lists"}