A versatile graphical DSL and army knife to make and modify GUIs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

154 lines
5.8 KiB

What's new in version 1.0.1:
- fixed many issues.
- fixed an issue when switching sources from a string to another one.
- minor changes/additions to README.md and man page.
- changed .guish extension in .gsh (for examples)
- added '$n' special variables for arguments.
- added '%SW' and '%SH' special variables that
hold primary screen width and height.
- added 'ghost' generic command which will
try to make an element invisible in taskbars.
- when controlling an external program embedded in
the page element, it's now possible, for control keys,
to hold them by adding '+' at the beginning of the
keyname. It will be released when normal sendkeys triggers, ex:
> page name m, m sendctrl +Control_L sendkeys w
This will hold left control until 'w' is sent (both will be released).
- fixed page shortcuts.
- added more aliases for some commands:
setname: =>
embed (page): <<
alias: func, def, proc
What's new in version 1.0.2:
- added special variables $WIDTH $HEIGHT $X $Y
that hold respectively element's width, height,
and coordinates.
- added new option and changed old option letter:
now with '-v' new variables can be specified on command
line, while '-V' will show the program version.
- added 'every' special command to schedule actions to be
executed after a time period elapses.
- added 'hideafter' generic command to hide an element
automatically after a period of time is elapsed.
- modified 'unset' command to delete scheduled
commands.
- some general code refactor to match C-style,
that will eventually lead to a whole rewrite
in C (using Xlib only).
- changed substitution order.
- changed special variables %SW %SH to $SW $SH.
- fixed bugs when switching sources.
- added more aliases:
into: >>
What's new in version 1.0.2-r1:
- fixed an issue with parser.
- chaged some things in sourcedriver.
What's new in version 1.0.3:
- fixed an issue with signals.
- completely refactored parser, and fixed some issues with it.
- added 'after' special command to execute something once
after a period of time is elapsed.
- now backslash can be used like '-' when at
the end of line, for continuation.
What's new in version 1.0.3-r1:
- added new method to substitute normal variables.
- added 'eval' special command to execute the content of a string/data.
- added possibility to escape normal variable in quotes.
What's new in version 1.0.4:
- removed command line arguments, there is -v option for vars.
- changed character to dereference a variable, now it is '@'
instead of '%' for better integration with other *nix tools.
- now special variables uses '@' (to be referenced), '$' has
been removed for better integration with other *nix tools.
- signals uses now '@n' instead of '%n'.
- added decent error traces reporting across multiple sources.
- minor fixes and refactor.
- menu's add command now can accept multiple arguments separated
by commas.
- fixed 'ghost' command, now guish uses Xlib directly,
to simply set SKIP_TASKBAR, instead of relying on
bugged/wontfix/obscure Qt code (see Qt::Tool opened
bugs).
- fixed sourcedriver management of sources,
now it _really_ reuses sources when it can.
What's new in version 1.0.5:
- fixed aliases listing.
- refactored parser/evaluator to pass phrases as vectors
of tokens instead of vectors of strings.
- shell substitution is now implemented in the evaluator
and removed from the lexer. This allows variables to be
used substituted in subshell before assigning with 'define',
now one can simply do:
> define k 100
> define var (echo my new var is @k)
instead of using eval.
What's new in version 1.0.5-r1-r2:
- do not substitute variables when defining
aliases/procs or when using every/after commands
(and in the future possibly, when using any command
that accept blocks of data to be reparsed).
- fixed wrong lineno when escaping.
What's new in version 1.0.5-r3:
- fixed terminal fallback when switching
sources when current source is a file,
now -x correctly disables tty control.
- minor changes.
What's new in version 1.0.6:
- added 'if' and 'else' commands for conditional execution.
- added brackets '[]' to execute shell commands and return
their exit statuses (ex.: 'input fill [ true ]' is equivalent
to 'input fill 1').
- editor element configure flag is now disabled by default,
now it must be enabled esplicitly with --enable-editor.
- added 'textblock' element, it's like editor but lighter (readonly
and without additional methods).
- changed additional syntaxes files.
- modified manual page.
What's new in version 1.0.6-r1:
- added 'textblock' element, it's like editor but lighter (readonly
and without additional methods).
- refactored makefile.am, added am_conditionals for every element.
What's new in version 1.0.6-r2:
- fixed evaluation issues (eg. now if/else works when evaluated
indirectly)
- now for guish core command (eg. keywords) no implied subject is checked
(TODO refactor to reduce comlexity/improve performance)
What's new in version 1.0.6-r3:
- fixed autotools conf issue
What's new in version 1.0.7:
- now elements too can have aliases.
- now if syntax file is not found at specified location,
try to see if it is already present in doc dir (es.
/usr/share/doc/guish/syntaxes/...).
- added command to bypass window manager (see bypasswm).
- added new special form when using 'define' command, es "var = 2"
or "var define 2".
- added additional aliases to commands.
- minor addition on webpage.
- added eso syntax file :D