<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-33356186</id><updated>2011-04-21T21:27:58.175-07:00</updated><title type='text'>Cmdr Kommander</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33356186.post-115950451081643090</id><published>2006-09-28T21:34:00.000-07:00</published><updated>2006-11-05T09:29:13.420-08:00</updated><title type='text'>Kommando-Installer RoadMap</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Kommando-Installer-0.6.2&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;&lt;li&gt;Kommando-Installer Preference Tab&lt;/li&gt;&lt;li&gt;Split Kommando-Installer and Data into 2 packages.&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-weight: bold;"&gt;Kommando-Installer-0.7&lt;/span&gt; &lt;ol&gt;&lt;li&gt;Logging Tab&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-weight: bold;"&gt;Kommando-Installer-0.8&lt;/span&gt; &lt;ol&gt;&lt;li&gt;Commercial Update Button&lt;/li&gt;&lt;li&gt;Custom Update Button&lt;/li&gt;&lt;li&gt;Kommando-Installer Update Tab&lt;/li&gt;&lt;/ol&gt;  &lt;span style="font-weight: bold;"&gt;Kommando-Installer-0.9&lt;/span&gt; &lt;ol&gt;&lt;li&gt;Kommando Help Tab&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Kommando-Installer-0.9.1&lt;/span&gt; &lt;ol&gt;&lt;li&gt;SLAX Modules Descriptions&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-weight: bold;"&gt;Kommando-Installer-1.0&lt;br /&gt;&lt;/span&gt;First Official Release&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kommando-Installer-1.1&lt;br /&gt;&lt;/span&gt;Start developing the Dependancy and Prerequisite Framework&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115950451081643090?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115950451081643090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115950451081643090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115950451081643090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115950451081643090'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommando-installer-roadmap.html' title='Kommando-Installer RoadMap'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115950445577543149</id><published>2006-09-28T21:10:00.000-07:00</published><updated>2006-10-01T08:59:27.880-07:00</updated><title type='text'>Kommando-Installer</title><content type='html'>&lt;h2&gt;       Kommando-Installer Progress&lt;/h2&gt;               &lt;span class="postbody"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Status of each Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Commercial Tab&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Works&lt;/span&gt;&lt;br /&gt;Install Package Button&lt;br /&gt;Install All Packages Button&lt;br /&gt;Search Filter&lt;br /&gt;Descriptions&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;Module Install Location function&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;In Progress&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;Nothing in progress&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Not Working Yet&lt;/span&gt;&lt;br /&gt;Dependancy and Prerequisite Check Boxes&lt;br /&gt;Update List Button&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;SLAX Modules Tab&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Works&lt;/span&gt;&lt;br /&gt;Install Package Button&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;Update List Button&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Module Install Location function [in progress]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt; &lt;span style="font-style: italic;"&gt;In Progress&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Nothing in progress&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Not Working Yet&lt;/span&gt;&lt;br /&gt;Dependancy and Prerequisite Check Boxes&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;Descriptions - Need a list of descriptions from somewhere... How to approach this...&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Custom Tab&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Works&lt;/span&gt;&lt;br /&gt;Install Package Button&lt;br /&gt;Install All Packages Button&lt;br /&gt;Search Filter&lt;br /&gt;Descriptions&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;Module Install Location function&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt; &lt;span style="font-style: italic;"&gt;In Progress&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Nothing in progress&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Not Working Yet&lt;/span&gt;&lt;br /&gt;Dependancy and Prerequisite Check Boxes&lt;br /&gt;Update List Button&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;GPL Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Not Working Yet&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;All Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Not Working Yet&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;Search Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Fully Functional&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;Logs Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Fully Functional&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;ommando Tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;About SubTab&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;Fully Functional&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Update &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SubTab&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Not Functional&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Help &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SubTab&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Not Functional&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Preferences &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SubTab&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Not Functional&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Progress so far...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Fine tuning of the Package Profiles.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Worked on making template Package Profiles.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Sample Commercial Installers work (GoogleEarth4, RealPlayer10, FlashPlayer7, JRE1.5.0.06)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Updated SLAX Module Master List.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Added 3rd form of ftp to install qualifiers.  Now there are conf, ftp, http.&lt;/li&gt;&lt;li&gt;For Commercial Tab: added Module Install Location Box with custom option box, /tmp, and /boot/modules Radio Buttons.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Need to add:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Interrupt Traps for scripts for clean up&lt;/li&gt;&lt;li&gt;Add space calculation&lt;/li&gt;&lt;li&gt;Add package multi-select&lt;/li&gt;&lt;li&gt;Dependancy and Prerequisite CheckBoxes don't do anything yet.&lt;/li&gt;&lt;li&gt;Nothing in the Kommando Tab does anything&lt;/li&gt;&lt;li&gt;GPL and All Tabs dont have anything in them.&lt;/li&gt;&lt;li&gt;Update buttons on Commercial and Custom Tabs need to function.&lt;/li&gt;&lt;li&gt;Prerequisite and Dependancy Checkboxes&lt;/li&gt;&lt;li&gt;Help Button and Help Tab&lt;/li&gt;&lt;li&gt;Kommando-Installer Preferences Tab&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115950445577543149?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115950445577543149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115950445577543149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115950445577543149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115950445577543149'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommando-installer.html' title='Kommando-Installer'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115894094151337679</id><published>2006-09-22T09:01:00.000-07:00</published><updated>2006-09-22T09:06:58.810-07:00</updated><title type='text'>Kommando-Installer Progress...</title><content type='html'>&lt;h2&gt;       Kommando-Installer Progress&lt;/h2&gt;                &lt;span class="postbody"&gt;Progress so far...&lt;br /&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;ol&gt; &lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Cleaned up Package Profiles to make them as generic as possible.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Worked on making template Package Profiles&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Sample Commercial Installers work (GoogleEarth and RealPlayer)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;SLAX Module Selection Download and Install works.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;"Quick Search" Filters working&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Search Tab Working with 4 options&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Update still in the planning stage...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;No Help Feature yet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;"GPL" and "All" Tabs do nothing currently&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Thought of Creating a Package Creation Tool to help make Kommando-Installer Package Profiles.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;Added "Custom" Option so you can put in your own List of software with its own tab, that way your software library can be made available and its list/package updated independantly. [Not quite functional... but very close]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;To Do&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;   &lt;li&gt;GPL and All Tab&lt;/li&gt;   &lt;li&gt;Get Custom Tab fully operational&lt;/li&gt;   &lt;li&gt;Make a global variable list and take out all hard coded references&lt;/li&gt;   &lt;li&gt;Create a settings file&lt;/li&gt;   &lt;li&gt;Enable Help function&lt;/li&gt;   &lt;li&gt;Error checking&lt;/li&gt;   &lt;li&gt;Get Update function working... some changes in the interface may need to be done to make each Tab capable of updating its own lists and options.&lt;/li&gt;   &lt;li&gt;Create a Preference Tab&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115894094151337679?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115894094151337679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115894094151337679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115894094151337679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115894094151337679'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommando-installer-progress.html' title='Kommando-Installer Progress...'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115824295322242386</id><published>2006-09-14T07:06:00.000-07:00</published><updated>2006-10-01T09:00:55.096-07:00</updated><title type='text'>Widget Playgrounds</title><content type='html'>Widget Playgrounds are little test programs to learn and experiment on Widget capabilities and an environment's command parser.&lt;br /&gt;&lt;br /&gt;In some coming Blogs, I will create some Widget Playgrounds (and post them somewhere) to  show how to use Kommander Widgets and the Command Parsers capabilities.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115824295322242386?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115824295322242386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115824295322242386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115824295322242386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115824295322242386'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/widget-playgrounds.html' title='Widget Playgrounds'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115823785259659603</id><published>2006-09-14T05:43:00.000-07:00</published><updated>2006-09-14T07:12:46.983-07:00</updated><title type='text'>Kommander Documentation Resources and My Methodology</title><content type='html'>&lt;span style="font-family: arial;"&gt;I have gotten a few e-mail messages asking how I have figured out a lot the Kommander stuff since there is very little "formal" documentation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Well , there are a few resources I have used and a specific mentality I have used.  First there are the resources I have used and second there is the Methodology I use.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Kommander Docuementation Resources&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I use the following:  &lt;/span&gt;&lt;a style="font-family: arial;" href="http://docs.kde.org/stable/en/kdewebdev/kommander/"&gt;The Kommander Handbook&lt;/a&gt;&lt;span style="font-family: arial;"&gt;, &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/mailman/listinfo/kommander"&gt;The Kommander Mailing List&lt;/a&gt;&lt;span style="font-family: arial;"&gt;, &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/pipermail/kommander/"&gt;Kommander Mailing List Archive&lt;/a&gt;&lt;span style="font-family: arial;"&gt;, &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;The Function Browser&lt;/span&gt;&lt;span style="font-family: arial;"&gt;, The &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/pipermail/kommander/2004-July/000129.html"&gt;Widget Reference&lt;/a&gt;&lt;span style="font-family: arial;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://docs.kde.org/stable/en/kdewebdev/kommander/"&gt;&lt;br /&gt;The Kommander Handbook&lt;/a&gt;&lt;span style="font-family: arial;"&gt; which contains some good reference material but is in need of updating.  I STRONGLY STRONGLY STRONGLY urge the Kommander developers to make a Wiki for Documentation, since that could put many people into the documentation arena.  I have thought to create one myself but lack the broadband servers to make it practical.  KDE is already setup for such a thing (KDEmedia Wiki), so I am not sure why it has not been done.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I understand that the developers are very busy and documentation is the last thing on their minds.  But the only way for people to USE and UNDERSTAND what Kommander can do is to document it.  For instance, on the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://kommander.kdewebdev.org/"&gt;Kommander Home Page&lt;/a&gt;&lt;span style="font-family: arial;"&gt;, the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/pipermail/kommander/2004-July/000129.html"&gt;Widget References&lt;/a&gt;&lt;span style="font-family: arial;"&gt; could be put in the FAQ or on its own page.  I had to find it via &lt;/span&gt;&lt;a style="font-family: arial;" href="http://google.com"&gt;google.com&lt;/a&gt;&lt;span style="font-family: arial;"&gt; from the mailing list.  I have a Widget Reference  Blog entry that currently mimics the Mailing List one but I plan  going through it to validate its contents and to actually make a tutorial for each method entry.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/mailman/listinfo/kommander"&gt;The Kommander Mailing List&lt;/a&gt;&lt;span style="font-family: arial;"&gt; is a good resource for information.  You can ask questions there and the main developers for kdewebdev and Kommander will answer your questions.  The mailing list concept is quite archaic even though USENET (deja) can be used to search through them provided they are submitted to a USENET group.  I recommend the Digest format emails when you sign up.  That way you can use a digest reader to sort though the threads.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/pipermail/kommander/"&gt;Kommander Mailing List Archive&lt;/a&gt;&lt;span style="font-family: arial;"&gt; section of the Mailing list can be quite helpful but take note, from time to time it doesn't have all the back months and the FULL archive link does not always contain everything.  Never-the-less, it is a very good resource.  I wish they had the Archive in Digest Format so you could use a Digest Reader to sort through it all but I will try looking at the file with an e-mail application to see what that yields.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;As an improvement, instead of the mailing list approach, I recommend a forum format, since it is a bit more modern of an interface, and depending on the forum used, the searching can be quite helpful.  Also, an improvement to the Archive section would be a search function.  Granted you can download the master archive yourself and look through it but a search engine facility is much better for complex search requests.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;One last complaint related to the "Mailing List".  My impression is that the overall mood of Kommander Application/Applet development is that if you really want to know how to do something, post to the mailing list.  I am not a strong believer in that philiosphy.  I think almost everything that needs to be known should be in the handbook, and the developer talk/bug discussion/feature enhancement/I can't figure this out kind of discussions should be made on the Mailing List.  I should NOT have to go to a 2 year old Mailing list Archive entry for the complete Widget Reference.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;The Function Browser&lt;/span&gt;&lt;span style="font-family: arial;"&gt; is built into Kommander.  When you Right Click pretty much anywhere on the Kommander Canvas and choose the "Edit Kommander Text..." menu option, an "Edit Text" box appears.  In the Lower Left corner of that Window is a Button called &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;"Function".&lt;/span&gt;&lt;span style="font-family: arial;"&gt;  That is the &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Function Browser&lt;/span&gt;&lt;span style="font-family: arial;"&gt;.  Visit it, use it, learn to love it.  It is your friend.  It contains many helpful references for Arrays, dcop, file, input, Kommander (parser key words), message and string functions.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The usage text given is rudimentary BUT that I am sure will improve and get much better.  There may be some functions missing (I did not notice) but if there are I am confident they will be added in the coming Kommander releases.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The &lt;/span&gt;&lt;a style="font-family: arial;" href="http://mail.kdewebdev.org/pipermail/kommander/2004-July/000129.html"&gt;Widget Reference&lt;/a&gt;&lt;span style="font-family: arial;"&gt; as mentioned before.  Also My Widget Reference which currently is just a mirror of the Mailing List one but will get more in depth at some point.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;One area of improvement would be a &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;Widget Method Browser&lt;/span&gt;&lt;span style="font-family: arial;"&gt;.  Currently such a resource does not exist.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Kommander Examples&lt;/span&gt;&lt;span style="font-family: arial;"&gt; In the kdewebdev distribution there are example files that do specific Kommander type things.  These include progress bar, status bar, ListBox population, Argument Passing to a Kommander program, global variable, just to name a few.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Improvements:&lt;/span&gt;&lt;span style="font-family: arial;"&gt; Forum based resource; A glossary-  Describing the "Lingo"  Page, Widget, method, etc.; A Widget Reference or a Widget Method Browser.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;The Methodology&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The Methodology I use is the same approach I use to programming.  I make little "programs".  For Kommander, I create what I call "&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Widget Playgrounds&lt;/span&gt;&lt;span style="font-family: arial;"&gt;."  The Widget Playground can be as simple or as complex as you want or need them to be.  I think of a project or a task for motivation, then I create a playground to experiment in.  If you want to know about Buttons, make a Button Widget Playground.  This playground would include; Radio Buttons, Button Boxes, Execute Buttons, Close Buttons, Check Boxes, etc.  Then you make the Buttons "DO" things.  You may have to put other widgets in your playground or you may just choose to output the action to a text file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;For instance You may create a Execute Button and a ListBox.  When you click the Execute Button, you put the output of a unix command into the ListBox.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;As a quick example, In the Edit Text Default Window for the Execute Button, you would put&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;@ListBox_Name.setText(@exec(ls -l/bin))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;That will use the @exec function to do an "ls -l /bin" and then the .setText method of the Widget will put that content into the ListBox called ListBox_Name.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I will have a series of Blogs describing Kommander Widgets and the Parser and the will be titled Widget Playground: &lt;some&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115823785259659603?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115823785259659603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115823785259659603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115823785259659603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115823785259659603'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommander-documentation-resources-and.html' title='Kommander Documentation Resources and My Methodology'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115820501132677481</id><published>2006-09-13T19:43:00.000-07:00</published><updated>2006-09-15T19:39:50.886-07:00</updated><title type='text'>Kommander Project Forensics: NetWizard Part 1</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;Using an Init Screen, Layers, dcop, and the Next Button&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Disclaimer:&lt;/span&gt; I use Kommander's kmdr-editor and kmdr-executor 1.2  Using an older version that that WILL result in some example NOT working.&lt;br /&gt;&lt;br /&gt;In a  project I am currently working on, NetWizard, I have wanted to do some slick types of things so the interface does not detract from the Wizard process.&lt;br /&gt;&lt;br /&gt;What is NetWizard?  It is a Network Configuration Wizard that currently supports configuring ndiswrapper drivers for SLAX Linux.  Kernel Driver configuration is in the works and will be released in the future.  What is &lt;a href="http://www.slax.org"&gt;SLAX Linux&lt;/a&gt;?  It is a VERY slick "&lt;a href="http://www.linux-live.org/"&gt;Linux Live&lt;/a&gt;" distribution based on Slackware created with Linux Live scripts author.  The resulting distro is SLAX.  There are many other varients using Linux Live scripts and all have a similar need- a network configuration tool that will create a "Module" that sets up the network connection at boot time.  Out of this need, I set out to create a Configuration Wizard- and NetWizard was born.&lt;br /&gt;&lt;br /&gt;I started out using kdialog, then quickly began looking for a better solution.  After a bit of searching and trying out some other tools, I chose Kommander.  Here is the first of many articles discussing a forensic look at NetWizard.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Beginning&lt;/span&gt;&lt;br /&gt;I wanted to have a Startup Screen... easy enough.  I just set up page 1 as an informational screen describing NetWizard.  This gave me a great opportunity... I can use this screen as a Wizard Initialization screen.  How do you do that?  Here's how.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Init Screen.&lt;/span&gt;&lt;br /&gt;The concept is simple.  Create a pixmap on page 1.  Call it &lt;span style="font-style: italic;"&gt;InitScreenPixmap&lt;/span&gt;.  Then create a ScriptObject and call it &lt;span style="font-style: italic;"&gt;InitScreenScriptObject.&lt;/span&gt;  Place all your initialization type actions in &lt;/span&gt;&lt;span style="font-family:arial;"&gt;InitScreenScriptObject.&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  Then create the following Connection using signal/slots:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;InitScreenPixmap:widgetOpened:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;InitScreenScriptObject:execute()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When the Wizard starts, the object &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;InitScreenPixmap&lt;/span&gt; is created which executes the script.  You can put in any valid Kommander actions into the script.  So what did I put in my &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;InitScreenScriptObject&lt;/span&gt;? I put in a directory creation command and a ping test.  I have also set up some global variables in this &lt;span style="font-style: italic;"&gt;InitScreenScriptObject&lt;/span&gt; as well.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7497/3661/1600/InitScreenScriptObject.0.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7497/3661/320/InitScreenScriptObject.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;The ping test is done in order to enable or disable choices in the following screens.  Depending on the ping success or failure, certain options later in the Wizard will be enabled or disabled.  There was one problem I had with the ping setup- a delay in the Wizard startup.  For instance, if the ping test failed, it could take 10 seconds for the ping to complete, delaying the startup screen to appear.  That was unacceptable.  Even if I could get the InitScreen to show up, there was still a strange delay that gave an interface inconsistancy feel.  What could I do?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Use of a TabWidget Layer and dcop commands.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7497/3661/1600/NetWizard-page1-tab2.0.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7497/3661/320/NetWizard-page1-tab2.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;My first thought was Layers.  I would set up a TabWidget called &lt;span style="font-weight: bold;"&gt;IntroTab&lt;/span&gt; with 2 Tabs.  One with a "Please Wait" message and the other with all the Intro &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Message&lt;/span&gt;&lt;span style="font-family:arial;"&gt; stuff.  The "Please Wait" would be Tab 1 and the Intro Message would be Tab2.  I would start out the wizard on Tab1 and after the Ping was successful, switch to Tab2 via a dcop command.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;That setup took care of one aspect of the interface, but I still had that uncomfortable startup delay AND the fact that the Tab1 message NEVER showed up since the ping was holding up everything from being drawn.  The following was the code I used:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;@execBegin(bash)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;stat=`(ping -c 2 www.slax.org 1&gt; /dev/null;stat1=$?;echo $stat1)`;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;if [ ${stat} -ne 0 ]; then&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button false&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setVisible Label79 true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setCurrentItem IntroTab 1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled AdapterDriver_BG false&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 false&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled next true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;else&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setText Driver_Retrieve_Button "Retrieve &amp;Driver"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setVisible Label79 false&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setCurrentItem IntroTab 1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled AdapterDriver_BG true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dcop @dcopid KommanderIf setEnabled next true&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;fi&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;@execEnd&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;But it was NOT suitable, since the Wizard waited to come up until AFTER the ping had completed.  Also the "Please Wait" message did not show up.  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Very strange behavior.  So I tried the following to replace the @execBegin/End block:&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;@exec((stat=`(ping -c 2 www.slax.org 1&gt; /dev/null;stat1=$?;echo $stat1)`; if [ ${stat} -ne 0 ]; then dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button false; dcop @dcopid KommanderIf setVisible Label79 true ; dcop @dcopid KommanderIf setCurrentItem IntroTab 1; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG false ;  dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 false ; dcop @dcopid KommanderIf setEnabled next true; else dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button true; dcop @dcopid KommanderIf setText Driver_Retrieve_Button "Retrieve &amp;Driver"; dcop @dcopid KommanderIf setVisible Label79 false ; dcop @dcopid KommanderIf setCurrentItem IntroTab 1; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG true; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 true;  dcop @dcopid KommanderIf setEnabled next true; fi))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Still the Wizard  waited on the @exec to complete before the Wizard would come up.  I needed to have all the used @exec commands to do their thing AND have the Wizard come up.  How to fix it though. I decided that I would try putting the @exec command contents in the background- @exec ((commands)&amp;).  That did the trick!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;To get the wizard to come up so that the "Please Wait" screen showed up while the ping test was being performed, this is what I ended up doing:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;@exec((stat=`(ping -c 2 www.slax.org 1&gt; /dev/null;stat1=$?;echo $stat1)`; if [ ${stat} -ne 0 ]; then dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button false; dcop @dcopid KommanderIf setVisible Label79 true ; dcop @dcopid KommanderIf setCurrentItem IntroTab 1; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG false ;  dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 false ; dcop @dcopid KommanderIf setEnabled next true; else dcop @dcopid KommanderIf setEnabled Driver_Retrieve_Button true; dcop @dcopid KommanderIf setText Driver_Retrieve_Button "Retrieve &amp;Driver"; dcop @dcopid KommanderIf setVisible Label79 false ; dcop @dcopid KommanderIf setCurrentItem IntroTab 1; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG true; dcop @dcopid KommanderIf setEnabled AdapterDriver_BG2 true;  dcop @dcopid KommanderIf setEnabled next true; fi) &amp;)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Note: the WHOLE if-then-else block is in ()'s so that it is ONE process and it is spawned off in the background with the use of an &amp;amp;.&lt;br /&gt;Also Note the ping structure:&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;stat=`(ping -c 2 www.slax.org 1&gt; /dev/null;stat1=$?;echo $stat1)`&lt;/span&gt;&lt;br /&gt;It seems a little strange but here is the deal.  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Using &lt;span style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;ping -c 2 www.slax.org 1;stat=$?;echo $stat&lt;/span&gt;  &lt;/span&gt;yielded a 141 exit code for ping.  Why? I have no idea.  On the bash command line it yielded the expected exit codes but not in the @exec().  So I used &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;(ping -c 2 www.slax.org 1&gt; /dev/null;stat1=$?;echo $stat1)&lt;/span&gt;&lt;/span&gt;.  Since that echo's a number, I set the result to stat.  Then used that $stat for the if-then-else check.&lt;br /&gt;&lt;br /&gt;After the ping was completed (successful or not), I set the TabWidget, &lt;span style="font-weight: bold;"&gt;IntroTab,&lt;/span&gt; via dcop to the second Tab to display the Intro Message.&lt;br /&gt;&lt;br /&gt;This worked GREAT!  But it created 1 additional problem.  While the ping test was being performed, the Next button was active, just BEGGING to be pressed.  So, I disabled it using a dcop command and then re-enabled it after the ping test, in both if-then-else clauses. I put the following before the above the @exec(ping/if-then-else clause):&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;@exec(dcop @dcopid KommanderIf setEnabled next false)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;That takes care of Page 1 of NetWizard!  If you are wondering about the other dcop commands that enable and make visible other widgets, they will be explained in later NetWizard forensic tutorials.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115820501132677481?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115820501132677481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115820501132677481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115820501132677481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115820501132677481'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommander-project-forensics-netwizard.html' title='Kommander Project Forensics: NetWizard Part 1'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115802708605378411</id><published>2006-09-11T19:11:00.000-07:00</published><updated>2006-09-14T07:45:44.440-07:00</updated><title type='text'>"Layers" in a Kommander Page - Part 2</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Disclaimer:&lt;/span&gt; I use Kommander's kmdr-editor and kmdr-executor 1.2  Using an older version that that WILL result in some example NOT working.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Last time we discussed how to simulate the concept of "Layers" in a Kommander Page.  This article just discusses a same page technique for doing something similar.  For instance, utilizing a Radio Button group, 2 or more Canvases can share the same page.  In this example there will be "2" Radio Buttons that will toggle back and forth between two Tab Widget pages.  The same technique used in the last article places the Tabs out of view so that the page looks to just change its contents when the Radio Buttons are toggled between the two choices. We stated "2" Radio Buttons, there are really 4- a group of 2 on each Tab Widget Page.&lt;br /&gt;&lt;br /&gt;The setup is very easy.  Just create a TabWidget (call it tw1).  On the first TabWidget (tw1) Page create a 2 button Radio Button group- call them RB1_1 and RB1_2.  On the second &lt;/span&gt;&lt;span style="font-family:arial;"&gt;TabWidget (tw1) Page create another Radio Button group- &lt;/span&gt;&lt;span style="font-family:arial;"&gt;call them RB2_1 and RB2_2.  Ensure that the Button Group Boxes have the same geometry (same size and location) on their respective pages, otherwise flipping between the two pages will result in a visual discontinuity.&lt;br /&gt;&lt;br /&gt;Next create 2 ScriptObjects- SC1 and SC2&lt;br /&gt;In SC1, put in the Kommander Text &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Default&lt;/span&gt;&lt;span style="font-family:arial;"&gt; box&lt;br /&gt;@tw1.setCurrentItem(0)&lt;br /&gt;@RB1_1.setChecked(1)&lt;br /&gt;@RB1_2.setChecked(0)&lt;br /&gt;@RB2_1.setChecked(0)&lt;br /&gt;@RB2_2.setChecked(1)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;In SC2, put in the Kommander Text &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Default&lt;/span&gt;&lt;span style="font-family:arial;"&gt; box&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;@tw1.setCurrentItem(1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;@RB2_1.setChecked(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;@RB2_2.setChecked(1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;@RB1_1.setChecked(1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;@RB1_2.setChecked(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;If you are wondering why there are 4 lines in each ScriptObject, it is because the Widget Methods need to be set properly since the 2 Button Groups are NOT linked together.  For instance, when you are on TabWidget (tw1) Page 1 and click the RB1_2, it is set to true and the Tab Page changes to Page 2.  But the Radio Buttons on Page 1 need to be reset back so RB1_1 is true and RB1_2 is false, in preparation for the switch back to Page 1 when RB2_1 is pushed.  The same reason holds for the other Button Group RB2_1 and RB2_2.&lt;br /&gt;&lt;br /&gt;The last step is to set up Connections for 4 Signal/Slot actions:&lt;br /&gt;RB1_1:toggled(bool):SC1:execute()&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;RB1_2:toggled(bool):SC2:execute()&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;RB2_1:toggled(bool):SC1:execute()&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;RB2_2:toggled(bool):SC2:execute() &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;NOTE:&lt;/span&gt; You may wonder why there is an RB1_1 and RB2_2 Signal/Slot connection.  It is to cover the event that RB1_1 is clocked on the tw1's first page and RB2_2 is clicked on page 2.  WIthout this Signal/Slots the Radio Button will fill in and clear out if clicked multiple times.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;That's it!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115802708605378411?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115802708605378411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115802708605378411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115802708605378411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115802708605378411'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/layers-in-kommander-page-part-2.html' title='&quot;Layers&quot; in a Kommander Page - Part 2'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115775121607376047</id><published>2006-09-08T13:51:00.000-07:00</published><updated>2006-09-14T07:46:05.480-07:00</updated><title type='text'>"Layers" in a Kommander Page - Part 1</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Disclaimer:&lt;/span&gt; I use Kommander's kmdr-editor and kmdr-executor 1.2  Using an older version that that WILL result in some example NOT working.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;There are times when you wish to have a choice (say Radio Buttons) in your wizard, present different pages of options. For instance, on page 1, there are 3 radio buttons (RB1, RB2, RB3), each of which have 3 different pages of choices BUT those choices need to be presented on the NEXT page. Some thoughts to making the Next Button jump to a specific Wizard page depending on your Radio Button choice is a possibility. The problem with that approach is that you need to keep track of options and what current page you are on in the event the user selects the Back button.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The simple option to deal with this problem is to use a Tabbed Widget. Just make the Tabbed Widget (say TabWidget1), bigger than the Wizards viewable canvas size before deployment. In our example, there are 3 Radio Buttons and 3 separate choices of options per button. Just make a 3 tab Tabbed Widget on the Next Page, put all your options on the appropriate Tab page, and then place the &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Tabs&lt;/span&gt;&lt;span style="font-family:arial;"&gt; off the viewable canvas so the user can't see them.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Working Example:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; On Page 1, Create your 3 Radio Buttons: RB1, RB2, RB3 and Group them in a Button Box. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; Create 3 script objects: ScriptObject1, ScriptObject2, ScriptObject3 and put the appropriate command in each one-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; In ScriptObject1 put: @TabWidget1.setCurrentItem(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; In ScriptObject2 put: @TabWidget1.setCurrentItem(1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; In ScriptObject3 put: @TabWidget1.setCurrentItem(2)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; Now use signal/slots to connect the buttons to the scripts:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; RB1:toggled(bool):ScriptObject1:execute()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; RB2:toggled(bool):ScriptObject2:execute()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; RB3:toggled(bool):ScriptObject3:execute()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;On the Next Page, you will set up your 3 Tab Tabbed Widget and place all the appropriate contents in each of the respective Tabs. Name the TabWidget the name you used in the ScriptObjects- in this example, TabWidget1&lt;br /&gt;&lt;br /&gt;Resize the Wizard's Canvas size and position the TabWidget on the Page so that the Tab section and the Tab box boundries are out of view.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;That's it! Simply, all this is doing is selecting a specific Tab when a Radio Button is selected, but the "effect" seen by the user, since they can't see the Widget Tabs, is that the Next page "changes" depending on what options they choose.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Hope that technique helps with your Wizard Projects!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115775121607376047?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115775121607376047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115775121607376047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115775121607376047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115775121607376047'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/layers-in-kommander-page-part-1.html' title='&quot;Layers&quot; in a Kommander Page - Part 1'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115774862121297074</id><published>2006-09-08T13:50:00.000-07:00</published><updated>2006-09-22T09:01:30.176-07:00</updated><title type='text'>Kommander Projects</title><content type='html'>Current Kommander Projects:&lt;br /&gt;&lt;br /&gt;1) &lt;span style="font-weight: bold;"&gt;NetWizard/QuickNetWizard&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span style="font-weight: bold;"&gt;First release Features&lt;/span&gt;:&lt;br /&gt;&lt;a href="http://www.speedyshare.com/177831228.html"&gt;http://www.speedyshare.com/177831228.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1) Easy to use Wizard for configuring SLAX network interfaces.&lt;br /&gt;2) NDISWrapper driver configuration for: DHCP and Static configurations.&lt;br /&gt;3) Front-end produces output file of options chosen within the Wizard.&lt;br /&gt;4) Back-end program will use config file or parameters to setup network adapters and make a SLAX module of the configuration.&lt;br /&gt;5) Back-end program can be used by any frontend.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Future Features:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1) Database of known working configurations to allow "auto" config.  This location of known drivers will be in the DB.&lt;br /&gt;2) "Database" tool to allow adding to the configuration knowledgebase. Many contributors makes for rapid grown and for easier auto config for the populace at large.&lt;br /&gt;3) Auto driver download from known sites hosting drives.  This is just an automated extension of #1's location information.&lt;br /&gt;4) Kernel driver configuration for: DHCP and Static configurations. Both existing supported drivers and newly compiled drivers will be supported.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2) &lt;span style="font-weight: bold;"&gt;MySLAXKreator&lt;/span&gt;&lt;br /&gt;MySLAXKreator is pretty much is just a clone to MySLAXCreator but one of the differences may be the addition of package fetching through a network connection maybe using the same mechanism as &lt;span style="font-weight: bold;"&gt;Kommando-Installer&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;It will use Kommander as the GUI FrontEnd; make_disk.sh for USB and disk installation; and make_iso.sh and cdrecord as the backend processing tools.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) &lt;span style="font-weight: bold;"&gt;Kommando-Installer&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;There is a real need to make software available without actually "distributing" the software. Two types of software that fit this category are: proprietary and encryption. Both are essential parts of the Linux experience but they have issues with distribution for everyone involved. To cover everyone's tail, I have decided to create an installer that will download all the pieces, create the software, and make a SLAX module. The end user needs to do nothing but select a piece of software and single click.&lt;br /&gt;&lt;br /&gt;Proprietary video drivers, for instance, can be downloaded, compiled for your Kernel release, and a module created with NO technical knowledge of any kind.&lt;br /&gt;&lt;br /&gt;A cool side effect of Kommando-Installer is that this can be used to distribute modules. Just update the master software package list, create a profile with the URL, the installation instructions can be to install it into the modules directory, and that's it! &lt;img src="http://www.slax.org/forum/images/smiles/smile.gif" alt="Smile" border="0" /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115774862121297074?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115774862121297074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115774862121297074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115774862121297074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115774862121297074'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/09/kommander-projects.html' title='Kommander Projects'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115671607396858490</id><published>2006-08-27T14:59:00.000-07:00</published><updated>2006-09-14T07:39:07.700-07:00</updated><title type='text'>Kommander Widget Method Reference</title><content type='html'>&lt;pre&gt;From a mailing list message from Eric Laffoon Project Lead - kdewebdev module&lt;br /&gt;&lt;a href="http://mail.kdewebdev.org/pipermail/kommander/2004-July/000129.html"&gt;&lt;br /&gt;http://mail.kdewebdev.org/pipermail/kommander/2004-July/000129.html&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;Widget: ButtonGroup&lt;br /&gt;* setChecked&lt;br /&gt;* text&lt;br /&gt;Widget: CheckBox&lt;br /&gt;* setChecked&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: CloseButton&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: ComboBox&lt;br /&gt;* clear&lt;br /&gt;* currentItem&lt;br /&gt;* insertItem&lt;br /&gt;* insertItems&lt;br /&gt;* item&lt;br /&gt;* removeItem&lt;br /&gt;* selection&lt;br /&gt;* setSelection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: Dialog&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: ExecButton&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: FileSelector&lt;br /&gt;* clear&lt;br /&gt;* selection&lt;br /&gt;* setSelection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: GroupBox&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: LineEdit&lt;br /&gt;* clear&lt;br /&gt;* selection&lt;br /&gt;* setSelection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: ListBox&lt;br /&gt;* addUniqueItem&lt;br /&gt;* clear&lt;br /&gt;* currentItem&lt;br /&gt;* findItem&lt;br /&gt;* insertItem&lt;br /&gt;* insertItems&lt;br /&gt;* item&lt;br /&gt;* removeItem&lt;br /&gt;* selection&lt;br /&gt;* setCurrentItem&lt;br /&gt;* setSelection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: RadioButton&lt;br /&gt;* setChecked&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: RichTextEditor&lt;br /&gt;* clear&lt;br /&gt;* selection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: SpinBoxInt&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: SubDialog&lt;br /&gt;* text&lt;br /&gt;Widget: TabWidget&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: TextEdit&lt;br /&gt;* clear&lt;br /&gt;* selection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;br /&gt;Widget: TreeWidget&lt;br /&gt;* clear&lt;br /&gt;* currentItem&lt;br /&gt;* findItem&lt;br /&gt;* insertItem&lt;br /&gt;* insertItems&lt;br /&gt;* item&lt;br /&gt;* itemDepth&lt;br /&gt;* itemPath&lt;br /&gt;* removeItem&lt;br /&gt;* selection&lt;br /&gt;* setCurrentItem&lt;br /&gt;* setSelection&lt;br /&gt;* setText&lt;br /&gt;* text&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115671607396858490?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115671607396858490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115671607396858490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115671607396858490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115671607396858490'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/08/kommander-widget-method-reference.html' title='Kommander Widget Method Reference'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33356186.post-115655040366594508</id><published>2006-08-25T16:20:00.000-07:00</published><updated>2006-09-12T08:00:31.516-07:00</updated><title type='text'>KDE Kommander</title><content type='html'>&lt;span style="font-family: arial;"&gt;One thing that Linux has lacked is a Wizard Building facility that is easy to use as well as self-contained.  There are few tools out there that can create Wizard-like interfaces without having to manually insert code to make the end product work. One aspect that haunts Linux (IMHO) is the lack of nice GUI configuration tools.  Sure, Im a hard core Linux CLI advocate, but, for the public at large... type this, type that, just doesnt cut it.  I like a GUI that produces an output file that you run through a filter script.  That way the front end GUI can be use with many backend scripts.  I see the GUI as a way to collect information.  Then it is up to the filter to gleen any specific information needed and run whatever scripts are needed to process that information.  All of this can be called from within the GUI framework so no wrappers should be needed but it can be up to you to do that if you want. What I dont like are GUI configuration tools that at least somewhere (in the man page even), there must be reference to what files are created modified, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;With the advent of personal Linux distros such as SLAX (slax.org) many variants are being born and created for specific things- Backup/Restore, Disk Repair, SOHO tools, Video Editing, Music Creation, etc.  With each of those distros, there comes a need for custom configuration tools.  So obviously, there is a great need for a Configuration Tool Builder.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Enter Kommander from the KDE project (&lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.kde.org"&gt;www.kde.org&lt;/a&gt;&lt;span style="font-family: arial;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I think Kommander has a lot of potential... To learn more about this project you can visting their home page at &lt;/span&gt;&lt;a style="font-family: arial;" href="http://kommander.kdewebdev.org/"&gt;kommander.kdewebdev.org/&lt;/a&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt; &lt;/span&gt;&lt;span style="font-family: arial;"&gt;But there are some areas of improvement...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;1) Need updated and better documentation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;2) Constant changing of the Widget names... this can be ok IF the documentation is up to date AND there is backward compatiblity mode that dumps out a log file, or a utility that scans the kmdr file and warns of deprecated feature and widget names.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;3) The project is in desperate need of a Wiki for documentation, examples, etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;4) The mailing list format is rather old school esp since there is no archive search features.  Thank goodness for deja/usenet.  The groups there are somewhat helpful. A Forum format would be very nice.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;All that aside, I am very impressed with the project and Kommander capability.  It is quite a nice self contained Dialog and Wizard builder.  But it also allows external script usage which allows it to really leverage off of the powerful abilities of Bash, Perl, Python, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The interface is quite functional and is easy to navigate around in.  The icon bar can be a little confusing since different functions have the same icon (LineEdit and FileSelector for instance.)  The newer interfaces are MUCH better than previous incarnations, and it seems each generation gets nicer and better.  I STRONGLY recommend visting sourceforge.org and kde.org to obtain the latest kommander tools and kdewebdev development source before starting your development.  This will ensure that you have the latest and won't be using old, out-dated, deprecated software.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Kommander (you may wish to get a particular version of Kommander from here)&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://kommander.kdewebdev.org/"&gt;sourceforge.net/project/showfiles.php?group_id=62795&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;kdewebdev (Kommander is included in this package)&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://kommander.kdewebdev.org/"&gt;prdownloads.sourceforge.net/quanta/kdewebdev-3.5.3.tar.bz2?download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Kommander Documentation...&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://docs.kde.org/stable/en/kdewebdev/kommander/"&gt;docs.kde.org/stable/en/kdewebdev/kommander/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I am using Kommander to create some custom Wizards for various things.  An S/MIME certificate creator, a Network configuration Tool for use with SLAX and a clone of MySLAXCreator called MySLAXKreator.  Checkout &lt;/span&gt;&lt;a style="font-family: arial;" href="http://slaxworkshop.blogspot.org"&gt;slaxworkshop.blogspot.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33356186-115655040366594508?l=cmdr-kommander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmdr-kommander.blogspot.com/feeds/115655040366594508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33356186&amp;postID=115655040366594508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115655040366594508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33356186/posts/default/115655040366594508'/><link rel='alternate' type='text/html' href='http://cmdr-kommander.blogspot.com/2006/08/kde-kommander.html' title='KDE Kommander'/><author><name>Circuit Hijacker</name><uri>http://www.blogger.com/profile/09520105357326837283</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
