GtkDialog - tips
First, I am not going to post an example for this since the example Barry posted in Cutting Edge - Gtkdialog can be used to show what I am talking about.
In the Country selection one, if one clicks on the down arrow to show the item choices, a selection window is shown that has a height that takes the full height of my display with additional up and down arrows at each end of that window.
My question is:
Since one has to use the additional up/down arrows in that window, is it possible to specify the height of it?
It would sure help in cleaning up the looks of it for selection of country/language/keyboard if the popup selection window was a given height.
I tried changing <comboboxtext> to <combobox> throughout the script and to me, I think it helped. The height is still there in the selection windows, but the change gave a vertical scrollbar that helps in locating a selection.
In the Country selection one, if one clicks on the down arrow to show the item choices, a selection window is shown that has a height that takes the full height of my display with additional up and down arrows at each end of that window.
My question is:
Since one has to use the additional up/down arrows in that window, is it possible to specify the height of it?
It would sure help in cleaning up the looks of it for selection of country/language/keyboard if the popup selection window was a given height.
I tried changing <comboboxtext> to <combobox> throughout the script and to me, I think it helped. The height is still there in the selection windows, but the change gave a vertical scrollbar that helps in locating a selection.
- Argolance
- Posts: 3767
- Joined: Sun 06 Jan 2008, 22:57
- Location: PORT-BRILLET (Mayenne - France)
- Contact:
Hello,
Please, see this thread: => Converting gtkdialog3 script into gtkdialog4 problem...
Thank you.
Cordialement.
[SOLVED] Thanks thunor!
Please, see this thread: => Converting gtkdialog3 script into gtkdialog4 problem...
Thank you.
Cordialement.
[SOLVED] Thanks thunor!
Last edited by Argolance on Thu 17 Nov 2011, 08:17, edited 1 time in total.
I was trying to find a way to center the text in a label in a tree list, but came across this by accident
this gives the label bar a keyboard control of Alt+M, I didn't see this mentioned anywhere else, so I thought I'd pass it on.
Geoffrey
Code: Select all
<tree>
<label>'"_MY LIST OF STUFF"'</label>
Geoffrey
- Attachments
-
- tree_list.jpg
- (4.42 KiB) Downloaded 1242 times
updated wiki
http://puppylinux.org/wikka/PBurn
is this limitation still true?
http://puppylinux.org/wikka/PBurn
is this limitation still true?
It will only perform the writing function with a blank disc, i.e. the disc is either new, or, as in the case of a re-writable disc, it has been erased first.
What is the origin for that statement? (If it is in the docs, I should remove it) It is not true. In those cases where burning require a blank disc (ie. audio-CD), user will get an option to erase disc before burning.darkcity wrote:updated wiki
http://puppylinux.org/wikka/PBurn
is this limitation still true?
It will only perform the writing function with a blank disc, i.e. the disc is either new, or, as in the case of a re-writable disc, it has been erased first.
Thank you for maintaining the wiki !!!!!
Sigmund
I'm trying to find a way to include a progress bar into a small GUI.
It needs to be able to show copying and burning DVD's
I'm trying to use the following example as a starting point:
How do I calculate the percentages and parse the info to the progress bar?
Thanks
It needs to be able to show copying and burning DVD's
I'm trying to use the following example as a starting point:
Code: Select all
#! /bin/bash
export MAIN_DIALOG='
<vbox>
<frame Progress>
<text>
<label>Some text describing what is happening.</label>
</text>
<progressbar>
<label>Time left</label>
<input>for i in $(seq 0 10 100); do echo $i; sleep 0.3; done</input>
<action type="exit">Ready</action>
</progressbar>
</frame>
<hbox>
<button cancel></button>
</hbox>
</vbox>
'
gtkdialog --program=MAIN_DIALOG
Thanks
smokey01,
You can find an example of a progress bar with percentages in PupsaveRestore by 8-bit.
See -
http://www.murga-linux.com/puppy/viewtopic.php?t=72153
Regards,
s
You can find an example of a progress bar with percentages in PupsaveRestore by 8-bit.
See -
http://www.murga-linux.com/puppy/viewtopic.php?t=72153
Regards,
s
Thanks seaside.seaside wrote:smokey01,
You can find an example of a progress bar with percentages in PupsaveRestore by 8-bit.
See -
http://www.murga-linux.com/puppy/viewtopic.php?t=72153
Regards,
s
I have already seen 8-bits code but am looking for a simpler example.
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Variable/Function as button's label?
Hi
Is it possible to show variable or function's result as a button's label (<button></button>)?
I tried with <input>, <input file...>, <label> and nothing works...
Thanks in advance.
Greetings!
Is it possible to show variable or function's result as a button's label (<button></button>)?
I tried with <input>, <input file...>, <label> and nothing works...
Thanks in advance.
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Re: Variable/Function as button's label?
SFR,SFR wrote:Hi
Is it possible to show variable or function's result as a button's label (<button></button>)?
I tried with <input>, <input file...>, <label> and nothing works...
Thanks in advance.
Greetings!
Perhaps this is what you want-
Code: Select all
#! /bin/bash
LABEL=`echo result of some program`
export MAIN_DIALOG='
<button>
<label>'"$LABEL"'</label>
<action>echo new label '"$LABEL"' created</action>
</button>
'
gtkdialog3 --program=MAIN_DIALOG
Cheers,
s
Re: Variable/Function as button's label?
This is exactly it, thanks very much!seaside wrote:Perhaps this is what you want-
This would take the result of some program (in this case the phrase "result of some program") and assign it to the variable LABEL. Note that $LABEL is surrounded by double quotes followed by outer single quotes.Code: Select all
#! /bin/bash LABEL=`echo result of some program` export MAIN_DIALOG=' <button> <label>'"$LABEL"'</label> <action>echo new label '"$LABEL"' created</action> </button> ' gtkdialog3 --program=MAIN_DIALOG
I was stuck focusing myself on functions, your method is much easier.
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
timer example
This is a simplified timer widget example. The timer widget is not visible.
Requires gtkdialog >= 0.8.0 (you may need to change the call to "gtkdialog4" in wary/racy/lupu)
Thanks to technosaurus for the text2svg function. (@ techno, the header is needed to stop gtkdialog and other gtk apps from segfaulting, coutesy of thunor).
Requires gtkdialog >= 0.8.0 (you may need to change the call to "gtkdialog4" in wary/racy/lupu)
Thanks to technosaurus for the text2svg function. (@ techno, the header is needed to stop gtkdialog and other gtk apps from segfaulting, coutesy of thunor).
Code: Select all
#!/bin/bash
# timertest
# Functions====================================================================
text2svg()
{
#generate an image
WIDTH=$(($(echo "$1"|wc -c)*19))
T=35
BG="$2"
echo '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect width="'$WIDTH'"
height="50"
x="0"
y="0"
style="font-size:'${T}';fill:'$BG';fill-opacity:0.75;fill-rule:evenodd;stroke-width:3pt;"
id="rect1" />
<text
x="0"
y="35"
style="font-size:'${T}';font-weight:normal;fill-opacity:0.75;stroke-width:3pt;font-family:helvetica;"
id="text1">
<tspan
id="tspan1">'"${1}"'</tspan>
</text>
</svg>' > /tmp/${3}.svg
}
export -f text2svg
randomfunc(){
echo "some random number $RANDOM"
}
export -f randomfunc
pixfunc(){
DATE=`date`
text2svg "${DATE}" "#ADD8E6" date
}
export -f pixfunc
btnfunc(){
TXT=`cat /tmp/timerfile`
case $TXT in
the)echo quick >/tmp/timerfile;text2svg quick "#0000FF" label ;;
quick)echo brown >/tmp/timerfile;text2svg brown "#00FFFF" label ;;
brown)echo fox >/tmp/timerfile;text2svg fox "#FF0000" label ;;
fox)echo jumped >/tmp/timerfile;text2svg jumped "#00FF00" label ;;
jumped)echo over >/tmp/timerfile;text2svg over "#FFFF00" label ;;
over)echo a >/tmp/timerfile;text2svg a "#FF00FF" label ;;
a)echo lazy >/tmp/timerfile;text2svg lazy "#FF9500" label ;;
lazy)echo dog >/tmp/timerfile;text2svg dog "#FF00AA" label ;;
dog)echo the >/tmp/timerfile;text2svg the "#FFFFFF" label ;;
esac
}
export -f btnfunc
#==============================================================================
echo dog >/tmp/timerfile
pixfunc
btnfunc
export gui='<window>
<vbox>
<text><label>timer test</label></text>
<pixmap>
<variable>PIX</variable>
<input file>/tmp/date.svg</input>
</pixmap>
<hbox homogeneous="true">
<button tooltip-text="exit">
<variable>BTX</variable>
<input file>/tmp/label.svg</input>
</button>
</hbox>
<text><variable>VAR</variable><input>date +%T</input></text>
<text><variable>RANDNUM</variable><input>randomfunc</input></text>
<entry><variable>ENTRY</variable><input>echo $RANDOM is random too</input></entry>
<timer interval="1" visible="false">
<action>pixfunc</action>
<action>btnfunc</action>
<action type="refresh">PIX</action>
<action type="refresh">BTX</action>
<action type="refresh">VAR</action>
<action type="refresh">RANDNUM</action>
<action type="refresh">ENTRY</action>
</timer>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>'
eval $(gtkdialog -p gui)
case $EXIT in
*)rm -f /tmp/*.svg ;;
esac
Puppy Linux Blog - contact me for access
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
It often comes up how to get wget to give you the percent complete (for progress bars), so I grokked it out to work with Xdialog (I am working on some gtk1 stuff right now) - perhaps someone would like to tweak it for gtkdialog?
and here is one for curl:
{export your CURL_PARAMETERS first}
Code: Select all
download_progress(){
while ([ $# -gt 0 ]) do
wget -v $1 -o /dev/stdout | while read LINE; do
case $LINE in
*%*)LINE=${LINE##*..};echo ${LINE%%%*};;
esac
done |Xdialog --gauge "Download progress ($# files remaining.)
Current file is:
$1" 0 0
shift
done
}
{export your CURL_PARAMETERS first}
Code: Select all
upload_progress(){
curl --progress-bar $CURL_PARAMETERS 2>&1 \
| tr "\r" "\n"|sed "s,# *,,gm" \
| Xdialog --title "Progress" --gauge "$1 \n transfering ..." 0 0
}
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
- Dougal
- Posts: 2502
- Joined: Wed 19 Oct 2005, 13:06
- Location: Hell more grotesque than any medieval woodcut
Gtkdialog enables you to run a shell inside the progressbar element, so you can just sort the wget output inside it... that's what I did with the dhcpcd progressbars (note that with gtkdialog, when you echo a number, it is used for the percentage, while echoing text changes what's displayed in the progressbar).technosaurus wrote:It often comes up how to get wget to give you the percent complete (for progress bars), so I grokked it out to work with Xdialog (I am working on some gtk1 stuff right now) - perhaps someone would like to tweak it for gtkdialog?
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind
Some say your nose
Some say your toes
But I think it's your mind
Here's one solution to a combo-checklist. I was looking for a simple way to create a useable array for the whole checklist.
Code: Select all
#!/bin/sh
#Combo-Checklist example
export NUM="5"
function funcChkCreate() {
for ((i=1;i<"$NUM";i++)); do
echo '<checkbox>
<label>NAME '"$i"'</label>
<variable>STAT'"$i"'</variable>
</checkbox>'
done
}
ComboCheck() {
echo
for ((i=1;i<"$NUM";i++)); do
eval echo "NAME ${i}=""\$STAT${i}" >/tmp/out
var[$i]=`cat /tmp/out`
echo "${var[$i]}"
done
}
export -f ComboCheck
export MAIN_DIALOG='
<vbox height="150" scrollable="true">
'"$(funcChkCreate)"'
<hbox>
<button>
<label>ComboCheck</label>
<action>ComboCheck</action>
</button>
<button ok></button>
</hbox>
</vbox>
'
gtkdialog --program=MAIN_DIALOG
Hi.jpeps wrote:Here's one solution to a combo-checklist. I was looking for a simple way to create a useable array for the whole checklist.
I think it would be more comfortable to have the buttons outside the scrollable section.
Code: Select all
#!/bin/sh
#Combo-Checklist example
export NUM="15"
function funcChkCreate() {
for ((i=1;i<"$NUM";i++)); do
echo '<checkbox>
<label>NAME '"$i"'</label>
<variable>STAT'"$i"'</variable>
</checkbox>'
done
}
ComboCheck() {
echo
for ((i=1;i<"$NUM";i++)); do
eval echo "NAME ${i}=""\$STAT${i}" >/tmp/out
var[$i]=`cat /tmp/out`
echo "${var[$i]}"
done
}
export -f ComboCheck
export MAIN_DIALOG='
<vbox>
<vbox height="150" scrollable="true">
'"$(funcChkCreate)"'
</vbox>
<vbox>
<hbox>
<button>
<label>ComboCheck</label>
<action>ComboCheck</action>
</button>
<button ok></button>
</hbox>
</vbox>
</vbox>'
gtkdialog --program=MAIN_DIALOG
- Attachments
-
- combocheck-buttoons-outside.jpg
- (10.49 KiB) Downloaded 1197 times
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]