Author: Nathanel Titane <nathanel.titane@gmail.com>
Normalized all the icons to the latest guidelines,
ported them to SVG (open standards)
and forced the alignment to the pixel grid to prevent
hardware display fuzziness.
In terms of design, I simplified some areas and eliminated
the usage of too many borders to define the depth of the icon
using more gradients (Google style).
You can take the 512 px, old and new, put side by side and you'll see the
difference. It' subtle but make the difference on screen :)
Designed by Nathanel Titane, nathanel.titane@gmail.com, TNDesigns
Thanks Nathanel!
Benefits of the new design:
+ Looks better, more like a real terminal.
+ White-text-on-black-background reflects current default text colors.
+ Cute Droid-bug reflection in CRT glass.
We'd like to make the terminal emulator and view reusable by others, so
separate out this code (primarily TermSession, TerminalEmulator,
TranscriptScreen, EmulatorView, and associated classes) into a library
usable by other projects. Users of the new library are expected to
instantiate (or subclass) TermSession, connect it to the emulation
client via an InputStream and OutputStream, and then attach it to an
EmulatorView, which will display the terminal screen and scrollback.
In the app, we subclass both TermSession (ShellTermSession) and
EmulatorView (TermView) to consolidate the setting and updating of
preferences in one place. Since tty-related handling stays in the app
(there's no guarantee library users will be using a tty), we also
override various methods of TermSession to handle our tty functionality.
Hurray for the emulator for making it easy to test older versions
+ Use our own copies of system drawables not available in older versions.
+ Make sure there's a (mdpi resolution) copy of every drawable in the
plain "drawable" directory, since that's where Android 1.5 looks.
We expose three different ways to manage terminal sessions:
* Options menu items to open a new window and close the current window.
* A WindowList activity, reachable from the options menu, which lists
all the open windows and allows opening, closing, and switching of
windows. The behavior is patterned after the window list activity in
the Android browser.
* Gestures to change windows -- swipe right-to-left for the next window,
left-to-right for the previous window.
The options menu items have been reordered to make what should be the
five most frequently used items (new window, close window, window list,
toggle keyboard, special keys reference) appear in the icon menu so that
the user doesn't have to touch "More" to reach them.
This patch adds several icons. btn_close_window and ic_menu_windows
come from the Android browser source, while the rest come from the
Android 2.3.3 SDK platform, revision 2 (platforms/android-10/data/res).
+ set minSdkVersion to 3, so we run on Android 1.5
+ set targetSdkVersion to 11, so we run without compatability hacks.
- otherwise the terminal emulator screen size calculation is
incorrect and scrolling doesn't work on Android 2.3 devices.
+ add a res/drawable/app_terminal.png file, so that we get a
custom launcher icon on Android 1.5 devices.
+ bump version name to 1.0.22.
+ add files to support building from command line using "ant".