File: README.md
Notepad Next
A cross-platform, reimplementation of Notepad++.
Though the application overall is stable and usable, it should not be considered safe for critically important work.
There are numerous bugs and half working implementations. Pull requests are greatly appreciated.
Installation
Packages are available for Windows, Linux, and MacOS.
Below are the supported distribution mechanisms. There may be other ways to download/install the application, but this project will likely not be able to offer any support for those since they are made available by other individuals.
Windows
Windows packages are available as an installer or a stand-alone zip file on the release page. The installer provides additional components such as an auto-updater and Windows context menu integration. You can easily install it with Winget:
winget install dail8859.NotepadNextLinux
Linux packages can be obtained by downloading the stand-alone AppImage on the release page or by installing the flatpak by executing:
flatpak install flathub com.github.dail8859.NotepadNextIf you are using Ubuntu and prefer an up-to-date deb version, you can use the PPA supporting Ubuntu 22.04 and newer provided by
Quentin Lienhardt. You can add it by executing:
sudo add-apt-repository ppa:quentiumyt/notepadnext
sudo apt update
sudo apt install notepadnextMacOS
MacOS disk images can be downloaded from the release page.
It can also be installed using brew:
brew tap dail8859/notepadnext
brew install notepadnextIf you receive warnings that Notepad Next is "damaged", this is an Apple complaining that I have not paid them money to "trust" me. You can bypass this by running:
xattr -d com.apple.quarantine /Applications/NotepadNext.appMacOS Tweaks
By default, MacOS enables font smoothing which causes text to appear quite differently from the Windows version. This can be disabled system-wide using the following command:
defaults -currentHost write -g AppleFontSmoothing -int 0A restart is required for this to take effect.
Translations
Translations are contributed by the community. All translations are managed using Crowdin at https://crowdin.com/project/notepadnext. If there is a language missing you would like to contribute, feel free to start a discussion on Crowdin.
Development
Current development is done using QtCreator with the Microsoft Visual C++ (msvc) compiler. Qt 6.5 is the currently supported Qt version. Older versions of Qt are likely to work but are not tested. Any fixes for older versions will be accepted as long as they do not introduce complex fixes. This application is also known to build successfully on various Linux distributions and macOS. Other platforms/compilers should be usable with minor modifications.
If you are familiar with building C++ Qt desktop applications with Qt Creator, then this should be as simple as opening CMakeLists and build/run the project.
If you are new to building C++ Qt desktop applications, there is a more detailed guide here.
License
This code is released under the GNU General Public License version 3.
File: doc/Building.md
Building Notepad Next
To build Notepad Next you will need CMake, a compatible C++ compiler, the Qt libraries, and the Notepad Next source code.
Windows
This section specifically describes how to build Notepad Next using Microsoft's Visual Studio 2022 compiler.
Installing Visual Studio 2022
- Download the installer for Visual Studio 2022 Community (other versions should work if you have those installed already).
- Run the installer
- Select the 'Desktop development with C++'
- Complete the installation
Installing Qt Libraries
- Download the Qt installer
- Run the installer.
- Select 'custom installation'
- Install any version of Qt >= 6.5 (6.5 is recommended if possible)
MSVC 2019 64-bitlocated under the desired version of QtQt 5 Compatibility Module(not needed for Qt 5.x)Developer and Design Tools>Qt Creator CDB Debugger SupportDeveloper and Design Tools>Debugging Tools for Windows
Cloning the Notepad Next Repository
- In a command prompt (or git shell, powershell, etc) run:
git clone https://github.com/dail8859/NotepadNext.git
Building/Running Notepad Next
- Open Qt Creator and open the root
CMakeLists.txtfile. - Configure the project for 'Desktop Qt 6.5 MSVC2019 64bit' (or whatever version of Qt you have installed)
- Press
Ctrl+R - Qt Creator will build and run the project.
Linux
Here's instructions for ubuntu/debian. Should be same across all distros as long as you get the packages.
export DISTRIBUTION=AppImage
export EXTRA_PLATFORM_PLUGINS="libqwayland-generic.so"
sudo apt update
sudo apt install -y \
cmake \
ninja-build \
file \
libxkbcommon-dev \
libxkbcommon-x11-0 \
fuse \
libxcb-cursor-dev \
libcups2-dev \
libglib2.0-0 \
libglib2.0-dev \
libproxy1v5 \
libproxy-dev \
qt6-base-dev \
qt6-base-dev-tools \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-wayland \
qt6-wayland-dev \
libqt6waylandclient6 \
qml6-module-qtwayland-compositor \
libqt6core5compat6 \
libqt6core5compat6-dev \
qt6-base-private-dev
cmake -S . -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DAPP_DISTRIBUTION=$DISTRIBUTION
cmake --build build --target appimage --parallelMacOS
TODO
File: doc/Update Scintilla.md
- Delete all files in
thirdparty\scintillaexceptCMakeLists.txt - Copy new release of Scintilla into
thirdparty\scintilla - Change directory into
thirdparty\scintilla\qt\ScintillaEdit\and runpython WidgetGen.py - Update
thirdparty\scintilla\CMakeLists.txtas needed