hsh Release Notes
Copyright (C) 2010 Alexander Taler (dissent@0--0.org)
This file is part of hsh.
hsh is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
hsh is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with hsh. If not, see
http://www.gnu.org/licenses/
.
Major Changes in version 1.-2.3
-
The SessionList view is now the default view when a job is created, and it
includes job output in addition to basic details of jobs. The Home and End
keys are useful for moving through the output, as well as Alt-H for hiding
it.
-
Correct return codes are being shown once again for #exclusive jobs.
-
The current job in SessionList is always synched with the one shown in
JobView.
-
Tab characters in output are handled correctly.
-
Spaces in file names are handled properly by tab completion.
-
The meaning of a leading + has changed, so that it now suppresses the use of
builtins and aliases, which is generally more useful.
Major Changes in version 1.-2.2
For more detail check the Users' Manual.
-
Job directives, specified by a # have been introduced. Six have been defined
in two groups:
exclusive
, pty
, and piped
define how
standard input and output are assigned when a job is created.
hide
, hideonsuccess
, and show
define
the conditions of when a job will be shown to the user.
-
Proper job control has been implemented so full-screen jobs can be suspended.
#exclusive jobs running in the foreground work as usual with the ^Z
character. #piped and #pty jobs which are running full-screen can be
backgrounded with ^Z followed by Enter. Two ^Zs will send a ^Z to the
process.
-
Improvements to the appearance and movement of job output so that it can be
more easily navigated and it's more obvious what is happening. Particularly
improved is the handling of long lines.
-
Provide a way to examine and modify the environment. This can be accessed
using the env builtin.
-
Provide command aliases, along with a way to view and modify them. This can
be accessed using the alias builtin. A default list of aliases is included,
particularly useful for specifying process to run in alternative terminal
modes.
-
Curses drawing has been moved into its own dedicated thread.
-
Better backward and forward compatibility so multiple versions of hsh can
coexist.
Current Issues
This list contains the largest known issues, a more complete list can be found
in the developer manual.
-
Sometimes when hsh reclaims the terminal from a full-screen #piped or #pty
program the terminal drawing is messed up, and most of the screen is drawn
above where it should be. The problem can be fixed by resizing the terminal,
and it doesn't affect terminals with fewer than 25 lines.
-
Sometimes the first keystroke to a full-screen program is lost. This happens
if it's an extended keystroke like an arrow key, and the program is in #piped
or #pty mode.
-
Job output is not displayed for jobs loaded from disk.
-
Alert messages can hang around long after they are meaningful.
-
There should be a way to disable logging if the user wants to enter something
secret like a password, or view secret output. This can be achieved by
running the job #exclusive, but should be available in other modes too.
-
Typing a glob symbol as part of the command name causes an exception when it
should only raise an alert.
-
Some interactive programs like sftp only display the prompt after the user
has submitted a command.
-
Deleting a job from the session list also removes it from command history.
-
If a job is left marked as running even though it's not, there's no way for
hsh to delete it.
-
hsh doesn't distinguish between running jobs it created, and those created by
other instances.
-
Display can flicker a bit when the terminal is very large.