IceBG

Publicado por Perfil removido 12/09/2006

[ Hits: 4.486 ]

Download icebg




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

  



Esconder código-fonte

#!/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

Scripts recomendados

Script em Tcl para descompactar arquivos

Tcl de piadas

Calculadora em Tcl/Tk

Script em Tcl para descompactar arquivos

Crivo de Eratóstenes Simples em Tcl (sem Tk)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts