Skip to content
martinrotter edited this page Dec 20, 2017 · 37 revisions

This is the user manual for Textilosaurus. You can find here complete overview of its features.


UI

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

Main Window

Textilosaurus 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 Textilosaurus is to be simple, including its GUI. That does not mean Textilousaurus does not offer advanced features.

UI Customizations

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

Simple Main Window

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

Dockable Sidebars

Textilosaurus 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 Textilosaurus startups.

"Output" sidebar

This sidebar can display textual output of Textilosaurus 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 Textilosaurus 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. Textilosaurus won't discard currently unavailable files from your favorites list.

Text Editor Component

This chapter will guide you through all text-editor-specific functionality.

Input Encoding Support and Data Representation

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

Encodings

Note that Textilosaurus 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, Textilosaurus 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 Textilosaurus and then save it as windows-1250 file without problems.

Input Encoding Detection

Textilosaurus 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.

Printing

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

Print Preview

URL Highligting

Textilosaurus recognizes valid URLs when you hover your mouse pointer over them. When you hover URLs, then your mouse pointer changes to "hand" and URL is highlighted. You can navigate to given URL with Ctrl+Left Mouse Button Click.

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 Textilosaurus with negative line spacing.

Line Spacing

External Tools

Textilosaurus 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 Textilosaurus 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.

Textilosaurus 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.

Other Text Editor Component features

Miscellaneous

Portability of user data

Textilosaurus stores its settings and other user data in:

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

One of the main goals of Textilosaurus 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).

Clone this wiki locally