ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/bin/cv
(Generate patch)

Comparing CV/bin/cv (file contents):
Revision 1.32 by root, Sun Oct 31 21:01:40 2004 UTC vs.
Revision 1.39 by root, Sun May 1 05:53:40 2005 UTC

1#!/opt/bin/perl 1#!/opt/bin/perl
2
3use Cwd ();
4use Encode ();
2 5
3use Gtk2 -init; 6use Gtk2 -init;
4use Gtk2::Gdk::Keysyms; 7use Gtk2::Gdk::Keysyms;
5 8
6use Gtk2::CV::ImageWindow; 9use Gtk2::CV::ImageWindow;
29 (File::Spec->splitpath ($_[1]))[2], 32 (File::Spec->splitpath ($_[1]))[2],
30 -s $_[1]; 33 -s $_[1];
31 $info->set_label ($label); 34 $info->set_label ($label);
32 $viewer->load_image ($_[1]); 35 $viewer->load_image ($_[1]);
33 }); 36 });
37 $s->signal_connect (chdir => sub {
38 my ($self, $dir) = @_;
39
40 my $path = Cwd::abs_path $dir;
41
42 $self->realize;
43 $self->window->property_change (
44 Gtk2::Gdk::Atom->intern ("_X_CWD", 0),
45 Gtk2::Gdk::Atom->intern ("UTF8_STRING", 0),
46 Gtk2::Gdk::CHARS, 'replace',
47 Encode::encode_utf8 $path,
48 );
49 });
34 50
35 $s; 51 $s;
36} 52}
37 53
38sub std_keys { 54sub std_keys {
102 $vbox->add ($schnauzer); 118 $vbox->add ($schnauzer);
103 $vbox->pack_end (my $frame = new Gtk2::Frame, 0, 0, 0); 119 $vbox->pack_end (my $frame = new Gtk2::Frame, 0, 0, 0);
104 $frame->add (my $hbox = new Gtk2::HBox 0, 0); 120 $frame->add (my $hbox = new Gtk2::HBox 0, 0);
105 $hbox->pack_start ((new Gtk2::Label "Info"), 0, 0, 0); 121 $hbox->pack_start ((new Gtk2::Label "Info"), 0, 0, 0);
106 $hbox->pack_start (($info = new Gtk2::Label), 1, 1, 0); 122 $hbox->pack_start (($info = new Gtk2::Label), 1, 1, 0);
123 $info->set (wrap => 1);
107 124
108 $schnauzer->set_geometry_hints; 125 $schnauzer->set_geometry_hints;
109} 126}
110 127
111if (@ARGV) { 128if (@ARGV) {
112 $_ = Glib::filename_to_unicode $_ for @ARGV; 129 $schnauzer->set_paths ([map Glib::filename_to_unicode $_, @ARGV]);
113 $schnauzer->set_paths (\@ARGV);
114 $schnauzer->show_all; 130 $schnauzer->show_all;
115 $schnauzer->handle_key ($Gtk2::Gdk::Keysyms{space}, []); 131 $schnauzer->handle_key ($Gtk2::Gdk::Keysyms{space}, []);
116} else { 132} else {
117 $schnauzer->set_dir (File::Spec->curdir); 133 $schnauzer->set_dir (File::Spec->curdir);
118 $mainwin->show_all; 134 $mainwin->show_all;
135 $viewer->show_all;
119} 136}
120 137
121$viewer->show_all; 138$viewer->show_all;
122 139
123main Gtk2; 140main Gtk2;
157 T rotate counterclockwise° 174 T rotate counterclockwise°
158 ctrl-v open a new visual schnauzer window for the current dir 175 ctrl-v open a new visual schnauzer window for the current dir
159 ctrl-s rescan visual schnauzer files for updates/deletes etc. 176 ctrl-s rescan visual schnauzer files for updates/deletes etc.
160 ctrl-e run an editor ($CV_EDITOR or "gimp") on the current image. 177 ctrl-e run an editor ($CV_EDITOR or "gimp") on the current image.
161 178
179And when playing movies, these additional keys are active:
180
181 left rewind by 10 seconds
182 right forward by 10 seconds
183 down rewind by 60 seconds
184 up forward by 60 seconds
185 pg_up rewind by 600 seconds
186 pg_down forward by 600 seconds
187 o toggle on-screen display
188 p pause/unpause
189 escape stop playing
190 9 turn volume down
191 0 turn volume up
192
162The following keys are redirected to the default visual schnauzer window: 193The following keys are redirected to the default visual schnauzer window:
163 194
164 space next image 195 space next image
165 backspace last image 196 backspace last image
166 197
185 216
186=head1 ENVIRONMENT 217=head1 ENVIRONMENT
187 218
188=over 4 219=over 4
189 220
221=item CV_EDITOR
222
223The program that gets executed when the user presses C<CTRL-e> in the
224Schnauzer or image window. The default is C<gimp>.
225
190=item CV_PRINT_DESTINATION 226=item CV_PRINT_DESTINATION
191 227
192The default (perl-style) destination to use in the print dialog. 228The default (perl-style) destination to use in the print dialog.
229
230=item CV_TRASHCAN
231
232When set, must point to a directory where all files that are deleted are
233moved to. If unset, files that are deleted are really being deleted.
193 234
194=back 235=back
195 236
196=head1 SECURITY CONSIDERATIONS 237=head1 SECURITY CONSIDERATIONS
197 238

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines