Repository navigation
Releases: undoRT/undoStudio
Release list
undoStudio 0.1.2
The release where a project is described in JSON and every kind of file opens in
one panel.
The archive is the application and its surroundings, ready to unpack:
tar -xzf undoStudio-0.1.2-linux-x86_64.tar.gz
cd undoStudio-0.1.2
./undoStudio
It has to be started from the directory it was unpacked into. Fonts, icons,
themes and the shipped layout are opened as resources/... and the undoApps
are loaded from plugins/, both relative to the working directory.
System packages are still needed on the machine: the X11 and OpenGL development
libraries GLFW builds against, and glm. They are in the README under "System
packages".
What is in it:
- undoStudio, libundoStudioCore.so, plugins/, resources/, st2cpp/
- docs/ — the feature documentation, a screenshot on every page. Start at
docs/editor.md.
The project configuration is JSON. .undoProject/project.json, plcs.json,
tasks.json, one file per task under undoCore/tasks/, and
undoLogic/<plc>/exports.json. Nothing reads TOML and nothing migrates it, so a
project written against the old format has to be rewritten once. strictness is
a boolean now rather than a string.
One editor panel for every kind of file. A .st, a .json, a .cpp and a
configuration file all open in the same Editor panel above the same tab bar. The
Structured Text editor was a panel of its own, which meant two bars of open files
over one set of files; and every backend drew its own window inside the panel it
was dispatched from, so a .json came to be shown in a floating window titled
with its own filename while the Editor panel behind it drew the same backend
again. The panel owns the window and a backend draws its contents.
A FUNCTION can be parsed. The generated header wrote the name, a colon and
nothing else — FUNCTION Foo : — so the return type was empty and st2cpp
rejected the file before reaching a line of the body. The return type is written
into the header, read back when the file is opened, and editable next to the POU
type, which is what the files already on disk need.
A project's own .json opens as text, and can be looked at as a tree
instead. Which one a .json gets is the file's role and not its extension, so a
.json outside any project is a tree, as it always was.
Smaller things: every route into a file now goes through the tab bar's own answer
to "what is open", so a backend can no longer put a document on screen that
nothing can reach again; "Open as Text" and "Open as Tree" replace the tab rather
than adding a second one; a diagnostic that falls outside every editor's own
lines says so and names the generated line; and the version is announced from one
place, so this release says 0.1.2 rather than the 0.1.0 that v0.1.1 printed at
start-up.
The full list, with the behaviour each fix had before it, is in
CHANGELOG.md.
What is still open is written down there too, starting with the fact that the
GUI has never been seen running: this was developed on a machine with no display,
so anything that is a question of appearance is unverified until somebody looks
at it.
undoStudio 0.1.1
The release where the editor holds more than one file.
The archive is the application and its surroundings, ready to unpack:
tar -xzf undoStudio-0.1.1-linux-x86_64.tar.gz
cd undoStudio-0.1.1
./undoStudio
It has to be started from the directory it was unpacked into. Fonts, icons,
themes and the shipped layout are opened as resources/... and the undoApps
are loaded from plugins/, both relative to the working directory.
System packages are still needed on the machine: the X11 and OpenGL
development libraries GLFW builds against, and glm. They are in the README
under "System packages".
What is in it:
- undoStudio, libundoStudioCore.so, plugins/, resources/
- st2cpp 0.4.5 in
st2cpp/, which the Compile button invokes - a desktop entry, which now also opens
.stand.jsonfiles
Tabs. The editor could hold exactly one file: opening a second one closed
the first, so a .st and a .cpp could not be open at once and a tab could not
be switched back to. Each open file now has a tab, with a dot while it has
changes that are not on disk and a close button of its own. A click in the tree
keeps the file — it used to open a preview that the next click replaced, so the
file you were reading vanished from the bar the moment you opened another one.
A file that is open but not on screen is held whole, and comes back at the
cursor and the pane division you left it at.
Renames and moves are followed. Four things file an open document under its
path, and a rename that moved three of them was not a stale label but a second
file: Ctrl+S wrote a copy where the original used to be. The tab, the text
kept for it, the path the editor saves to and the entry in the recent list all
move together now, a renamed folder carries the tabs of the files inside it, and
a deleted file takes its tab with it.
The unsaved mark is read, not guessed. It used to be set when you left a
tab, which answered a different question with the same answer: every tab ever
looked at twice carried an asterisk that nothing took off. It now comes from
the editors once a frame, and Ctrl+S reaches .st, .cpp and text files from
any panel. A save that failed leaves the mark alone.
Files are remembered between runs. File > Open Recent Files, or Ctrl+P.
A file is recorded however it was reached, the list is newest first, and it
shares one length with the recent projects. A rename rewrites the entry in
place; a file deleted outside the IDE stays in the list and is shown as missing,
so an entry never disappears on its own. A file or a project given on the
command line, and files dropped onto the window, are opened as well.
The ST Output panel can be filtered. The generated ST was dumped into the
same list as the diagnostics, so the two errors worth reading arrived somewhere
under hundreds of lines of it. The switches and the count persist per workspace.
The terminal has one tab per shell, and every session is pumped rather than
only the one on screen, so a shell in a background tab does not hold its output
in a buffer until you come back to it.
Smaller things: the ST panel lost its File: <name> row, which the tab bar
above already said; "Open as Text" on a .json now gives the file a tab and
records it; closing a project clears the bar; the recent projects list is loaded
when it is first asked for, so a run that opens nothing still shows it; and the
release archive is checked for the state files that must not ship.
The full list, with the behaviour each fix had before it, is in
CHANGELOG.md.
What is still open is written down there too, starting with the fact that the
GUI has never been seen running: this was developed on a machine with no
display, so anything that is a question of appearance is unverified until
somebody looks at it.
undoStudio 0.1.0
First packaged release of the IDE.
The archive is the application and its surroundings, ready to unpack:
tar -xzf undoStudio-0.1.0-linux-x86_64.tar.gz
cd undoStudio-0.1.0
./undoStudio
It has to be started from the directory it was unpacked into. Fonts, icons,
themes and the shipped layout are opened as resources/... and the undoApps
are loaded from plugins/, both relative to the working directory.
System packages are still needed on the machine: the X11 and OpenGL
development libraries GLFW builds against, and glm. They are in the README
under "System packages".
What is in it:
- undoStudio, libundoStudioCore.so, plugins/, resources/
- st2cpp 0.4.5 in
st2cpp/, which the Compile button invokes - a desktop entry
Also in this release:
- the build writes what it has to find at run time beside
resources/rather
than leaving the executable inbuild/ - linking is relative to the binary, so the tree can be unpacked anywhere
- st2cpp advanced from v0.4.4 to v0.4.5, with the editor adapted to the
case-sensitive identifier resolution that came with it