Skip to content
martinrotter edited this page Nov 29, 2018 · 37 revisions

Textosaurus based on Qt and Scintilla, you can find some interesting tips in Scintilla documentation. Note that the documentation is rather technical and is primarily good for potential Textosaurus contributors.

Main Window

Textosaurus is a desktop application. It does not use MDI, but relies on tab panels instead. Each opened text file lies in its own text editor tab.

The main goal of Textosaurus is to be simple, including its GUI. That does not mean Textosaurus does not offer advanced features.

UI Customizations

UI of Textosaurus can be customized to some extent. You can hide various UI element, see menu View → UI Elements for more specific information. Textosaurus UI can be simplified this way, so that none of its extra UI elements are visible.

Simple Main Window

Main window of Textosaurus remembers its size/position forever. Also proportions of its inner widgets (for example dock sidebars) are preserved.

Fullscreen mode

Textosaurus supports advanced fullscreen mode. You can enter it with F11 keyboard shortcut. When you enter fullscreen mode, then status bar and tool bar are both automatically hidden.

Dockable Sidebars

Textosaurus offers dockable subcontrols (aka dock widgets or dock sidebars) with specific functionality. Dock sidebars can be docked to any side of main window or hidden. If dock sidebar is hidden on application startup, then its functionality is not loaded, it loads when sidebar becomes visible for the first time (lazy loading), which ensures fast Textosaurus startups if sidebars are not enabled.

"Output" sidebar

This sidebar can display textual output of Textosaurus external tools. For example, when your run tool "Upload to pastebin", then the URL of your uploaded paste will be display in Output sidebar.

Output Sidebar

"Filesystem" sidebar

This sidebar allows you to browser your filesystem and open any file with double-click.

Filesystem Sidebar

You can also mark any selected item as your "favorite file/folder" and Filesystem sidebar will move it into "Favorites list" which is persistent and allows you to open some of your files (or folders) fast.

Note that settings of Filesystem sidebar are completely portable (as are all Textosaurus settings) so that you can add some favorite file from Linux filesystem and then you the same settings on your Windows machine and add favorite files there too. Textosaurus won't discard currently unavailable files from your favorites list.

"Markdown Preview" sidebar

This sidebar allows you display simplified HTML preview of your Markdown sources.

Input Encoding Support and Data Representation

Textosaurus supports dozens of input text encodings, including all UTF-* variants. Textosaurus uses UTF-8 as its default and fallback encoding.

Encodings

Note that Textosaurus is UTF-8 text editor, so all data of opened text files is converted to UTF-8 data representation (source file is of course left intact). This was not easy technical choice but rather a compromise because used text editor component offers rather limited set of available code pages, with UTF-8 being the best choice among them.

That said, Textosaurus should be able to open rather big text files without any big issues.

You can convert among active encodings without hassle, you can for example open UTF-16 file in Textosaurus and then save it as windows-1250 file without problems.

Input Encoding Detection

Textosaurus can fairly reliably detect encoding of text file, but note that the detection can be unreliable if the source file is very short and is by nature unreliable for certain encoding subsets, for example windows-125*. If encoding detection fails, fallback encoding is used.

Color schemes

Textosaurus supports basic syntax highlighting and customizable color schemes. Custom color schemes are syntax-independent and persistent. User can tweak:

  • foreground/background color,
  • italic/bold/underline font.

Printing

You can print files including syntax highlighting. Print preview is also available.

Print Preview

URL Highligting

Textosaurus recognizes valid URLs. You can navigate to given URL with Ctrl+Left Mouse Button Click. Note that URL highlighting algorithm is quite optimized and works for big files too.

URL

Occurrences Highlighting

Then you select some text range, then all matching occurrences of the text range are highlighted.

URL

Line Height/Spacing

You can change line height or spacing with holding down Ctrl or Shifht keyboard button and rolling your mouse wheel. See below screenshot for Textosaurus with negative line spacing.

Line Spacing

External Tools

Textosaurus supports concept of "external tools". Each external tool has several properties, including:

  • name - is visible in list of external tools,
  • keyboard shortcut - triggers external tool,
  • category - submenu under which external tool belongs,
  • command - script which performs some operation,
  • input - input for the script,
  • output - output of the script.

So, when external tool is triggered (by clicking on menu item or by keyboard shortcut), its input is determined and passed to external tool script (as standard input - stdin), then external tool's script runs via asynchronous process API.

All external tools are accessible in Tools menu.

External Tools Menu

You can configure external tools in Textosaurus Settings dialog.

External Tools Settings

As you see, you can enter full script for each external tool and interpreter which runs the script. If you want to have your external tools definitions portable, then make sure that interpreter executable file is accessible (added to your PATH env. variable) on all your machines.

Textosaurus automatically appends .exe to interpreter executable file on Windows, so you do not have to write it manually.

External tools can obtain their input from many sources, including current selection, current line and so on. Just explore the options by yourself.

External tools automatically dump their *error output to "Output" sidebar. Note that standard output of external tools is fetched asynchronously, which is expecially good for long-running compilation scripts, in which case "Output" sidebar can show compilation progress.

File encryption

Textosaurus is able to encrypt contents of your files. See dialog File -> File Encryption, where you can enable or disable encryption for given file.

Textosaurus uses openssl binary to encrypt/decrypt files. On Linux, OpenSSL must be installed and on Windows, openssl.exe binary is distributed along with Textosaurus.

Textosaurus encrypts files in a fully transparent way and completely relies on OpenSSL, it does not add any extra information to file format etc. That means that if you encrypt your file in Textosaurus, then you can easily decrypt it with openssl CLI tool and vice versa!

Textosaurus supports many cipher algorithms and you can switch among them in Settings → Encryption dialog.

Editor shortcuts

Many shortcuts can be found in Tools -> Settings -> Keyboard settings.

Here are a few additional ones:

Description Shortcut
Double the current line or selection Ctrl + d
Delete the current line Ctrl + l
Jump to the start of the text Ctrl + [
Jump to the end of the test Ctrl + ]

Portability of user data

Textosaurus stores its settings and other user data in:

  • /home/<user>/.config/Textosaurus on GNU/Linux,
  • <Textosaurus-root-folder>/data on Windows.

One of the main goals of Textosaurus is to make all these user data fully PORTABLE. This means that you can synchronise your user data (for example via Dropbox or Google Drive) and use it from any Linux/Windows machine without problems. Everything should work, including your external tools definitions (when correctly configured).