elanthia-online / illthorn

Electron-based FE
18 stars 10 forks source link

Illthorn, a modern client for Gemstone IV

A modern cross-platform front-end for Gemstone IV.

illthorn-fe

Developer Installation

From The Command Line

Connecting to the Game

You need to have an active Lich session. So you'd connect something like...

ruby lich.rb --login CHARACTER_NAME --detachable-client=8003 --without-frontend

Lich might also be lich.rbw on your setup. You can run multiple connections (for multiple characters/accounts) in multiple terminals and Illtorn will autodetect them. You'll have to run them on different ports though, like --detachable-client=8004.

Current Features

Planned Features

Meta Shortcuts

Meta shortcuts are not customizable, as this project will general prefer sane defaults over configuration

alt+<n>

Quick swap between sessions based on the numeric order on the left-hand session pane, similar to many modern terminals

CLI Commands (Vim prefixed)

All FE commands are prefixed by the : character, ala vim or other common CLI utils.

:theme <name>

Change the active theme.

illthorn themes

:connect <name> <port>

Also has an alias: :c <name> <port>

Attempts to create a new named session with the given arguments. If name and port are omitted, it will attempt to autodetect any newly created Lich processes.

If port is omitted we will attempt to autodetect which port to connect to.

:focus <session>

Swaps focus to another session.

There is also an alias: :f <session>

:rename <new name>

Renames the currently focused session.

:swap <other name>

If you accidentally mixed up the name/port combos when connecting, this allows you to easily swap between the names.

:set <path> <value>

Sets a configuration path to a value.

Currently supported :set operations: path value description
clickable boolean turns clickable <d cmd> elements on or off

:ui <name> <state>

Sets the panels. State is on or off. Names are:

Example: :ui compass off

:stream <name> <state>

Sets the stream panels. State is on or off. Names are:

Example: :stream thoughts on

:config

Display current configuration for Illthorn.

:hilite add <group> <pattern>

Adds a regular expression to the specified highlight group.

:hilite group <group> <css-property>=<css-value>

Specifies a set of CSS properties to apply to a given group highlight. Multiple property-value pairs can be specified for a group. Typical properties include:

  1. color for foreground color.
  2. background-color for background color.
  3. font-weight to make text bold.
  4. font-style to make text italics.

:hilite reload

Reload highlight configuration.

:hilite remove <type> <text>

Removes the type of hilight object matching the text entry. type must be either "pattern" for a pattern that is matched, or "group" for the specification of how to handle matches, as described in previous sections. This group must be run using :sudo. If a group is being removed, and patterns are still assigned to that group, the command needs to include the phrase confirm (e.g. :hilite remove group confirm <text>).

Autocomplete

Previous commands in a session are saved and will show a ghosted version as you type characters which you can autocomplete by pressing the right arrow key to complete the command.