建议大家不要老想开一个gui软件去截图。用lin的思维来操作截图动作。下面的脚本里,其实多数作用,就是关键的一两行。可以依照喜好,随便修改,调整。设置热键的方式,不同的wm不同。在此不说明了。不喜欢热键的,面板作一个启动器就是。
1。截图并自动保存。选择窗口(点窗口),方块(拖放鼠标框选),桌面(点桌面),都是由鼠标的操作自动定的。你可以为这脚本,设置一个热键。我这里是用Super+i
最近的版本
2。截图并贴图(贴到paste.ubuntu.org.cn)。贴图的结果,在响声提示后,会自动放入剪贴板,直接用鼠标中键就粘贴给别人看。我是绑定到Super+p
脚本有2种软件的实现,其中import对于透明和边框不支持。
[/code]
以前的版本
内部调用的贴图脚本。大家自己修改名字和声音文件路径。需要安装libwww-mechanize-perl 来支持
最近的版本,就增加了同时发鼠标选择的文字而已。
使用compiz的,可以使用下面的方法,看图。
1。截图并自动保存。选择窗口(点窗口),方块(拖放鼠标框选),桌面(点桌面),都是由鼠标的操作自动定的。你可以为这脚本,设置一个热键。我这里是用Super+i
最近的版本
代码:
☎ dog import-截图
NOW=`date '+%Y-%m-%d-%H-%M-%S'`
if [ -z $2 ]; then
FNAME=screenshot-${NOW}
else
FNAME="[$2]-${NOW}"
fi
EXT=png
SCRDIR=${HOME}/下载/
if [ ! -d "${SCRDIR}" ]; then
mkdir -p "${SCRDIR}"
fi
if [ -z $1 ]; then
cmd="import -frame ${SCRDIR}${FNAME}.${EXT}"
else
cmd="import -frame -window $1 ${SCRDIR}${FNAME}.${EXT}"
fi
eval $cmd
echo ${SCRDIR}${FNAME}.${EXT}
NOW=`date '+%Y-%m-%d-%H-%M-%S'`
if [ -z $2 ]; then
FNAME=screenshot-${NOW}
else
FNAME="[$2]-${NOW}"
fi
EXT=png
SCRDIR=${HOME}/下载/
if [ ! -d "${SCRDIR}" ]; then
mkdir -p "${SCRDIR}"
fi
if [ -z $1 ]; then
cmd="import -frame ${SCRDIR}${FNAME}.${EXT}"
else
cmd="import -frame -window $1 ${SCRDIR}${FNAME}.${EXT}"
fi
eval $cmd
echo ${SCRDIR}${FNAME}.${EXT}
2。截图并贴图(贴到paste.ubuntu.org.cn)。贴图的结果,在响声提示后,会自动放入剪贴板,直接用鼠标中键就粘贴给别人看。我是绑定到Super+p
脚本有2种软件的实现,其中import对于透明和边框不支持。
[/code]
以前的版本
代码:
☎ cat p-p截图并贴图.bash
#!/bin/bash
#f=`/home/exp/应用/脚本/import-截图`
#[ -z $f ] && exit;
#/home/exp/应用/脚本/paste-pic.perl $f
#rm $f
cd /home/exp/下载
sleep 2
scrot -sb -e '/home/exp/应用/脚本/paste-pic.perl $f;rm $f'
#!/bin/bash
#f=`/home/exp/应用/脚本/import-截图`
#[ -z $f ] && exit;
#/home/exp/应用/脚本/paste-pic.perl $f
#rm $f
cd /home/exp/下载
sleep 2
scrot -sb -e '/home/exp/应用/脚本/paste-pic.perl $f;rm $f'
内部调用的贴图脚本。大家自己修改名字和声音文件路径。需要安装libwww-mechanize-perl 来支持
最近的版本,就增加了同时发鼠标选择的文字而已。
代码:
☎ dog paste-pic.pl
use utf8;
use strict;
use WWW::Mechanize;
my $poster="eexp";
my $paste_url = 'http://paste.ubuntu.org.cn/';
my $mech = WWW::Mechanize->new();
$mech -> get("$paste_url");
$mech -> submit_form(
fields => {
"screenshot" => $ARGV[0],
"code2" => join("\n",`xsel -o`),
"poster" => $poster
} ,
form_name => "editor" ,
button => "paste"
);
if ($mech->success()) {
my $rr=$mech->uri();
print "贴图地址: $rr 。\n";
`echo $rr|xsel -i`;
`/home/exp/应用/脚本/msg eog-48.png 贴图地址 $rr`;
} else {
`/home/exp/应用/脚本/msg 贴图 失败`;
print "ERROR:\t".$mech->status()."\n";
}
使用到的提示脚本。不需要gui提示的话,就注销掉提示的那2行。不建议使用了,需要perl的模块,要到CPAN下载。
[code]☎ cat tooltip.pl
#!/usr/bin/perl
use strict;
use warnings;
use Glib qw(TRUE FALSE);
use Gtk2 -init;
use Gtk2::Sexy;
use encoding 'utf8';
my $tooltip = Gtk2::Sexy::Tooltip->new;
#my $tp = Gtk2::Sexy::Tooltip->new_with_label ("tip");
my $hbox = Gtk2::HBox->new(FALSE, 5);
$hbox->show;
$tooltip->add($hbox);
#my $image = Gtk2::Image->new_from_stock('gtk-dialog-authentication', 'dialog');
my $image = Gtk2::Image->new_from_file('/home/exp/媒体/d.png');
$image->show;
#$hbox->pack_start($image, FALSE, FALSE, 0);
$hbox->pack_start_defaults($image);
my $label = Gtk2::Label->new;
#$label->set_markup( "正在下载 <span size=\"large\" color=\"red\" weight=\"bold\">". $ARGV[0]. "</span>" );
$label->set_markup( $ARGV[0] );
$label->show;
#$hbox->pack_start($label, TRUE, TRUE, 0);
$hbox->pack_start_defaults($label);
$tooltip->show;
#$tp->show;
eval {
alarm(2);
Gtk2->main;
alarm(0);
}
[/code]
第2种提示的脚本,使用libnotify的。
[code]☎ cat msg
#!/bin/bash
#export DISPLAY=:0 && notify-send -u critical -h string:"sound-file":"/home/exp/媒体/◇事件声音-et/Auf-wiedersehen.wav" -i '/home/exp/媒体/48-png/48-clock_s.png' "计划任务提醒" "<span size='24000' color='red' weight='bold'>"""$*"""</span>"
export DISPLAY=:0 && notify-send -u critical -t 31000 -i '/home/exp/媒体/●图标/48-png/Rss-48.png' "计划任务提醒" "<span size='12000' color='red' weight='bold'>"""$*"""</span>"
aplay '/home/exp/媒体/◇事件声音-et/g2ipmsg.wav'
#ee_tip -text "<span size='24000' color='red' weight='bold'>"""$*"""</span>" -image ~/媒体/d.png -timeout 60
#export DISPLAY=:0 && ee_tip -text "<span size='24000' color='red' weight='bold'>"""$*"""</span>" -image ~/媒体/d.png -timeout 60
#export DISPLAY=:0 && tooltip.pl """$*""" &
#export DISPLAY=:0 && zenity --info --title="计划任务" --text="""$*""" &
[/code]
第3种脚本,使用gnome-osd显示的。安装gnome-osd。
[code]☎ cat osd
#!/bin/bash
gnome-osd-client -f "<message id='myplugin' osd_fake_translucent_bg='on'>$*</message>"
#gnome-osd-client -f "<message id='myplugin' osd_fake_translucent_bg='on' osd_vposition='top' animations='on' hide_timeout='5000' osd_halignment='right'>"$*"</message>"
[/code]
-----------------------------------
改动点点的。
[code]☎ dog p-p截图并贴图.bash
cd /home/exp/下载
sleep 1
if [ -z $1 ]; then
scrot -sb -e '/home/exp/应用/脚本/paste-pic.perl $f;rm $f'
else
scrot -sb -e '/home/exp/应用/脚本/paste-pic-imageshack.perl $f;rm $f'
fi
☎ dog p-p截图并贴图.bash
cd /home/exp/下载
f=`/home/exp/应用/脚本/import-截图`
[ -z $f ] && exit;
/home/exp/应用/脚本/paste-pic.pl $f; rm $f
[/code]
FVWM 的设置:
[code]Key i A 4 Exec import-截图
Key i A 4 Exec scrot.bash
Key p A 4 Exec p-p截图并贴图.bash
Key u A 4 Exec p-p截图并贴图.bash 1
use utf8;
use strict;
use WWW::Mechanize;
my $poster="eexp";
my $paste_url = 'http://paste.ubuntu.org.cn/';
my $mech = WWW::Mechanize->new();
$mech -> get("$paste_url");
$mech -> submit_form(
fields => {
"screenshot" => $ARGV[0],
"code2" => join("\n",`xsel -o`),
"poster" => $poster
} ,
form_name => "editor" ,
button => "paste"
);
if ($mech->success()) {
my $rr=$mech->uri();
print "贴图地址: $rr 。\n";
`echo $rr|xsel -i`;
`/home/exp/应用/脚本/msg eog-48.png 贴图地址 $rr`;
} else {
`/home/exp/应用/脚本/msg 贴图 失败`;
print "ERROR:\t".$mech->status()."\n";
}
使用到的提示脚本。不需要gui提示的话,就注销掉提示的那2行。不建议使用了,需要perl的模块,要到CPAN下载。
[code]☎ cat tooltip.pl
#!/usr/bin/perl
use strict;
use warnings;
use Glib qw(TRUE FALSE);
use Gtk2 -init;
use Gtk2::Sexy;
use encoding 'utf8';
my $tooltip = Gtk2::Sexy::Tooltip->new;
#my $tp = Gtk2::Sexy::Tooltip->new_with_label ("tip");
my $hbox = Gtk2::HBox->new(FALSE, 5);
$hbox->show;
$tooltip->add($hbox);
#my $image = Gtk2::Image->new_from_stock('gtk-dialog-authentication', 'dialog');
my $image = Gtk2::Image->new_from_file('/home/exp/媒体/d.png');
$image->show;
#$hbox->pack_start($image, FALSE, FALSE, 0);
$hbox->pack_start_defaults($image);
my $label = Gtk2::Label->new;
#$label->set_markup( "正在下载 <span size=\"large\" color=\"red\" weight=\"bold\">". $ARGV[0]. "</span>" );
$label->set_markup( $ARGV[0] );
$label->show;
#$hbox->pack_start($label, TRUE, TRUE, 0);
$hbox->pack_start_defaults($label);
$tooltip->show;
#$tp->show;
eval {
alarm(2);
Gtk2->main;
alarm(0);
}
[/code]
第2种提示的脚本,使用libnotify的。
[code]☎ cat msg
#!/bin/bash
#export DISPLAY=:0 && notify-send -u critical -h string:"sound-file":"/home/exp/媒体/◇事件声音-et/Auf-wiedersehen.wav" -i '/home/exp/媒体/48-png/48-clock_s.png' "计划任务提醒" "<span size='24000' color='red' weight='bold'>"""$*"""</span>"
export DISPLAY=:0 && notify-send -u critical -t 31000 -i '/home/exp/媒体/●图标/48-png/Rss-48.png' "计划任务提醒" "<span size='12000' color='red' weight='bold'>"""$*"""</span>"
aplay '/home/exp/媒体/◇事件声音-et/g2ipmsg.wav'
#ee_tip -text "<span size='24000' color='red' weight='bold'>"""$*"""</span>" -image ~/媒体/d.png -timeout 60
#export DISPLAY=:0 && ee_tip -text "<span size='24000' color='red' weight='bold'>"""$*"""</span>" -image ~/媒体/d.png -timeout 60
#export DISPLAY=:0 && tooltip.pl """$*""" &
#export DISPLAY=:0 && zenity --info --title="计划任务" --text="""$*""" &
[/code]
第3种脚本,使用gnome-osd显示的。安装gnome-osd。
[code]☎ cat osd
#!/bin/bash
gnome-osd-client -f "<message id='myplugin' osd_fake_translucent_bg='on'>$*</message>"
#gnome-osd-client -f "<message id='myplugin' osd_fake_translucent_bg='on' osd_vposition='top' animations='on' hide_timeout='5000' osd_halignment='right'>"$*"</message>"
[/code]
-----------------------------------
改动点点的。
[code]☎ dog p-p截图并贴图.bash
cd /home/exp/下载
sleep 1
if [ -z $1 ]; then
scrot -sb -e '/home/exp/应用/脚本/paste-pic.perl $f;rm $f'
else
scrot -sb -e '/home/exp/应用/脚本/paste-pic-imageshack.perl $f;rm $f'
fi
☎ dog p-p截图并贴图.bash
cd /home/exp/下载
f=`/home/exp/应用/脚本/import-截图`
[ -z $f ] && exit;
/home/exp/应用/脚本/paste-pic.pl $f; rm $f
[/code]
FVWM 的设置:
[code]Key i A 4 Exec import-截图
Key i A 4 Exec scrot.bash
Key p A 4 Exec p-p截图并贴图.bash
Key u A 4 Exec p-p截图并贴图.bash 1
使用compiz的,可以使用下面的方法,看图。
返回顶部