#!/usr/bin/perl use warnings; use strict; use Tk; use Tk::FileSelect; my $file_open_dir = "/home/calipso/Desktop"; my $open_file_types = [ ['NZB Files', '.nzb'] ], my $canvas_width = 1000; my $canvas_height = 1000; my $mw = MainWindow->new; $mw->geometry('800x600'); $mw->title("**************"); $mw->configure( -menu => my $menubar = $mw->Menu ); my $file = $menubar->cascade( -label => '~File' ); my $tools = $menubar->cascade( -label => '~Tools' ); my $help = $menubar->cascade( -label => '~Help' ); $file->command( -label => "Import", -accelerator => 'Ctrl-i', -underline => 0, -command => sub { File_Import() }, ); $file->command( -label => "Quit", -accelerator => 'Ctrl-Q', -underline => 0, -command => sub { Exit() }, ); $tools->command( -label => "Options", -underline => 0, -command => sub { Tools_Options() }, ); $help->command( -label => "About", -underline => 0, -command => sub { About() }, ); my $nzb_list_canvas = $mw->Canvas( -width => 200, -height => $canvas_height, -background => 'black', )->pack( -side => 'left', -expand => 1, -padx => 10, -pady => 10 ); my $nzb_segment_canvas = $mw->Canvas( -width => 600, -height => $canvas_height, -background => 'black', )->pack( -side => 'left', -expand => 1, -padx => 10, -pady => 10 ); sub File_Import { my $mw = MainWindow->new; my $nzb_file = $mw->getOpenFile( -title =>"Select NZB File", -initialdir => $file_open_dir, -filetypes => $open_file_types, -defaultextension => '.nzb' ); print qq{You chose to open "$nzb_file"\n} if $nzb_file; } sub Exit { exit(0); } MainLoop;