Skip to content
 
 

Repository files navigation

TextPinnacle

TextPinnacle is an independent native Linux text and source-code editor created and maintained by Emanuel Damasceno. It is derived from the open-source Notepad++ codebase and uses Qt 6, Scintilla, and Lexilla.

No Wine required.

Independent project: TextPinnacle is not an official Notepad++ release and is not affiliated with or endorsed by the Notepad++ project.

Notepad++ and its original source code are the work of the Notepad++ project and its contributors.

Download the alpha · Report a Linux bug · Help with the Linux port

The published alpha includes an RPM built and tested on Fedora 44 x86_64. Read its release notes for installation instructions and limitations. Published packages may lag behind the development branch.

Status: Alpha / Work in Progress

The application runs natively on Linux and core editing functionality is operational. Full Notepad++ feature parity is still in progress.

This is an independent porting effort based on the open-source Notepad++ project. Notepad++ itself and the original source code are the work of the Notepad++ project and its contributors.

Screenshot

TextPinnacle

Why This Project Exists

I am a longtime Notepad++ user who moved to Linux full time. I wanted the familiar Notepad++ workflow without running the Windows application through Wine, so I started porting the existing project to a native Linux application.

The goal is not to create a different editor inspired by Notepad++. The goal is to bring as much of the actual Notepad++ experience as practical to Linux while keeping the port maintainable against upstream development.

Current Development

The canonical development branch is linux-port. It includes native search and replace, encoding and EOL handling, printing, macro recording and playback, dual editor views, synchronized scrolling, dockable document tools, and durable session recovery. Published alpha packages may not yet contain all development-branch functionality.

Project Status

Feature Status
Native Linux executable ✅ Working
Qt 6 user interface ✅ Working
Scintilla editor ✅ Working
Multiple document tabs ✅ Working
New / Open / Save / Save As / Save All ✅ Working
Undo / Redo ✅ Working
Cut / Copy / Paste ✅ Working
Line numbers ✅ Working
Word Wrap ✅ Working
Zoom In / Zoom Out ✅ Working
Show All Characters ✅ Working
Indent Guides ✅ Working
Notepad++ toolbar icons ✅ Working
Find / Replace 🟡 Working; replace-in-files is not implemented
Encoding / EOL handling ✅ Working for the supported formats
Unsaved document/session recovery ✅ Working with legacy migration
Lexilla syntax highlighting 🟡 Basic integration working; language coverage in progress
Function List 🟡 Working for a limited language set
File Browser 🟡 Core browsing and file opening work
Document List 🟡 Core listing and activation work
Printing ✅ Working
Document Map 🟡 Working simplified overview
Macro recording/playback ✅ Working
Dual editor views ✅ Working
Synchronized scrolling ✅ Working
Preferences UI 🔴 Not available
Plugin compatibility 🔴 Not available

The table above reflects the current development state and will change frequently as the Linux port progresses.

Building on Linux

The current development environment uses Qt 6, CMake, Ninja, and a C++17 compiler.

From the repository root:

cmake -S . -B build-linux -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build-linux -j$(nproc)

Run the application with:

./build-linux/linux/textpinnacle

Development Approach

The Linux port currently uses:

  • Qt 6 for the native Linux user interface
  • Scintilla for the editor component
  • Lexilla for lexer/syntax-highlighting support
  • CMake for the Linux build

Linux-specific implementation is kept under linux/ where practical so that future synchronization with upstream Notepad++ remains manageable.

Current Development Priorities

Work is currently focused on:

  • protecting normal saves from external file changes
  • opening command-line and desktop-launcher file arguments
  • release-gating Linux packaging and CI
  • expanding language/lexer integration and Function List coverage
  • adding a preferences interface
  • expanding search, panel, and session-state functionality
  • keeping the port synchronized with upstream Notepad++ changes

Contributing

Contributions, testing, bug reports, and technical discussion are welcome.

Areas where help would be particularly useful:

  • Qt 6 / C++ development
  • Scintilla and Lexilla integration
  • Notepad++ feature parity
  • Linux packaging
  • Fedora, Debian, Ubuntu, and other distribution testing
  • C++ code review
  • documentation

If you would like to help, see the Linux contribution guide, open an issue in this repository, or submit a pull request targeting linux-port.

More Information

See LINUX-PORT.md for additional project background, architecture notes, roadmap information, and contribution details.

Credits

Notepad++ and its original source code are the work of the Notepad++ project and its contributors.

This repository is an independent effort to port that existing work to native Linux. Credit for Notepad++ itself belongs to its original creators and contributors.

License

This project remains subject to the licensing terms of the upstream Notepad++ source code and the third-party components included in the repository.

About

TextPinnacle — an independent native Linux text and source-code editor derived from the open-source Notepad++ codebase.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages