Re: 截图脚本总结说明
发表于 : 2009-05-04 22:19
学习了。不过还要搞perl
代码: 全选
☎ cat ppp.pl
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Gtk2 -init;
sub 退出 {
my ($widget, $status_icon) = @_;
$status_icon->set_visible(0) if $status_icon;
Gtk2->main_quit();
}
sub 弹出菜单 {
my ($widget, $button, $time, $menu) = @_;
if ($button == 3) {
my ($x, $y, $push_in)
= Gtk2::StatusIcon::position_menu($menu, $widget);
$menu->show_all();
$menu->popup( undef, undef,
sub{return ($x,$y,0)} ,
undef, 0, $time );
}
}
sub 截图并贴图 {
`/home/exp/应用/脚本/p-p截图并贴图.bash`;
}
sub 截图 {
`/home/exp/应用/脚本/import-截图`;
}
my $status_icon = Gtk2::StatusIcon->new_from_stock('gtk-home');
my $menu = Gtk2::Menu->new();
my $menuItem = Gtk2::ImageMenuItem->new_with_label("截图");
$menuItem->set_image( Gtk2::Image->new_from_file("/home/exp/应用/脚本/f1.png") );
$menuItem->signal_connect('activate', \&截图);
$menu->append($menuItem);
$menuItem = Gtk2::ImageMenuItem->new_with_label("截图并贴图");
$menuItem->set_image( Gtk2::Image->new_from_file("/home/exp/应用/脚本/f2.png") );
$menuItem->signal_connect('activate', \&截图并贴图);
$menu->append($menuItem);
$menuItem = Gtk2::ImageMenuItem->new_from_stock('gtk-quit');
$menuItem->signal_connect('activate', \&退出, $status_icon);
$menu->append($menuItem);
$status_icon->set_tooltip("截图/贴图/贴文字集合");
$status_icon->signal_connect('activate', \&截图并贴图);
$status_icon->signal_connect('popup-menu', \&弹出菜单, $menu);
$status_icon->set_visible(1);
Gtk2->main();
这个脚本我去试试eexpress 写了:驻留到tray的截图小工具。其实就是调用2个脚本。一个纯截图,一个贴图+文字到paste.ubuntu.org.cn。1 楼的对应脚本等下更新下。
那通知区域的图标,直接点,是截图上传。右键是菜单。
记得修改2个图片地址。
代码: 全选
☎ cat ppp.pl #!/usr/bin/perl use strict; use warnings; use utf8; use Gtk2 -init; sub 退出 { my ($widget, $status_icon) = @_; $status_icon->set_visible(0) if $status_icon; Gtk2->main_quit(); } sub 弹出菜单 { my ($widget, $button, $time, $menu) = @_; if ($button == 3) { my ($x, $y, $push_in) = Gtk2::StatusIcon::position_menu($menu, $widget); $menu->show_all(); $menu->popup( undef, undef, sub{return ($x,$y,0)} , undef, 0, $time ); } } sub 截图并贴图 { `/home/exp/应用/脚本/p-p截图并贴图.bash`; } sub 截图 { `/home/exp/应用/脚本/import-截图`; } my $status_icon = Gtk2::StatusIcon->new_from_stock('gtk-home'); my $menu = Gtk2::Menu->new(); my $menuItem = Gtk2::ImageMenuItem->new_with_label("截图"); $menuItem->set_image( Gtk2::Image->new_from_file("/home/exp/应用/脚本/f1.png") ); $menuItem->signal_connect('activate', \&截图); $menu->append($menuItem); $menuItem = Gtk2::ImageMenuItem->new_with_label("截图并贴图"); $menuItem->set_image( Gtk2::Image->new_from_file("/home/exp/应用/脚本/f2.png") ); $menuItem->signal_connect('activate', \&截图并贴图); $menu->append($menuItem); $menuItem = Gtk2::ImageMenuItem->new_from_stock('gtk-quit'); $menuItem->signal_connect('activate', \&退出, $status_icon); $menu->append($menuItem); $status_icon->set_tooltip("截图/贴图/贴文字集合"); $status_icon->signal_connect('activate', \&截图并贴图); $status_icon->signal_connect('popup-menu', \&弹出菜单, $menu); $status_icon->set_visible(1); Gtk2->main();
代码: 全选
#!/bin/bash
NOW=`date '+%Y-%m-%d-%H-%M-%S'`
FNAME=screenshot-${NOW}
EXT=png
SCRDIR=${HOME}/下载/
if [ -z $1 ];then
scrot -q 1 ${SCRDIR}${FNAME}.${EXT} -e 'echo $f|xsel -i'
elif [ "$1" = "-s" ];then
sleep 2
scrot -bsd 2 -q 1 ${SCRDIR}${FNAME}.${EXT} -e 'echo $f|xsel -i'
notify-send -i gtk-dialog-info "截图完成" ${FNAME}.${EXT}
fi