IceBG
Publicado por Perfil removido 12/09/2006
[ Hits: 4.723 ]
IceBG utiliza a linguagem TCLl/TK e foi criado no visual-tcl (http://vtcl.sourceforge.net). Ele serve para alterar, modificar (expandir, centralizar, botar lado-a-lado) o seu fundo de tela no IceWM! Mais informações/screenshots em: http://www.geocities.com/ed2ef e download do último lançamento em: http://www.sourceforge.net/projects/icebg
#!/bin/sh
# the next line restarts using wish\
exec wish "$0" "$@"
if {![info exists vTcl(sourcing)]} {
package require Tk
switch $tcl_platform(platform) {
windows {
option add *Button.padY 0
}
default {
option add *Scrollbar.width 10
option add *Scrollbar.highlightThickness 0
option add *Scrollbar.elementBorderWidth 2
option add *Scrollbar.borderWidth 2
}
}
}
#############################################################################
# Visual Tcl v1.60 Project
#
#################################
# VTCL LIBRARY PROCEDURES
#
if {![info exists vTcl(sourcing)]} {
#############################################################################
## Library Procedure: Window
proc ::Window {args} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
global vTcl
foreach {cmd name newname} [lrange $args 0 2] {}
set rest [lrange $args 3 end]
if {$name == "" || $cmd == ""} { return }
if {$newname == ""} { set newname $name }
if {$name == "."} { wm withdraw $name; return }
set exists [winfo exists $newname]
switch $cmd {
show {
if {$exists} {
wm deiconify $newname
} elseif {[info procs vTclWindow$name] != ""} {
eval "vTclWindow$name $newname $rest"
}
if {[winfo exists $newname] && [wm state $newname] == "normal"} {
vTcl:FireEvent $newname <<Show>>
}
}
hide {
if {$exists} {
wm withdraw $newname
vTcl:FireEvent $newname <<Hide>>
return}
}
iconify { if $exists {wm iconify $newname; return} }
destroy { if $exists {destroy $newname; return} }
}
}
#############################################################################
## Library Procedure: vTcl:DefineAlias
proc ::vTcl:DefineAlias {target alias widgetProc top_or_alias cmdalias} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
global widget
set widget($alias) $target
set widget(rev,$target) $alias
if {$cmdalias} {
interp alias {} $alias {} $widgetProc $target
}
if {$top_or_alias != ""} {
set widget($top_or_alias,$alias) $target
if {$cmdalias} {
interp alias {} $top_or_alias.$alias {} $widgetProc $target
}
}
}
#############################################################################
## Library Procedure: vTcl:DoCmdOption
proc ::vTcl:DoCmdOption {target cmd} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
## menus are considered toplevel windows
set parent $target
while {[winfo class $parent] == "Menu"} {
set parent [winfo parent $parent]
}
regsub -all {\%widget} $cmd $target cmd
regsub -all {\%top} $cmd [winfo toplevel $parent] cmd
uplevel #0 [list eval $cmd]
}
#############################################################################
## Library Procedure: vTcl:FireEvent
proc ::vTcl:FireEvent {target event {params {}}} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
## The window may have disappeared
if {![winfo exists $target]} return
## Process each binding tag, looking for the event
foreach bindtag [bindtags $target] {
set tag_events [bind $bindtag]
set stop_processing 0
foreach tag_event $tag_events {
if {$tag_event == $event} {
set bind_code [bind $bindtag $tag_event]
foreach rep "\{%W $target\} $params" {
regsub -all [lindex $rep 0] $bind_code [lindex $rep 1] bind_code
}
set result [catch {uplevel #0 $bind_code} errortext]
if {$result == 3} {
## break exception, stop processing
set stop_processing 1
} elseif {$result != 0} {
bgerror $errortext
}
break
}
}
if {$stop_processing} {break}
}
}
#############################################################################
## Library Procedure: vTcl:Toplevel:WidgetProc
proc ::vTcl:Toplevel:WidgetProc {w args} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
if {[llength $args] == 0} {
## If no arguments, returns the path the alias points to
return $w
}
set command [lindex $args 0]
set args [lrange $args 1 end]
switch -- [string tolower $command] {
"setvar" {
foreach {varname value} $args {}
if {$value == ""} {
return [set ::${w}::${varname}]
} else {
return [set ::${w}::${varname} $value]
}
}
"hide" - "show" {
Window [string tolower $command] $w
}
"showmodal" {
## modal dialog ends when window is destroyed
Window show $w; raise $w
grab $w; tkwait window $w; grab release $w
}
"startmodal" {
## ends when endmodal called
Window show $w; raise $w
set ::${w}::_modal 1
grab $w; tkwait variable ::${w}::_modal; grab release $w
}
"endmodal" {
## ends modal dialog started with startmodal, argument is var name
set ::${w}::_modal 0
Window hide $w
}
default {
uplevel $w $command $args
}
}
}
#############################################################################
## Library Procedure: vTcl:WidgetProc
proc ::vTcl:WidgetProc {w args} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
if {[llength $args] == 0} {
## If no arguments, returns the path the alias points to
return $w
}
## The first argument is a switch, they must be doing a configure.
if {[string index $args 0] == "-"} {
set command configure
## There's only one argument, must be a cget.
if {[llength $args] == 1} {
set command cget
}
} else {
set command [lindex $args 0]
set args [lrange $args 1 end]
}
uplevel $w $command $args
}
#############################################################################
## Library Procedure: vTcl:toplevel
proc ::vTcl:toplevel {args} {
## This procedure may be used free of restrictions.
## Exception added by Christian Gavin on 08/08/02.
## Other packages and widget toolkits have different licensing requirements.
## Please read their license agreements for details.
uplevel #0 eval toplevel $args
set target [lindex $args 0]
namespace eval ::$target {set _modal 0}
}
}
if {[info exists vTcl(sourcing)]} {
proc vTcl:project:info {} {
set base .top59
namespace eval ::widgets::$base {
set set,origin 1
set set,size 1
set runvisible 1
}
namespace eval ::widgets::$base.fra61 {
array set save {-borderwidth 1 -height 1 -relief 1 -width 1}
}
set site_3_0 $base.fra61
namespace eval ::widgets::$site_3_0.cpd62 {
array set save {-highlightcolor 1 -text 1 -width 1}
}
namespace eval ::widgets::$site_3_0.fra65 {
array set save {-borderwidth 1 -height 1 -relief 1 -width 1}
}
set site_4_0 $site_3_0.fra65
namespace eval ::widgets::$site_4_0.ent66 {
array set save {-background 1 -insertbackground 1 -textvariable 1}
}
namespace eval ::widgets::$site_4_0.but67 {
array set save {-command 1 -text 1}
}
namespace eval ::widgets::$site_3_0.lab60 {
array set save {-foreground 1 -highlightcolor 1 -text 1}
}
set site_4_0 $site_3_0.lab60
namespace eval ::widgets::$site_4_0.rad61 {
array set save {-command 1 -text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$site_4_0.rad62 {
array set save {-command 1 -text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$base.but63 {
array set save {-command 1 -text 1}
}
namespace eval ::widgets::$base.but64 {
array set save {-command 1 -text 1}
}
set base .top69
namespace eval ::widgets::$base {
set set,origin 1
set set,size 1
set runvisible 1
}
namespace eval ::widgets::$base.can70 {
array set save {-borderwidth 1 -closeenough 1 -height 1 -insertbackground 1 -relief 1 -selectbackground 1 -selectforeground 1 -width 1}
}
namespace eval ::widgets::$base.m72 {
array set save {-tearoff 1}
namespace eval subOptions {
array set save {-command 1 -label 1 -menu 1}
}
}
set site_3_0 $base.m72
namespace eval ::widgets::$site_3_0.men73 {
array set save {-tearoff 1}
namespace eval subOptions {
array set save {-command 1 -label 1 -menu 1 -variable 1}
}
}
set site_3_0 $base.m72
namespace eval ::widgets::$site_3_0.men68 {
array set save {-tearoff 1}
namespace eval subOptions {
array set save {-command 1 -label 1 -menu 1}
}
}
set site_4_0 $site_3_0.men68
namespace eval ::widgets::$site_4_0.men69 {
array set save {-tearoff 1}
namespace eval subOptions {
array set save {-command 1 -label 1 -value 1 -variable 1}
}
}
namespace eval ::widgets::$base.fra74 {
array set save {-borderwidth 1 -height 1 -relief 1 -width 1}
}
set site_3_0 $base.fra74
namespace eval ::widgets::$site_3_0.lis75 {
array set save {-background 1 -listvariable 1 -xscrollcommand 1 -yscrollcommand 1}
}
namespace eval ::widgets::$site_3_0.scr76 {
array set save {-command 1}
}
namespace eval ::widgets::$site_3_0.scr77 {
array set save {-command 1 -orient 1}
}
set base .top70
namespace eval ::widgets::$base {
set set,origin 1
set set,size 1
set runvisible 0
}
namespace eval ::widgets::$base.lab71 {
array set save {-foreground 1 -highlightcolor 1 -text 1}
}
set site_3_0 $base.lab71
namespace eval ::widgets::$site_3_0.rad73 {
array set save {-text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$site_3_0.rad74 {
array set save {-text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$site_3_0.rad75 {
array set save {-text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$base.lab72 {
array set save {-borderwidth 1 -foreground 1 -height 1 -highlightcolor 1 -relief 1 -text 1 -width 1}
}
set site_3_0 $base.lab72
namespace eval ::widgets::$site_3_0.rad76 {
array set save {-text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$site_3_0.rad77 {
array set save {-text 1 -value 1 -variable 1}
}
namespace eval ::widgets::$base.but78 {
array set save {-command 1 -text 1}
}
namespace eval ::widgets::$base.but69 {
array set save {-command 1 -text 1}
}
set base .top71
namespace eval ::widgets::$base {
set set,origin 1
set set,size 1
set runvisible 1
}
namespace eval ::widgets::$base.fra72 {
array set save {-borderwidth 1 -height 1 -highlightcolor 1 -relief 1 -width 1}
}
set site_3_0 $base.fra72
namespace eval ::widgets::$site_3_0.lab73 {
array set save {-foreground 1 -highlightcolor 1 -text 1}
}
set site_4_0 $site_3_0.lab73
namespace eval ::widgets::$site_4_0.lis74 {
array set save {-background 1 -foreground 1 -highlightcolor 1 -listvariable 1 -selectbackground 1 -selectforeground 1 -xscrollcommand 1 -yscrollcommand 1}
}
namespace eval ::widgets::$site_4_0.scr75 {
array set save {-activebackground 1 -command 1 -highlightcolor 1 -orient 1 -troughcolor 1 -width 1}
}
namespace eval ::widgets::$site_4_0.scr76 {
array set save {-activebackground 1 -command 1 -highlightcolor 1 -troughcolor 1 -width 1}
}
namespace eval ::widgets::$site_3_0.but77 {
array set save {-activebackground 1 -activeforeground 1 -command 1 -foreground 1 -highlightcolor 1 -text 1}
}
namespace eval ::widgets::$site_3_0.but78 {
array set save {-activebackground 1 -activeforeground 1 -command 1 -foreground 1 -highlightcolor 1 -text 1}
}
namespace eval ::widgets::$base.but79 {
array set save {-command 1 -text 1}
}
namespace eval ::widgets_bindings {
set tagslist _TopLevel
}
namespace eval ::vTcl::modules::main {
set procs {
init
main
}
set compounds {
}
set projectType single
}
}
}
#################################
# USER DEFINED PROCEDURES
#
#############################################################################
## Procedure: main
proc ::main {argc argv} {
#------------------------------------------------------------------------------------
# Procura Os Arquivos...
#------------------------------------------------------------------------------------
set HOME [exec env | sed -n "/HOME=/p" | sed "/.*.HOME/d" | sed "s/HOME=//"]
set config [file exist $HOME/.icebg/config]
set lingua [file exist $HOME/.icebg/lingua]
if { "$config" == "1" && "$lingua" == "1" } {set pasta [exec cat $HOME/.icebg/config]
set lingua [exec cat $HOME/.icebg/lingua]
if { "$lingua" == "ptbr" } {.top69.m72.men68.men69 invoke 0} {.top69.m72.men68.men69 invoke 1}
set bg []
if { "$pasta" != "" } {foreach A $pasta {
set bg2 [concat [exec find $A -name "*.jpg" -or -name "*.png" -or -name "*.bmp" -or -name "*.xpm" -or -name "*.gif" -or -name "*.jpeg" | sed s/^/"/ | sed s/$/"/]]
set bg [concat "$bg\n$bg2"]}
#------------------------------------------------------------------------------------
# Variavel Da Caixa De Lista....
#------------------------------------------------------------------------------------
Toplevel1 setvar bgs [concat $bg]
Window show .top69}} {set idioma [exec echo [exec env | sed -n "/LANG=/p" | sed "s/LANG=//"] | sed "s/[subst -nocommands {[^pt]}].*.//"]
if { "$idioma" == "pt" } {Toplevel2 setvar selectedButton [concat ptbr]
Toplevel1 setvar menuSelectedButton [concat ptbr]
.top69.m72.men68.men69 invoke 0} {Toplevel2 setvar selectedButton [concat en]
Toplevel1 setvar menuSelectedButton [concat en]
.top69.m72.men68.men69 invoke 1}
Window show .top59}
}
#############################################################################
## Initialization Procedure: init
proc ::init {argc argv} {
}
init $argc $argv
#################################
# VTCL GENERATED GUI PROCEDURES
#
proc vTclWindow. {base} {
if {$base == ""} {
set base .
}
###################
# CREATING WIDGETS
###################
wm focusmodel $top passive
wm geometry $top 1x1+0+0; update
wm maxsize $top 785 570
wm minsize $top 1 1
wm overrideredirect $top 0
wm resizable $top 1 1
wm withdraw $top
wm title $top "vtcl.tcl"
bindtags $top "$top Vtcl.tcl all"
vTcl:FireEvent $top <<Create>>
wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
###################
# SETTING GEOMETRY
###################
vTcl:FireEvent $base <<Ready>>
}
proc vTclWindow.top59 {base} {
if {$base == ""} {
set base .top59
}
if {[winfo exists $base]} {
wm deiconify $base; return
}
set top $base
###################
# CREATING WIDGETS
###################
vTcl:toplevel $top -class Toplevel \
-highlightcolor black
wm withdraw $top
wm focusmodel $top passive
wm geometry $top 339x185+247+250; update
wm maxsize $top 785 570
wm minsize $top 1 1
wm overrideredirect $top 0
wm resizable $top 1 1
wm title $top "Diretorio Default...."
vTcl:DefineAlias "$top" "Toplevel2" vTcl:Toplevel:WidgetProc "" 1
bindtags $top "$top Toplevel all _TopLevel"
vTcl:FireEvent $top <<Create>>
wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
frame $top.fra61 \
-borderwidth 2 -relief groove -height 145 -width 330
vTcl:DefineAlias "$top.fra61" "Frame1" vTcl:WidgetProc "Toplevel2" 1
set site_3_0 $top.fra61
message $site_3_0.cpd62 \
-highlightcolor black \
-text {Digite O diretorio Padrão Do IceBG.Você Poderá Posteriormente Modificar O Diretorio Default ou Adicionar Mais Outros...} \
-width 314
vTcl:DefineAlias "$site_3_0.cpd62" "Message1" vTcl:WidgetProc "Toplevel2" 1
frame $site_3_0.fra65 \
-borderwidth 2 -relief groove -height 30 -width 320
vTcl:DefineAlias "$site_3_0.fra65" "Frame2" vTcl:WidgetProc "Toplevel2" 1
set site_4_0 $site_3_0.fra65
entry $site_4_0.ent66 \
-background white -insertbackground black \
-textvariable "$top\::ent66"
vTcl:DefineAlias "$site_4_0.ent66" "Entry1" vTcl:WidgetProc "Toplevel2" 1
button $site_4_0.but67 \
\
-command {set pasta [tk_chooseDirectory]
Toplevel2 setvar ent66 [concat $pasta]} \
-text ...
vTcl:DefineAlias "$site_4_0.but67" "Button3" vTcl:WidgetProc "Toplevel2" 1
place $site_4_0.ent66 \
-in $site_4_0 -x 5 -y 5 -width 268 -height 22 -anchor nw \
-bordermode ignore
place $site_4_0.but67 \
-in $site_4_0 -x 280 -y 5 -width 34 -height 21 -anchor nw \
-bordermode ignore
labelframe $site_3_0.lab60 \
-foreground black -text Idioma -highlightcolor black
vTcl:DefineAlias "$site_3_0.lab60" "Labelframe1" vTcl:WidgetProc "Toplevel2" 1
set site_4_0 $site_3_0.lab60
radiobutton $site_4_0.rad61 \
-command {.top69.m72.men68.men69 invoke 0} -text Portugues(Brasil) \
-value ptbr -variable "$top\::selectedButton"
vTcl:DefineAlias "$site_4_0.rad61" "Radiobutton1" vTcl:WidgetProc "Toplevel2" 1
radiobutton $site_4_0.rad62 \
-command {.top69.m72.men68.men69 invoke 1} -text English -value en \
-variable "$top\::selectedButton"
vTcl:DefineAlias "$site_4_0.rad62" "Radiobutton2" vTcl:WidgetProc "Toplevel2" 1
place $site_4_0.rad61 \
-in $site_4_0 -x 10 -y 20 -anchor nw -bordermode ignore
place $site_4_0.rad62 \
-in $site_4_0 -x 160 -y 20 -width 153 -height 22 -anchor nw \
-bordermode ignore
place $site_3_0.cpd62 \
-in $site_3_0 -x 5 -y 5 -width 314 -height 45 -anchor nw \
-bordermode inside
place $site_3_0.fra65 \
-in $site_3_0 -x 5 -y 55 -width 320 -height 30 -anchor nw \
-bordermode ignore
place $site_3_0.lab60 \
-in $site_3_0 -x 5 -y 90 -width 321 -height 51 -anchor nw \
-bordermode ignore
button $top.but63 \
\
-command {set HOME [concat $env(HOME)]
set pasta [Toplevel2 setvar ent66]
if { "$pasta" != "" } {exec mkdir -p $HOME/.icebg
exec echo "$pasta" > $HOME/.icebg/config
exec echo "[Toplevel2 setvar selectedButton]" > $HOME/.icebg/lingua
set config [file exist $HOME/.icebg/config]
set pasta [exec cat $HOME/.icebg/config]
set jpg [exec find $pasta -name *.jpg]
set png [exec find $pasta -name *.png | sed s/^/"/ | sed s/$/"/ ]
set bmp [exec find $pasta -name *.bmp | sed s/^/"/ | sed s/$/"/ ]
set xpm [exec find $pasta -name *.xpm | sed s/^/"/ | sed s/$/"/ ]
set gif [exec find $pasta -name *.gif | sed s/^/"/ | sed s/$/"/ ]
set jpeg [exec find $pasta -name *.jpeg | sed s/^/"/ | sed s/$/"/ ]
#------------------------------------------------------------------------------------
# Variavel Da Caixa De Lista....
#------------------------------------------------------------------------------------
Toplevel1 setvar bgs [concat $jpg $png $bmp $xpm $gif $jpeg]
Window hide .top59
Window show .top69} { tk_messageBox -icon error -title "Erro" -message "Por Favor Entre Com Um Diretorio Padrão Inicial!\nComo Ja Lhe Foi Dito,Este Posteriormente Poderá Ser Modificado Ou Removido!"}} \
-text Adicionar
vTcl:DefineAlias "$top.but63" "Button1" vTcl:WidgetProc "Toplevel2" 1
button $top.but64 \
-command {Window hide .top59} -text Sair
vTcl:DefineAlias "$top.but64" "Button2" vTcl:WidgetProc "Toplevel2" 1
###################
# SETTING GEOMETRY
###################
place $top.fra61 \
-in $top -x 5 -y 5 -width 330 -height 145 -anchor nw \
-bordermode ignore
place $top.but63 \
-in $top -x 260 -y 155 -anchor nw -bordermode ignore
place $top.but64 \
-in $top -x 5 -y 155 -anchor nw -bordermode ignore
vTcl:FireEvent $base <<Ready>>
}
proc vTclWindow.top69 {base} {
if {$base == ""} {
set base .top69
}
if {[winfo exists $base]} {
wm deiconify $base; return
}
set top $base
###################
# CREATING WIDGETS
###################
vTcl:toplevel $top -class Toplevel \
-menu "$top.m72" -highlightcolor black
wm focusmodel $top passive
wm geometry $top 263x260+281+111; update
wm maxsize $top 785 570
wm minsize $top 1 1
wm overrideredirect $top 0
wm resizable $top 1 1
wm deiconify $top
wm title $top "IceBG By Ed2!"
vTcl:DefineAlias "$top" "Toplevel1" vTcl:Toplevel:WidgetProc "" 1
bindtags $top "$top Toplevel all _TopLevel"
vTcl:FireEvent $top <<Create>>
wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
canvas $top.can70 \
-borderwidth 2 -closeenough 1.0 -height 135 -insertbackground black \
-relief ridge -selectbackground #c4c4c4 -selectforeground black \
-width 137
vTcl:DefineAlias "$top.can70" "imagem" vTcl:WidgetProc "Toplevel1" 1
menu $top.m72 \
-tearoff 1
$top.m72 add cascade \
-menu "$top.m72.men73" -command {} -label Menu
set site_3_0 $top.m72
menu $site_3_0.men73 \
-tearoff 0
$site_3_0.men73 add command \
\
-command {set pasta [exec env | sed -n "/HOME/p" | sed "/.*.HOME/d" | sed "s/HOME=//"]
set existe [file exist $pasta/.icewm/prefoverride]
if { $existe == 0 } { .top70.lab72.rad77 select }
if { $existe == 1 } {set procura [exec sed -n "/DesktopBackgroundImage=/p" $pasta/.icewm/prefoverride]
if { $procura == "" } { .top70.lab72.rad77 select }
if { $procura != "" } { .top70.lab72.rad76 select }}
set centralizado [exec sed -n "/DesktopBackgroundCenter=/p" $pasta/.icewm/preferences | sed "s/DesktopBackgroundCenter=//"]
set expandido [exec sed -n "/DesktopBackgroundScaled=/p" $pasta/.icewm/preferences | sed "s/DesktopBackgroundScaled=//"]
if { $expandido == 1 } {.top70.lab71.rad73 select}
if { $centralizado == 1 } {.top70.lab71.rad74 select}
if { $centralizado == 0 && $expandido == 0 } {.top70.lab71.rad75 select}
if { $centralizado == "" && $expandido == "" } {.top70.lab71.rad75 select}
Window show .top70} \
-label Salvar/Modificar
$site_3_0.men73 add separator \
$site_3_0.men73 add command \
\
-command {#-------------------------------------------------------------
set HOME [exec env | sed -n "/HOME/p" | sed "/.*.HOME/d" | sed "s/HOME=//"]
set pasta [tk_chooseDirectory]
set config [file exist $HOME/.icebg/config]
if { "$config" == "1" } {set pasta2 [regsub -all {/} "$pasta" {\/}]
set ver [exec cat $HOME/.icebg/config | sed "/$pasta2.*./d" |sed -n "/$pasta2/p"]
if { "$ver" == "" } {exec echo "$pasta" >> $HOME/.icebg/config
set arquivo []
foreach A [exec cat $HOME/.icebg/config] {
set arquivo2 [exec find "$A" -name "*.jpg" -or -name "*.png" -or -name "*.bmp" -or -name "*.xpm" -or -name "*.gif" -or -name "*.jpeg" | sed s/^/"/ | sed s/$/"/]
set arquivo [concat "$arquivo\n$arquivo2"]
}
Toplevel1 setvar bgs [concat "$arquivo"]} {tk_messageBox -icon error -title "Erro" -message "A Pasta $pasta Ja Existe Em Seu Config..\nPor Favor Adicione Outra"}}} \
-label {Adicionar Pasta}
$site_3_0.men73 add command \
\
-command {#-----------------------------------------------------------------
set l $widget(lista)
#-----------------------------------------------------------------
set tipos {
{{Arquivo JPG} {.jpg .jpeg}}
{{Arquivo GIF} {.gif}}
{{Arquivo PNG} {.png}}
{{Arquivo BMP} {.bmp}}
{{Arquivo XPM} {.xpm}}
{{Todos Arquivos} *}
}
#-----------------------------------------------------------------
set arq [ tk_getOpenFile -filetypes $tipos]
#-----------------------------------------------------------------
$l insert end $arq} \
-label {Adicionar Arquivo}
$site_3_0.men73 add separator \
$site_3_0.men73 add command \
-command {exec icewmbg -r &
exec killall idesk
exec idesk &} \
-label {Atualizar Fundo de Tela}
$site_3_0.men73 add separator \
$site_3_0.men73 add command \
-command exit -label Sair
$top.m72 add cascade \
-menu "$top.m72.men68" -command {} -label Outros
set site_3_0 $top.m72
menu $site_3_0.men68 \
-tearoff 0
$site_3_0.men68 add cascade \
-menu "$site_3_0.men68.men69" -command {} -label Idioma
set site_4_0 $site_3_0.men68
menu $site_4_0.men69 \
-tearoff 0
$site_4_0.men69 add radiobutton \
-value ptbr -variable "$top\::menuSelectedButton" \
-command {# TODO: Your menu handler here
#-----------------------------------------------------------------------------------------
# Escreve o arquivo lingua
#-----------------------------------------------------------------------------------------
set HOME [concat $env(HOME)]
exec mkdir -p $HOME/.icebg
exec echo "ptbr" > $HOME/.icebg/lingua
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela De Criaçao Do Diretorio E Ajuste Da Lingua
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top59.but63 configure -text "Adicionar"
.top59.but64 configure -text "Sair"
#-------------------------------------------------------------------
# Modifica Rotulos Do Frame
#-------------------------------------------------------------------
.top59.fra61.lab60 configure -text "Idioma"
#-------------------------------------------------------------------
# Modifica Rotulo
#-------------------------------------------------------------------
.top59.fra61.cpd62 configure -text {Digite O diretorio Padrão Do IceBG.Você Poderá Posteriormente Modificar O Diretorio Default ou Adicionar Mais Outros...}
#-----------------------------------------------------------------------------------------
# Modifica Os Menus
#-----------------------------------------------------------------------------------------
.top69.m72 entryconfigure 3 -label "Sobre"
.top69.m72 entryconfigure 2 -label "Outros"
#-----------------------------------------------------------------------------------------
# Modifica Os Sub-Menus
#-----------------------------------------------------------------------------------------
# Primeiro
#-------------------------------------------------------------------
.top69.m72.men73 entryconfigure 0 -label "Salvar/Modificar"
.top69.m72.men73 entryconfigure 2 -label "Adicionar Pasta"
.top69.m72.men73 entryconfigure 3 -label "Adicionar Arquivo"
.top69.m72.men73 entryconfigure 5 -label "Atualizar Fundo de Tela"
.top69.m72.men73 entryconfigure 7 -label "Sair"
#-------------------------------------------------------------------
# Segundo
#-------------------------------------------------------------------
.top69.m72.men68 entryconfigure 0 -label "Idioma"
.top69.m72.men68 entryconfigure 1 -label "Organizar Diretorios"
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela Do Salvar/Modificar
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top70.but69 configure -text "Cancelar"
#-------------------------------------------------------------------
# Modifica Rotulos Dos Frames
#-------------------------------------------------------------------
.top70.lab72 configure -text "Hierarquia Do Fundo de Tela:"
.top70.lab71 configure -text "Posiçao do Fundo de Tela:"
#-------------------------------------------------------------------
# Modifica Os Rotulos Dos Radiobutton
#-------------------------------------------------------------------
.top70.lab72.rad76 configure -text {Fundo de Tela Padrão.Será
escrito no .icewm/prefoverride}
.top70.lab72.rad77 configure -text {Fundo de Tela não-padrão.Será
escrito no .icewm/preferences}
.top70.lab71.rad73 configure -text {Expandido}
.top70.lab71.rad74 configure -text {Centralizado}
.top70.lab71.rad75 configure -text {Lado A Lado}
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela Organizar Diretorios
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top71.but79 configure -text "Sair"
.top71.fra72.but77 configure -text "Adicionar"
.top71.fra72.but78 configure -text "Deletar"
#-------------------------------------------------------------------
# Modifica Rotulos Dos Frames
#-------------------------------------------------------------------
.top71.fra72.lab73 configure -text "Diretorios"} \
-label Portugues(Brasil)
$site_4_0.men69 add radiobutton \
-value en -variable "$top\::menuSelectedButton" \
-command {# TODO: Your menu handler here
#-----------------------------------------------------------------------------------------
# Escreve o arquivo lingua
#-----------------------------------------------------------------------------------------
set HOME [concat $env(HOME)]
exec mkdir -p $HOME/.icebg
exec echo "en" > $HOME/.icebg/lingua
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela De Criaçao Do Diretorio E Ajuste Da Lingua
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top59.but63 configure -text "Add"
.top59.but64 configure -text "Exit"
#-------------------------------------------------------------------
# Modifica Rotulos Do Frame
#-------------------------------------------------------------------
.top59.fra61.lab60 configure -text "Language"
#-------------------------------------------------------------------
# Modifica Rotulo
#-------------------------------------------------------------------
.top59.fra61.cpd62 configure -text {Type the name of the default directory of IceBG. Note that you Can later change this directory or even add more others to incrise the database!}
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela Incial/Principal
#-----------------------------------------------------------------------------------------
# Modifica Os Menus
#-----------------------------------------------------------------------------------------
.top69.m72 entryconfigure 3 -label "About"
.top69.m72 entryconfigure 2 -label "Others"
#-----------------------------------------------------------------------------------------
# Modifica Os Sub-Menus
#-----------------------------------------------------------------------------------------
# Primeiro
#-------------------------------------------------------------------
.top69.m72.men73 entryconfigure 0 -label "Save/Modify"
.top69.m72.men73 entryconfigure 2 -label "Add Folder"
.top69.m72.men73 entryconfigure 3 -label "Add File"
.top69.m72.men73 entryconfigure 5 -label "Refresh Background"
.top69.m72.men73 entryconfigure 7 -label "Exit"
#-------------------------------------------------------------------
# Segundo
#-------------------------------------------------------------------
.top69.m72.men68 entryconfigure 0 -label "Language"
.top69.m72.men68 entryconfigure 1 -label "Manage Directories"
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela Do Salvar/Modificar
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top70.but69 configure -text "Cancel"
#-------------------------------------------------------------------
# Modifica Rotulos Dos Frames
#-------------------------------------------------------------------
.top70.lab72 configure -text "Background Hierarchy"
.top70.lab71 configure -text "Background Position"
#-------------------------------------------------------------------
# Modifica Os Rotulos Dos Radiobutton
#-------------------------------------------------------------------
.top70.lab72.rad76 configure -text {Default Background.It will be wrote
in .icewm/prefoverride}
.top70.lab72.rad77 configure -text {Non-Default Background.It will be
wrote in .icewm/preferences}
.top70.lab71.rad73 configure -text {Scaled}
.top70.lab71.rad74 configure -text {Centered}
.top70.lab71.rad75 configure -text {Side by Side}
#----------------------------------------------------------------------------------------------------------------------------------------------
# Janela Organizar Diretorios
#-----------------------------------------------------------------------------------------
# Modifica Botões
#-------------------------------------------------------------------
.top71.but79 configure -text "Exit"
.top71.fra72.but77 configure -text "Add"
.top71.fra72.but78 configure -text "Delete"
#-------------------------------------------------------------------
# Modifica Rotulos Dos Frames
#-------------------------------------------------------------------
.top71.fra72.lab73 configure -text "Directories"} \
-label English
$site_3_0.men68 add command \
\
-command {# TODO: Your menu handler here
set HOME [concat $env(HOME)]
set lista [exec cat $HOME/.icebg/config]
Listadir delete -1 end
foreach I $lista {
Listadir insert end $I
}
Window show .top71} \
-label {Organizar Diretorios}
$top.m72 add command \
\
-command [list vTcl:DoCmdOption $top.m72 {if { [Toplevel1 setvar menuSelectedButton] == "ptbr" } {tk_messageBox -title "Sobre O IceBG" -message {IceBG Eh Um Produto 100% Brasileiro[<o>], Feito Por
Eduardo Fagundes Filippo!
Criticas,Sugestões,Duvidas Mande Um E-mail Para:
ed2ef@yahoo.com.br
ou
Via Orkut:
http://www.orkut.com/Profile.aspx?uid=18406490453974940886}} {tk_messageBox -title "About IceBG" -message {IceBG Is A Product 100% Brazilian [<o>], Made By
Eduardo Fagundes Filippo!
Critics,Suggestions,Doubts Send A E-mail To:
ed2ef@yahoo.com.br
or
Scrap On Orkut:
http://www.orkut.com/Profile.aspx?uid=18406490453974940886}}}] \
-label Sobre
frame $top.fra74 \
-borderwidth 2 -relief groove -height 110 -width 255
vTcl:DefineAlias "$top.fra74" "Frame1" vTcl:WidgetProc "Toplevel1" 1
set site_3_0 $top.fra74
listbox $site_3_0.lis75 \
-background white -xscrollcommand "$site_3_0.scr77 set" \
-yscrollcommand "$site_3_0.scr76 set" -listvariable "$top\::bgs"
vTcl:DefineAlias "$site_3_0.lis75" "lista" vTcl:WidgetProc "Toplevel1" 1
bind $site_3_0.lis75 <Double-Button-1> {
#----------------------------------------------------------------
# VARIAVEIS |
#----------------------------------------------------------------
set l $widget(lista)
set i $widget(imagem)
set HOME [concat $env(HOME)]
#----------------------------------------------------------------
# Limpar Tela: |
#----------------------------------------------------------------
$i delete all
#----------------------------------------------------------------
# Imagem: |
#----------------------------------------------------------------
set ic [$l get active]
set ico [regsub -all {,} $ic { }]
set ident [exec identify $ico]
set identi [regsub -all $ico $ident {}]
set troca [regsub -all { } $identi ,]
set tamanho [exec echo $troca | cut -d, -f3]
set foto [exec convert -size $tamanho tile:$ico -resize 130x150 $HOME/.icebg/foto.gif]
set object [image create photo -file $HOME/.icebg/foto.gif]
$i create image 70 70 -image $object
exec rm $HOME/.icebg/foto.gif
}
scrollbar $site_3_0.scr76 \
-command "$site_3_0.lis75 yview"
vTcl:DefineAlias "$site_3_0.scr76" "Scrollbar1" vTcl:WidgetProc "Toplevel1" 1
scrollbar $site_3_0.scr77 \
-command "$site_3_0.lis75 xview" -orient horizontal
vTcl:DefineAlias "$site_3_0.scr77" "Scrollbar2" vTcl:WidgetProc "Toplevel1" 1
place $site_3_0.lis75 \
-in $site_3_0 -x 5 -y 5 -width 233 -height 86 -anchor nw \
-bordermode ignore
place $site_3_0.scr76 \
-in $site_3_0 -x 235 -y 5 -width 16 -height 87 -anchor nw \
-bordermode ignore
place $site_3_0.scr77 \
-in $site_3_0 -x 5 -y 90 -width 232 -height 16 -anchor nw \
-bordermode ignore
###################
# SETTING GEOMETRY
###################
place $top.can70 \
-in $top -x 60 -y 5 -width 137 -height 135 -anchor nw \
-bordermode ignore
place $top.fra74 \
-in $top -x 5 -y 145 -width 255 -height 110 -anchor nw \
-bordermode ignore
vTcl:FireEvent $base <<Ready>>
}
proc vTclWindow.top70 {base} {
if {$base == ""} {
set base .top70
}
if {[winfo exists $base]} {
wm deiconify $base; return
}
set top $base
###################
# CREATING WIDGETS
###################
vTcl:toplevel $top -class Toplevel \
-highlightcolor black
wm withdraw $top
wm focusmodel $top passive
wm geometry $top 256x210+281+173; update
wm maxsize $top 785 570
wm minsize $top 1 1
wm overrideredirect $top 0
wm resizable $top 1 1
wm title $top "Configurar..."
vTcl:DefineAlias "$top" "Toplevel3" vTcl:Toplevel:WidgetProc "" 1
bindtags $top "$top Toplevel all _TopLevel"
vTcl:FireEvent $top <<Create>>
wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
labelframe $top.lab71 \
-foreground black -text {Posiçao do Fundo de Tela:} \
-highlightcolor black
vTcl:DefineAlias "$top.lab71" "Labelframe1" vTcl:WidgetProc "Toplevel3" 1
set site_3_0 $top.lab71
radiobutton $site_3_0.rad73 \
-text Expandido -value expandido -variable "$top\::selectedButton2"
vTcl:DefineAlias "$site_3_0.rad73" "exp" vTcl:WidgetProc "Toplevel3" 1
radiobutton $site_3_0.rad74 \
-text Centralizado -value centralizado \
-variable "$top\::selectedButton2"
vTcl:DefineAlias "$site_3_0.rad74" "cen" vTcl:WidgetProc "Toplevel3" 1
radiobutton $site_3_0.rad75 \
-text {Lado A Lado} -value ladoalado \
-variable "$top\::selectedButton2"
vTcl:DefineAlias "$site_3_0.rad75" "lado" vTcl:WidgetProc "Toplevel3" 1
place $site_3_0.rad73 \
-in $site_3_0 -x 10 -y 20 -anchor nw -bordermode ignore
place $site_3_0.rad74 \
-in $site_3_0 -x 10 -y 40 -anchor nw -bordermode ignore
place $site_3_0.rad75 \
-in $site_3_0 -x 10 -y 60 -anchor nw -bordermode ignore
labelframe $top.lab72 \
-borderwidth 2 -foreground black -relief groove \
-text {Hierarquia Do Fundo de Tela:} -height 0 -highlightcolor black \
-width 0
vTcl:DefineAlias "$top.lab72" "Labelframe2" vTcl:WidgetProc "Toplevel3" 1
set site_3_0 $top.lab72
radiobutton $site_3_0.rad76 \
-text {Fundo de Tela Padrão.Será
escrito no .icewm/prefoverride} \
-value bgpadrao -variable "$top\::selectedButton"
vTcl:DefineAlias "$site_3_0.rad76" "bgp" vTcl:WidgetProc "Toplevel3" 1
radiobutton $site_3_0.rad77 \
-text {Fundo de Tela não-padrão.Será
escrito no .icewm/preferences} \
-value bgnpadrao -variable "$top\::selectedButton"
vTcl:DefineAlias "$site_3_0.rad77" "bgnp" vTcl:WidgetProc "Toplevel3" 1
place $site_3_0.rad76 \
-in $site_3_0 -x 5 -y 20 -width 236 -height 34 -anchor nw \
-bordermode ignore
place $site_3_0.rad77 \
-in $site_3_0 -x 5 -y 55 -width 235 -height 45 -anchor nw \
-bordermode ignore
button $top.but78 \
\
-command {#----------------------------------------------------------
# Variavel: |
#----------------------------------------------------------
set pasta [exec env | sed -n "/HOME/p" | sed "/.*.HOME/d" | sed "s/HOME=//"]
#---------------------------------------------------------------------------
set bp $widget(bgp)
set bnp $widget(bgnp)
set e $widget(exp)
set c $widget(cen)
set la $widget(lado)
set l $widget(lista)
set rl [regsub {,} [$l get active] { }]
#----------------------------------------------------------------------------
set v1 [exec sed -n "/DesktopBackgroundImage=/p" $pasta/.icewm/preferences]
set v2 [file exist $pasta/.icewm/prefoverride]
#-----------------------------------------------------------------------------
set centralizado [exec sed -n "/DesktopBackgroundCenter=/p" $pasta/.icewm/preferences | sed "s/DesktopBackgroundCenter=//"]
set expandido [exec sed -n "/DesktopBackgroundScaled=/p" $pasta/.icewm/preferences | sed "s/DesktopBackgroundScaled=//"]
set op [exec echo [Toplevel3 setvar selectedButton]]
set op2 [exec echo [Toplevel3 setvar selectedButton2]]
#----------------------------------------------------------
# Botões: |
#----------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
# Bg Como Padrao..........
#-----------------------------------------------------------------------------------------------------------------------
if { $op == "bgpadrao" } {if { $v1 == "" } {exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/preferences}
if { $v1 != ""} {exec sed "/# Fundo De Tela/d" $pasta/.icewm/preferences > $pasta/.icewm/preferences2
exec sed "/DesktopBackgroundImage=/d" $pasta/.icewm/preferences2 > $pasta/.icewm/preferences
exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/preferences}
if { $v2 == 0 } {exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/prefoverride}
if { $v2 == 1 } {set branco [exec sed -n "/DesktopBackgroundImage=/p" $pasta/.icewm/prefoverride]
if { $branco == "" } {exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/prefoverride}
if { $branco != ""} {exec sed "/# Fundo De Tela/d" $pasta/.icewm/prefoverride > $pasta/.icewm/prefoverride2
exec sed "/DesktopBackgroundImage=/d" $pasta/.icewm/prefoverride2 > $pasta/.icewm/prefoverride
exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/prefoverride}}}
#----------------------------------------------------------------------------------------------------------------------
# Bg Como Nao Padrao......
#----------------------------------------------------------------------------------------------------------------------
if { $op == "bgnpadrao" } {if { $v1 == "" } {exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/preferences}
if { $v1 != ""} {exec sed "/# Fundo De Tela/d" $pasta/.icewm/preferences > $pasta/.icewm/preferences2
exec sed "/DesktopBackgroundImage=/d" $pasta/.icewm/preferences2 > $pasta/.icewm/preferences
exec echo "# Fundo De Tela
DesktopBackgroundImage='$rl'" >> $pasta/.icewm/preferences}
exec rm -f $pasta/.icewm/prefoverride}
#----------------------------------------------------------------------------------------------------------------------
# ....C/ Fundo Expandido:
#----------------------------------------------------------------------------------------------------------------------
if { $op2 == "expandido" } {exec sed "/# Expandir Bg\\|# Centralizar Bg\\|DesktopBackgroundScaled=\\|DesktopBackgroundCenter=/d" $pasta/.icewm/preferences > $pasta/.icewm/preferences2
exec echo "# Expandir Bg
DesktopBackgroundScaled=1
# Centralizar Bg
DesktopBackgroundCenter=0" >> $pasta/.icewm/preferences2
exec mv $pasta/.icewm/preferences2 $pasta/.icewm/preferences}
#-----------------------------------------------------------------------------------------------------------------------
# ....C / Fundo Centralizado:
#-----------------------------------------------------------------------------------------------------------------------
if { $op2 == "centralizado" } {exec sed "/# Expandir Bg\\|# Centralizar Bg\\|DesktopBackgroundScaled=\\|DesktopBackgroundCenter=/d" $pasta/.icewm/preferences > $pasta/.icewm/preferences2
exec echo "# Expandir Bg
DesktopBackgroundScaled=0
# Centralizar Bg
DesktopBackgroundCenter=1" >> $pasta/.icewm/preferences2
exec mv $pasta/.icewm/preferences2 $pasta/.icewm/preferences}
#------------------------------------------------------------------------------------------------------------------------
# .... C/ Fundo Lado A Lado:
#------------------------------------------------------------------------------------------------------------------------
if { $op2 == "ladoalado" } {exec sed "/# Expandir Bg\\|# Centralizar Bg\\|DesktopBackgroundScaled=\\|DesktopBackgroundCenter=/d" $pasta/.icewm/preferences > $pasta/.icewm/preferences2
exec echo "# Expandir Bg
DesktopBackgroundScaled=0
# Centralizar Bg
DesktopBackgroundCenter=0" >> $pasta/.icewm/preferences2
exec mv $pasta/.icewm/preferences2 $pasta/.icewm/preferences}
#-------------------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------
# Comandos Finais |
#----------------------------------------------------------
exec icewmbg -r &
exec rm -f $pasta/.icewm/prefoverride2
exec rm -f $pasta/.icewm/preferences2
exec killall idesk
exec idesk &
#----------------------------------------------------------
# Sair: |
#----------------------------------------------------------
Window hide .top70} \
-text OK
vTcl:DefineAlias "$top.but78" "Button4" vTcl:WidgetProc "Toplevel3" 1
button $top.but69 \
-command {Window hide .top70} -text Cancelar
vTcl:DefineAlias "$top.but69" "Button5" vTcl:WidgetProc "Toplevel3" 1
###################
# SETTING GEOMETRY
###################
place $top.lab71 \
-in $top -x 5 -y 115 -width 166 -height 86 -anchor nw \
-bordermode ignore
place $top.lab72 \
-in $top -x 5 -y 5 -width 246 -height 106 -anchor nw \
-bordermode ignore
place $top.but78 \
-in $top -x 180 -y 130 -width 55 -height 26 -anchor nw \
-bordermode ignore
place $top.but69 \
-in $top -x 175 -y 165 -width 68 -height 26 -anchor nw \
-bordermode ignore
vTcl:FireEvent $base <<Ready>>
}
proc vTclWindow.top71 {base} {
if {$base == ""} {
set base .top71
}
if {[winfo exists $base]} {
wm deiconify $base; return
}
set top $base
###################
# CREATING WIDGETS
###################
vTcl:toplevel $top -class Toplevel \
-highlightcolor black
wm withdraw $top
wm focusmodel $top passive
wm geometry $top 314x297+269+104; update
wm maxsize $top 785 570
wm minsize $top 1 1
wm overrideredirect $top 0
wm resizable $top 1 1
wm title $top "Organizar Diretorios..."
vTcl:DefineAlias "$top" "Toplevel4" vTcl:Toplevel:WidgetProc "" 1
bindtags $top "$top Toplevel all _TopLevel"
vTcl:FireEvent $top <<Create>>
wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
frame $top.fra72 \
-borderwidth 2 -relief groove -height 250 -highlightcolor black \
-width 305
vTcl:DefineAlias "$top.fra72" "Frame1" vTcl:WidgetProc "Toplevel4" 1
set site_3_0 $top.fra72
labelframe $site_3_0.lab73 \
-foreground black -text Diretorios -highlightcolor black
vTcl:DefineAlias "$site_3_0.lab73" "Labelframe1" vTcl:WidgetProc "Toplevel4" 1
set site_4_0 $site_3_0.lab73
listbox $site_4_0.lis74 \
-background white -foreground black -highlightcolor black \
-selectbackground #c4c4c4 -selectforeground black \
-xscrollcommand "$site_4_0.scr75 set" \
-yscrollcommand "$site_4_0.scr76 set" -listvariable "$top\::lis74"
vTcl:DefineAlias "$site_4_0.lis74" "Listadir" vTcl:WidgetProc "Toplevel4" 1
scrollbar $site_4_0.scr75 \
-activebackground #f9f9f9 -command "$site_4_0.lis74 xview" \
-highlightcolor black -orient horizontal -troughcolor #c4c4c4 \
-width 10
vTcl:DefineAlias "$site_4_0.scr75" "Scrollbar1" vTcl:WidgetProc "Toplevel4" 1
scrollbar $site_4_0.scr76 \
-activebackground #f9f9f9 -command "$site_4_0.lis74 yview" \
-highlightcolor black -troughcolor #c4c4c4 -width 10
vTcl:DefineAlias "$site_4_0.scr76" "Scrollbar2" vTcl:WidgetProc "Toplevel4" 1
place $site_4_0.lis74 \
-in $site_4_0 -x 5 -y 15 -width 268 -height 171 -anchor nw \
-bordermode ignore
place $site_4_0.scr75 \
-in $site_4_0 -x 5 -y 185 -width 267 -height 16 -anchor nw \
-bordermode ignore
place $site_4_0.scr76 \
-in $site_4_0 -x 275 -y 10 -width 16 -height 192 -anchor nw \
-bordermode ignore
button $site_3_0.but77 \
-activebackground #f9f9f9 -activeforeground black \
-command {set pasta [tk_chooseDirectory]
set HOME [concat $env(HOME)]
if { "$pasta" != "" } {set pasta2 [regsub -all {/} "$pasta" {\/}]
set ver [exec cat $HOME/.icebg/config | sed "/$pasta2.*./d" | sed -n "/$pasta2/p"]
if { "$ver" == "" } {exec echo "$pasta" >> $HOME/.icebg/config
Listadir insert end "$pasta"
set pasta [exec cat $HOME/.icebg/config]
set bg []
foreach A $pasta {
set bg2 [concat [exec find $A -name "*.jpg" -or -name "*.png" -or -name "*.bmp" -or -name "*.xpm" -or -name "*.gif" -or -name "*.jpeg" | sed s/^/"/ | sed s/$/"/]]
set bg [concat "$bg\n$bg2"]
}
#------------------------------------------------------------------------------------
# Variavel Da Caixa De Lista....
#------------------------------------------------------------------------------------
Toplevel1 setvar bgs [concat $bg]} {tk_messageBox -icon error -title "Erro" -message "A Pasta $pasta Ja Existe No Seu Config"}}} \
-foreground black -highlightcolor black -text Adicionar
vTcl:DefineAlias "$site_3_0.but77" "Button6" vTcl:WidgetProc "Toplevel4" 1
button $site_3_0.but78 \
-activebackground #f9f9f9 -activeforeground black \
-command {set HOME [concat $env(HOME)]
set config [concat $HOME/.icebg/config]
set pasta [Listadir get active]
set lingua [exec cat $HOME/.icebg/lingua]
if { "$lingua" == "ptbr" } {set pergunta [tk_messageBox -icon warning -title "Deletar?" -message "Deseja Realmente Retirar A Pasta $pasta\nE Seus Arquivos Do Programa?" -type yesno]} {set pergunta [tk_messageBox -icon warning -title "Delete?" -message "Did you realy want to move out $pasta\nFrom the program database?" -type yesno]}
if { "$pergunta" == "yes" } {set pasta [regsub -all {/} $pasta {\/}]
exec sed "/$pasta/d" $config > $HOME/.icebg/config2
exec mv $HOME/.icebg/config2 $HOME/.icebg/config
Listadir delete active
set pasta [exec cat $HOME/.icebg/config]
set bg []
foreach A $pasta {
set bg2 [concat [exec find $A -name "*.jpg" -or -name "*.png" -or -name "*.bmp" -or -name "*.xpm" -or -name "*.gif" -or -name "*.jpeg" | sed s/^/"/ | sed s/$/"/]]
set bg [concat "$bg\n$bg2"]
}
#------------------------------------------------------------------------------------
# Variavel Da Caixa De Lista....
#------------------------------------------------------------------------------------
Toplevel1 setvar bgs [concat $bg]}} \
-foreground black -highlightcolor black -text Deletar
vTcl:DefineAlias "$site_3_0.but78" "Button7" vTcl:WidgetProc "Toplevel4" 1
place $site_3_0.lab73 \
-in $site_3_0 -x 5 -y 5 -width 296 -height 206 -anchor nw \
-bordermode ignore
place $site_3_0.but77 \
-in $site_3_0 -x 225 -y 215 -anchor nw -bordermode ignore
place $site_3_0.but78 \
-in $site_3_0 -x 10 -y 215 -anchor nw -bordermode ignore
button $top.but79 \
-command {Window hide .top71} -text Sair
vTcl:DefineAlias "$top.but79" "Button8" vTcl:WidgetProc "Toplevel4" 1
###################
# SETTING GEOMETRY
###################
place $top.fra72 \
-in $top -x 5 -y 5 -width 305 -height 250 -anchor nw \
-bordermode ignore
place $top.but79 \
-in $top -x 260 -y 265 -anchor nw -bordermode ignore
vTcl:FireEvent $base <<Ready>>
}
#############################################################################
## Binding tag: _TopLevel
bind "_TopLevel" <<Create>> {
if {![info exists _topcount]} {set _topcount 0}; incr _topcount
}
bind "_TopLevel" <<DeleteWindow>> {
if {[set ::%W::_modal]} {
vTcl:Toplevel:WidgetProc %W endmodal
} else {
destroy %W; if {$_topcount == 0} {exit}
}
}
bind "_TopLevel" <Destroy> {
if {[winfo toplevel %W] == "%W"} {incr _topcount -1}
}
Window show .
Window show .top59
Window show .top69
Window show .top70
Window show .top71
main $argc $argv
Script em Tcl para descompactar arquivos
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)
Instalação dualboot Windows 11 e Debian 13 (11)









