#!/usr/bin/perl -w # # Fullscreen program launcher, tfurrows@grex.org # use strict; use Tk; use Tk::PNG; my $main = MainWindow->new(-title => 'DeskPad Launcher',-background => 'black'); $main->overrideredirect (1); $main->MoveToplevelWindow (0,0); $main->geometry(join('x',$main->screenwidth,$main->screenheight)); $main->after(30000, sub { $main->destroy; }); $main->bind('', sub { $main->destroy; }); $main->bind('', sub { $main->destroy; }); my $control = $main->Toplevel(-title => 'DeskPad'); $control->geometry("50x50"); $control->MoveToplevelWindow(-150,-150); $control->bind('', sub { $main->focusForce; }); # Load buttons from config file open my $cfgfile, $ENV{"HOME"}."/.deskpad" or die "Could not open config file: $!\n"; while(my $line = <$cfgfile>) { if (chomp($line) ne "") { my @iconData = split(":",$line); $image = $main->Photo('-format' => 'png', -file => $iconData[0]); $main->Button( -background => 'black', -activebackground => 'black', -highlightthickness => '0', -borderwidth => '0', -relief => 'flat', -command => sub { exec($iconData[1]) }, -image => $image, )->pack->place(-x=>$iconData[2],-y=>$iconData[3]); } } close $cfgfile; MainLoop;