vala-terminal for Maemo

Download deb.

Command Line Terminal. It is written in Vala programming-language. Vala produces c-code, which is then compiled binary form, so vala doesn't add any runtime requirements/dependeries.
    * Narrow toolbar
    * Tabs
    * Scrollbar
    * Toolbar can be oriented horizontaly or vertically
    * Zooming (Fontsize changing)
    * Paste selected text (not really clipboard)
    * handles -e parameter, like xterm and konsole in KDE (e.g. you can use it to start console applications with desktop-files: vala-terminal -e nano /etc/hosts) 


Buttons in toolbar are loaded from Systems stock, so they can look different than in screenshots.
Buttons left to rigth (top to bottom):
    * New - Open new tab
    * Del - Close current tab
    * + - Zoom in (raise font size)
    * - - Zoom out (lower font size)
    * Paste - Paste selected text (can be from another tab, not in another application)
    * <- - Go previous tab
    * -> - Go next tab
    * [1/2] - Current tab / Total number of tabs
    * Circle-arrow - Flips the toolbar to vertical (and vertical to horizontal) 


Project page on

How it is builded

Building script:.
#Script, which use some files and downloads something and then
#compiles all with scratchbox2 enviroment
#and package them in deb-package

#needed files

#Additionally you need valac 0.5.6 on your host computer, it is easy as:
#tar -xvf vala-0.5.6.tar.bz2
#cd vala-0.5.6
#make install 

#fetch the sources
git clone git://

mv vala-terminal work #or cp -r vala-terminal work
cd work

patch -p0 < ../maemo_spesific.patch

#compile vala -> C-code
cd src 
valac -C --pkg vte --save-temps mainwindow.vala terminal.vala
cd ..

cp ../config.h .
#tarvitaan config.h

sb2 -e gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1   -include config.h     -g -O2 -MT src/terminal.o -MD -MP -MF $depbase.Po -c -o src/terminal.o src/terminal.c

sb2 -e gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1   -include config.h     -g -O2 -MT src/mainwindow.o -MD -MP -MF $depbase.Po -c -o src/mainwindow.o src/mainwindow.c

sb2 -e gcc -g -O2 -o vala-terminal src/terminal.o src/mainwindow.o  -lvte /usr/lib/ /usr/lib/ /usr/lib/ -lX11 /usr/lib/ /usr/lib/ /usr/lib/ -lm /usr/lib/ /usr/lib/ /usr/lib/ -lXft /usr/lib/ -lz -lfontconfig /usr/lib/ /usr/lib/ /usr/lib/ -ldl /usr/lib/

#file vala-terminal
#vala-terminal: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped

sb2 -e strip vala-terminal

##preparing for packaging

#binary (we want make vala-terminal named folder, so rename binary temporary)
mv vala-terminal vala.bin
mkdir -p vala-terminal/usr/bin
cp vala.bin vala-terminal/usr/bin/vala-terminal

mkdir -p vala-terminal/usr/share/pixmaps
cp data/vala-terminal.png vala-terminal/usr/share/pixmaps/

mkdir -p vala-terminal/usr/share/applications
cp data/vala-terminal.desktop vala-terminal/usr/share/applications/

mkdir vala-terminal/CONTROL
cp ../control vala-terminal/CONTROL/control

#now we are ready to build package
fakeroot ../ vala-terminal

And all necessary files:


Tested on n810 (Diablo and MER)