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.
Features:
    * 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) 

Usage

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) 

Upstream

http://git.freesmartphone.org/?p=vala-terminal.git

Project page on garage.maemo.org

https://garage.maemo.org/projects/vala-terminal/

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
#this
#starting_vertical_fix.patch
#maemo_spesific.patch
#config.h
#control

#Additionally you need valac 0.5.6 on your host computer, it is easy as:
#wget http://download.gnome.org/sources/vala/0.5/vala-0.5.6.tar.bz2
#tar -xvf vala-0.5.6.tar.bz2
#cd vala-0.5.6
#./configure
#make
#make install 


#fetch the sources
git clone git://git.freesmartphone.org/vala-terminal.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/libgtk-x11-2.0.so /usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so -lX11 /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so /usr/lib/libcairo.so /usr/lib/libpangoft2-1.0.so -lXft /usr/lib/libfreetype.so -lz -lfontconfig /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so

#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

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

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


#Control-files
mkdir vala-terminal/CONTROL
cp ../control vala-terminal/CONTROL/control

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

And all necessary files:
control
config.h
maemo_spesific.patch
build-deb-package.sh



Note

Tested on n810 (Diablo and MER)

Contact

aapo(dot)rantalainen(at)gmail(dot)com