undroidwish
Not logged in

undroidwish

AndroWish sans the borg,
a project just for pun.
 

Experimental. This is a single-file Tcl/Tk binary for Windows (32 bit, optional 64 bit) and Linux using parts of the AndroWish source tree, in particular the ZIP virtual file system and the SDL/AGG/freetype based X11 emulation for rendering. So far it is a proof of concept which eventually can be extended to run on another fruity smartphone platform. It is built by executing platform dependent shell scripts which are available for Windows, Linux, and other platforms. Ready-made binaries for 32 and 64 bit Windows and Intel Linux are listed on the Downloads page. It is possible to build undroidwish on Debian platforms with ARM processors like the Raspberry Pi or the Beaglebone.

Warning! undroidwish.exe is a Windows 32 bit binary which like other nicely playing portable apps does not write to the registry or otherwise modifies the system. But running it on your Windows PC is at your own risk. It is believed to be a CAREFUL (Click And Run Executable For Unplanned Leisure) thing. Although in the first place it might look like Tk in an X11 server, it provides all the benefits of the underlying AGG/SDL2/freetype based X11 emulation, i.e. anti-aliased rendering of lines, circles, and fonts. It even allows to smoothly zoom the Tk root window by using the mouse wheel combined with the control key.

Wayland. Another build script is provided which allows building undroidwish with the SDL2 Wayland video driver. This is partially tested on the GNOME based Fedora 25/26 Workstation and on Debian 9 "Stretch".

FreeBSD. This is very similar to the Linux version (including all extensions) but only partially tested on FreeBSD-11.1 on x86 processors.

OpenIndiana Hipster (based on illumos, based on SunOS 5.11). As for FreeBSD with many extensions but only partially tested in a 32 bit enviroment.

MacOSX. Early alpha as of 2017-09-01 and only partially tested on MacOSX 10.11 (El Capitan).

Haiku. Partial support excluding OpenGL for the Haiku operating system is now available thanks to SDL2's video driver architecture. This is still highly experimental.

    There are Tk ports
    one of them is undroidwish
    which runs on Haiku

All undroidwish variants have many of the advanced Tcl/Tk extensions from Batteries Included built in: tkpath, tktreectrl, tkimg, and Canvas3D (which requires the display driver to support OpenGL 2.x or better). Tcl-only extensions (without machine specific libraries) like tcllib, tksqlite, and bwidgets are included, too.

Some SDL specific command line options described in Beyond AndroWish can be used to control the size of the Tk root window or its resizability. Other SDL specific things can be controlled at runtime using the sdltk command.

In order to start built in scripts directly (which were baked into the ZIP file system), the script to be executed must be specified on the command line with its path within the embedded ZIP file system. Here are some examples.

The widget demo

    undroidwish.exe builtin:sdl2tk8.6/demos/widget

TkSQLite, a graphical frontend to SQLite databases

    undroidwish.exe builtin:tksqlite0.5.13/tksqlite.tcl

The PostScript tiger, a tkpath demo

    undroidwish.exe builtin:tkpath0.3.3/demos/tiger.tcl

Canvas3D demo, multiple threads

    undroidwish.exe builtin:Canvas3d1.2.4/demo/threads.tcl

Canvas3D demo of VR rendering

    undroidwish.exe builtin:Canvas3d1.2.4/demo/vr_chick.tcl

Some shortcuts are provided as shown in the table below.


Script URL Description
builtin:widget The widget demo
builtin:tksqlite Graphical frontend to SQLite databases
builtin:imgdemo Supported image formats
builtin:tkpdemo TkPath demo
builtin:3ddemo Canvas3D demo
builtin:tkcon Tk console
builtin:treectrl Tree control widget demo
builtin:tktable Table widget demo
builtin:bugz See Tk_Bugz in Tcl'ers Wiki, playable with a game pad
builtin:tkchat TkChat instant messaging application
builtin:zint Demo for ZINT barcode generator
builtin:sdx SDX utility
builtin:dungfork Read-only /etc browser demo using tcl-augeas
builtin:vncviewer Simple VNC viewer using tkvnc
builtin:notebook Will Duquette's Notebook App
builtin:tkmc Simple clone of Midnight Commander from Tcl'ers wiki
builtin:zinc-widget Tkzinc demo