<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[yab | yet another Basic for HAIKU - yoshi]]></title>
		<link>https://yab.orgfree.com/forum/</link>
		<description><![CDATA[yab | yet another Basic for HAIKU - https://yab.orgfree.com/forum]]></description>
		<pubDate>Mon, 11 May 2026 15:52:22 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[using yoshi to set language preferences]]></title>
			<link>https://yab.orgfree.com/forum/showthread.php?tid=74</link>
			<pubDate>Tue, 11 Oct 2016 21:56:19 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://yab.orgfree.com/forum/member.php?action=profile&uid=2">clasqm</a>]]></dc:creator>
			<guid isPermaLink="false">https://yab.orgfree.com/forum/showthread.php?tid=74</guid>
			<description><![CDATA[I just ported a Java app called GoGrinder, which lets you explore Go (the board game) problems. In the documentation it says<br />
<br />
To set GoGrinder to use a specific language, you can run it once using the defaultLanguage option:<br />
java -jar GoGrinder.jar defaultLanguage=fr<br />
GoGrinder will remember this setting in future sessions.<br />
Currently supported languages and codes:<br />
English    - en<br />
Czech      - cz<br />
German     - de<br />
Spanish    - es<br />
French     - fr<br />
Portuguese - pt<br />
Russian    - ru<br />
Chinese    - zh<br />
<br />
So how do we write this into a little preferences applet? No problem. In the apps directory I created a yoshi file:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>*.title = Change GoGrinder UI language<br />
popup.type = popup<br />
popup.label = New language?<br />
popup.option1 = English<br />
popup.option2 = Czech<br />
popup.option3 = German <br />
popup.option4 = Spanish<br />
popup.option5 = French<br />
popup.option6 = Portuguese<br />
popup.option7 = Russian<br />
popup.option8 = Chinese<br />
popup.default = option1</code></div></div><br />
and a bash script<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!/boot/system/bin/bash<br />
<br />
## who am i? ##<br />
_script="&#36;(readlink -f &#36;{BASH_SOURCE[0]})"<br />
 <br />
## Delete last component from &#36;_script ##<br />
_base="&#36;(dirname &#36;_script)"<br />
 <br />
cd &#36;_base<br />
 <br />
if [ ! -f /bin/yoshi ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "This preference applet requires yoshi, available from the Fatelk repo"<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;tmpfile=`finddir B_COMMON_TEMP_DIRECTORY`/gogrinderout<br />
&nbsp;&nbsp;&nbsp;&nbsp;yoshi ./gogrinder.yoshi&gt;&#36;tmpfile<br />
&nbsp;&nbsp;&nbsp;&nbsp;#we only need the first line for this one so no need for while IFS ...<br />
&nbsp;&nbsp;&nbsp;&nbsp;read response &lt; &#36;tmpfile<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#36;response in<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=en<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=cz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=de<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option4)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=es<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option5)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=fr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=pt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option7)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=ru<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option8)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=zh<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;esac<br />
&nbsp;&nbsp;&nbsp;&nbsp;java -jar GoGrinder.jar defaultLanguage=&#36;lang<br />
&nbsp;&nbsp;&nbsp;&nbsp;rm &#36;tmpfile<br />
fi</code></div></div><br />
I thought of doing radiobuttons at first but you only get six of those to play with and I needed eight.<br />
<br />
One case where this will fall flat is if yoshi is installed in ~/config instead of /boot/system. I'll see if I get around to fixing that - not fond of disjunctions in bash.<br />
<br />
So now all I need to do is to stick an icon onto that script and link it to the Preferences section of the Deskbar. Total disk usage just over a kilobyte. I <img src="https://yab.orgfree.com/forum/images/smilies/heart.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> yoshi!]]></description>
			<content:encoded><![CDATA[I just ported a Java app called GoGrinder, which lets you explore Go (the board game) problems. In the documentation it says<br />
<br />
To set GoGrinder to use a specific language, you can run it once using the defaultLanguage option:<br />
java -jar GoGrinder.jar defaultLanguage=fr<br />
GoGrinder will remember this setting in future sessions.<br />
Currently supported languages and codes:<br />
English    - en<br />
Czech      - cz<br />
German     - de<br />
Spanish    - es<br />
French     - fr<br />
Portuguese - pt<br />
Russian    - ru<br />
Chinese    - zh<br />
<br />
So how do we write this into a little preferences applet? No problem. In the apps directory I created a yoshi file:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>*.title = Change GoGrinder UI language<br />
popup.type = popup<br />
popup.label = New language?<br />
popup.option1 = English<br />
popup.option2 = Czech<br />
popup.option3 = German <br />
popup.option4 = Spanish<br />
popup.option5 = French<br />
popup.option6 = Portuguese<br />
popup.option7 = Russian<br />
popup.option8 = Chinese<br />
popup.default = option1</code></div></div><br />
and a bash script<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!/boot/system/bin/bash<br />
<br />
## who am i? ##<br />
_script="&#36;(readlink -f &#36;{BASH_SOURCE[0]})"<br />
 <br />
## Delete last component from &#36;_script ##<br />
_base="&#36;(dirname &#36;_script)"<br />
 <br />
cd &#36;_base<br />
 <br />
if [ ! -f /bin/yoshi ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "This preference applet requires yoshi, available from the Fatelk repo"<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;tmpfile=`finddir B_COMMON_TEMP_DIRECTORY`/gogrinderout<br />
&nbsp;&nbsp;&nbsp;&nbsp;yoshi ./gogrinder.yoshi&gt;&#36;tmpfile<br />
&nbsp;&nbsp;&nbsp;&nbsp;#we only need the first line for this one so no need for while IFS ...<br />
&nbsp;&nbsp;&nbsp;&nbsp;read response &lt; &#36;tmpfile<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#36;response in<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=en<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=cz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=de<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option4)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=es<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option5)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=fr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=pt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option7)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=ru<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup=option8)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lang=zh<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;esac<br />
&nbsp;&nbsp;&nbsp;&nbsp;java -jar GoGrinder.jar defaultLanguage=&#36;lang<br />
&nbsp;&nbsp;&nbsp;&nbsp;rm &#36;tmpfile<br />
fi</code></div></div><br />
I thought of doing radiobuttons at first but you only get six of those to play with and I needed eight.<br />
<br />
One case where this will fall flat is if yoshi is installed in ~/config instead of /boot/system. I'll see if I get around to fixing that - not fond of disjunctions in bash.<br />
<br />
So now all I need to do is to stick an icon onto that script and link it to the Preferences section of the Deskbar. Total disk usage just over a kilobyte. I <img src="https://yab.orgfree.com/forum/images/smilies/heart.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> yoshi!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[added a horizontal rule...]]></title>
			<link>https://yab.orgfree.com/forum/showthread.php?tid=71</link>
			<pubDate>Thu, 02 Jun 2016 20:47:08 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://yab.orgfree.com/forum/member.php?action=profile&uid=1">bbjimmy</a>]]></dc:creator>
			<guid isPermaLink="false">https://yab.orgfree.com/forum/showthread.php?tid=71</guid>
			<description><![CDATA[added a horizontal rule...<br />
<a href="https://github.com/bbjimmy/Yoshi/wiki/pipe-rule#rule---" target="_blank" rel="noopener" class="mycode_url">https://github.com/bbjimmy/Yoshi/wiki/pipe-rule#rule---</a><br />
<br />
Getting ready for another yoshi release.]]></description>
			<content:encoded><![CDATA[added a horizontal rule...<br />
<a href="https://github.com/bbjimmy/Yoshi/wiki/pipe-rule#rule---" target="_blank" rel="noopener" class="mycode_url">https://github.com/bbjimmy/Yoshi/wiki/pipe-rule#rule---</a><br />
<br />
Getting ready for another yoshi release.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Using yoshi in yab]]></title>
			<link>https://yab.orgfree.com/forum/showthread.php?tid=68</link>
			<pubDate>Mon, 02 May 2016 13:43:19 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://yab.orgfree.com/forum/member.php?action=profile&uid=2">clasqm</a>]]></dc:creator>
			<guid isPermaLink="false">https://yab.orgfree.com/forum/showthread.php?tid=68</guid>
			<description><![CDATA[WHAT!? why would you want to do that when you can make all your windows and gadgets in yab itself?<br />
<br />
1. For the same reason you don't laboriously make your own ALERT and FILEPANEL widgets. You could, you know. But someone already did all the heavy lifting here in terms of layout, so why bother?<br />
2. Because using yoshi lets you tweak the dialogue OUTSIDE yab.<br />
<br />
I can think of a number of ways to do this. The easiest is to construct the yoshi dialogue in a separate file and just call it. But I have a fondness for shipping apps with as few files as possible (It goes back to my BeOS days) and constructing secondary files on the fly, so that's what I will do here. <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!/bin/env yab<br />
<br />
restore yoshi<br />
open "cmds.yoshi" for writing as #1<br />
&nbsp;&nbsp;&nbsp;&nbsp;while(line&#36; &lt;&gt; "end_of_data")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;read line&#36;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print #1 line&#36;<br />
&nbsp;&nbsp;&nbsp;&nbsp;wend<br />
close #1<br />
result&#36; = system&#36;("yoshi cmds.yoshi")<br />
if instr(result&#36;, "chk=OFF") &lt;&gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "You turned off the checkbox. Thank you for following instructions", "OK", "none"<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "You did not turn off the checkbox. Try again", "OK", "none"<br />
endif<br />
system("rm -f cmds.yoshi")<br />
end<br />
<br />
label yoshi<br />
data "*.title = Example window title"<br />
data "*.bgcolor = 255-,232,181"<br />
data "txt.type = text"<br />
data "txt.default = yoshi in yab demo"<br />
data "txt.lines = 2"<br />
data "txt.align = centered"<br />
data "txt.scrollbar = 1"<br />
data "txt.bg = white"<br />
data "chk.type = checkbox"<br />
data "chk.default = 1"<br />
data "chk.label = Turn off this checkbox, click OK and see what happens"<br />
data "end_of_data"</code></div></div><br />
The INSTR command in yab makes it a lot easier to retrieve yoshi's output than it is in bash. Here, all I wanted to know was whether a specific action had been taken. For more complex yoshi scripts, you will have to use all of yab's string-splitting tricks to parse the output (e.g TOKEN, SPLIT, LEFT&#36; and RIGHT&#36;).]]></description>
			<content:encoded><![CDATA[WHAT!? why would you want to do that when you can make all your windows and gadgets in yab itself?<br />
<br />
1. For the same reason you don't laboriously make your own ALERT and FILEPANEL widgets. You could, you know. But someone already did all the heavy lifting here in terms of layout, so why bother?<br />
2. Because using yoshi lets you tweak the dialogue OUTSIDE yab.<br />
<br />
I can think of a number of ways to do this. The easiest is to construct the yoshi dialogue in a separate file and just call it. But I have a fondness for shipping apps with as few files as possible (It goes back to my BeOS days) and constructing secondary files on the fly, so that's what I will do here. <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!/bin/env yab<br />
<br />
restore yoshi<br />
open "cmds.yoshi" for writing as #1<br />
&nbsp;&nbsp;&nbsp;&nbsp;while(line&#36; &lt;&gt; "end_of_data")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;read line&#36;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print #1 line&#36;<br />
&nbsp;&nbsp;&nbsp;&nbsp;wend<br />
close #1<br />
result&#36; = system&#36;("yoshi cmds.yoshi")<br />
if instr(result&#36;, "chk=OFF") &lt;&gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "You turned off the checkbox. Thank you for following instructions", "OK", "none"<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert "You did not turn off the checkbox. Try again", "OK", "none"<br />
endif<br />
system("rm -f cmds.yoshi")<br />
end<br />
<br />
label yoshi<br />
data "*.title = Example window title"<br />
data "*.bgcolor = 255-,232,181"<br />
data "txt.type = text"<br />
data "txt.default = yoshi in yab demo"<br />
data "txt.lines = 2"<br />
data "txt.align = centered"<br />
data "txt.scrollbar = 1"<br />
data "txt.bg = white"<br />
data "chk.type = checkbox"<br />
data "chk.default = 1"<br />
data "chk.label = Turn off this checkbox, click OK and see what happens"<br />
data "end_of_data"</code></div></div><br />
The INSTR command in yab makes it a lot easier to retrieve yoshi's output than it is in bash. Here, all I wanted to know was whether a specific action had been taken. For more complex yoshi scripts, you will have to use all of yab's string-splitting tricks to parse the output (e.g TOKEN, SPLIT, LEFT&#36; and RIGHT&#36;).]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Using a command file for a shell script.]]></title>
			<link>https://yab.orgfree.com/forum/showthread.php?tid=67</link>
			<pubDate>Sun, 01 May 2016 20:03:13 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://yab.orgfree.com/forum/member.php?action=profile&uid=1">bbjimmy</a>]]></dc:creator>
			<guid isPermaLink="false">https://yab.orgfree.com/forum/showthread.php?tid=67</guid>
			<description><![CDATA[Since yoshi does a good job of ignoring lines that do not have yoshi commands, one can use the same file for a bash scrip. copy the foollowing and save the file as "viewtext" then set the executable bits. This will display the Yoshi command file in a text display, then chose to run yoshi Default or not depending on the cancel button.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!sh<br />
test="NO"<br />
DIR="&#36;( cd "&#36;( dirname "&#36;{BASH_SOURCE[0]}" )" &amp;&amp; pwd )"<br />
cd "&#36;DIR"<br />
yoshi viewtext &gt; /tmp/yoshout<br />
<br />
while IFS='' read -r line || [[ -n "&#36;line" ]]; do<br />
&nbsp;&nbsp;&nbsp;&nbsp;var1=&#36;(echo &#36;line | cut -f1 -d=)<br />
&nbsp;&nbsp;&nbsp;&nbsp;var2=&#36;(echo &#36;line | cut -f2 -d=)<br />
&nbsp;&nbsp;&nbsp;&nbsp;eval &#36;var1='&#36;var2' <br />
done &lt; "/tmp/yoshout"<br />
<br />
if [ "&#36;test" == "yes" ]; then<br />
# skip over yoshi commands<br />
<br />
<br />
*.title = Welcome to Yoshi<br />
#*.look = no-border<br />
#*.look = Bordered<br />
#*.look = Floating<br />
#*.look = Modal<br />
#*.x = 50<br />
#*.y = 260<br />
*.bgcolor = 255,232,181<br />
<br />
img1.type = image<br />
img1.path = /boot/home/config/settings/fatelk/yoshi/blank.gif<br />
img1.maxwidth = 8<br />
img1.maxheight = 8<br />
<br />
img3.type = image<br />
img3.path = /boot/home/config/settings/fatelk/yoshi/grey.png<br />
img3.maxwidth = 500<br />
img3.maxheight = 2<br />
img.border = 5<br />
<br />
img.type = image<br />
img.path = /boot/home/config/settings/fatelk/yoshi/blank.gif<br />
img.maxwidth = 8<br />
img.maxheight = 8<br />
<br />
txt.type = text<br />
txt.txtfile = /boot/home/config/settings/fatelk/yoshi/commands/Yoshi<br />
txt.lines = 15<br />
txt.scrollbar = 1<br />
txt.bg = white<br />
#txt.align = center<br />
echo;<br />
fi<br />
<br />
if [ &#36;cancel -eq 1 ]<br />
then<br />
exit 1<br />
fi<br />
yoshi</code></div></div>]]></description>
			<content:encoded><![CDATA[Since yoshi does a good job of ignoring lines that do not have yoshi commands, one can use the same file for a bash scrip. copy the foollowing and save the file as "viewtext" then set the executable bits. This will display the Yoshi command file in a text display, then chose to run yoshi Default or not depending on the cancel button.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#!sh<br />
test="NO"<br />
DIR="&#36;( cd "&#36;( dirname "&#36;{BASH_SOURCE[0]}" )" &amp;&amp; pwd )"<br />
cd "&#36;DIR"<br />
yoshi viewtext &gt; /tmp/yoshout<br />
<br />
while IFS='' read -r line || [[ -n "&#36;line" ]]; do<br />
&nbsp;&nbsp;&nbsp;&nbsp;var1=&#36;(echo &#36;line | cut -f1 -d=)<br />
&nbsp;&nbsp;&nbsp;&nbsp;var2=&#36;(echo &#36;line | cut -f2 -d=)<br />
&nbsp;&nbsp;&nbsp;&nbsp;eval &#36;var1='&#36;var2' <br />
done &lt; "/tmp/yoshout"<br />
<br />
if [ "&#36;test" == "yes" ]; then<br />
# skip over yoshi commands<br />
<br />
<br />
*.title = Welcome to Yoshi<br />
#*.look = no-border<br />
#*.look = Bordered<br />
#*.look = Floating<br />
#*.look = Modal<br />
#*.x = 50<br />
#*.y = 260<br />
*.bgcolor = 255,232,181<br />
<br />
img1.type = image<br />
img1.path = /boot/home/config/settings/fatelk/yoshi/blank.gif<br />
img1.maxwidth = 8<br />
img1.maxheight = 8<br />
<br />
img3.type = image<br />
img3.path = /boot/home/config/settings/fatelk/yoshi/grey.png<br />
img3.maxwidth = 500<br />
img3.maxheight = 2<br />
img.border = 5<br />
<br />
img.type = image<br />
img.path = /boot/home/config/settings/fatelk/yoshi/blank.gif<br />
img.maxwidth = 8<br />
img.maxheight = 8<br />
<br />
txt.type = text<br />
txt.txtfile = /boot/home/config/settings/fatelk/yoshi/commands/Yoshi<br />
txt.lines = 15<br />
txt.scrollbar = 1<br />
txt.bg = white<br />
#txt.align = center<br />
echo;<br />
fi<br />
<br />
if [ &#36;cancel -eq 1 ]<br />
then<br />
exit 1<br />
fi<br />
yoshi</code></div></div>]]></content:encoded>
		</item>
	</channel>
</rss>