<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Windsor UNIX Users Group - Coding</title>
        <description>Discussion and help for developers and hackers of all tongues.</description>
        <link>http://www.wuug.org/list.php?14</link>
        <lastBuildDate>Tue, 07 Sep 2010 14:36:05 -0400</lastBuildDate>
        <generator>Phorum 5.2.7</generator>
        <item>
            <guid>http://www.wuug.org/read.php?14,235,235#msg-235</guid>
            <title>WUUG Drupal Site Project (2 replies)</title>
            <link>http://www.wuug.org/read.php?14,235,235#msg-235</link>
            <description><![CDATA[ We've been kicking around the idea of collaborating to build a new WUUG website using Drupal for some time now. A few good ideas were discussed at the meeting last night and we think it's time to get this going.<br />
<br />
The project has a fairly low barrier to entry, since it will consist primarily of configuring a Drupal site with existing modules, and some design work. For more ambitious participants, we're definitely interested in ideas for custom modules and such. :)<br />
<br />
<a rel="nofollow"  href="http://www.wuug.org/profile.php?10,13">Matt Draisey</a> has volunteered a VM sandbox for the site, and will give participants SSH access.<br />
<br />
Interested in participating? Let us know!]]></description>
            <dc:creator>ezod</dc:creator>
            <category>Coding</category>
            <pubDate>Fri, 03 Sep 2010 20:16:10 -0400</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,215,215#msg-215</guid>
            <title>my irc client (no replies)</title>
            <link>http://www.wuug.org/read.php?14,215,215#msg-215</link>
            <description><![CDATA[ I'd figure I'd ask you guys for suggestions regarding my irc client. I am currently using it for myself, and it seems fairly stable.<br />
<br />
screenshot -&gt; [<a rel="nofollow"  href="http://www.sandmines.org/ircit.jpg">www.sandmines.org</a>]<br />
<br />
the red border is only present when you are scrolling up and not viewing the last line of the channel.<br />
 the yellow horizontal line occurs to show where the last message was if you've switched to another tab, then switched back. (so you can easily see what you've read last).<br />
 the bottom bar holds channel lists. These can be any widgets, and will be made to look prettier in the near future.<br />
 green highlights let you click a url to open in your preferred browser.<br />
 I am not sure about the background showing '##linux'. It is the current channel name, but I'm not sure about keeping this feature.<br />
 Suggestions are welcome, as for now, it's a minimal client, but it uses all my own stuffs (SML / SMG). only dependancy is -lX11 (and possibly -lpthread -lrt -lm)]]></description>
            <dc:creator>bradbobak</dc:creator>
            <category>Coding</category>
            <pubDate>Thu, 10 Dec 2009 19:10:52 -0500</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,214,214#msg-214</guid>
            <title>pulldown menus (no replies)</title>
            <link>http://www.wuug.org/read.php?14,214,214#msg-214</link>
            <description><![CDATA[ How are these implemented if they exceed the windows bounds? Is a new window created at the appropriate postion holding the pulldowns data? Or is there a way to get X to display a pulldown menu that exceeds the windows dimensions?]]></description>
            <dc:creator>bradbobak</dc:creator>
            <category>Coding</category>
            <pubDate>Wed, 02 Dec 2009 18:53:04 -0500</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,210,210#msg-210</guid>
            <title>how does an app know what browser to launch? (2 replies)</title>
            <link>http://www.wuug.org/read.php?14,210,210#msg-210</link>
            <description><![CDATA[ My irc client is coming along and now I'd like the user to be able to click a url and have the client open a browser.<br />
 Does anyone know how to determine what app to launch depending on the users browser preference? I am assuming this will be different across different desktops such as gnome / xfce / etc.<br />
 If someone can point me in some direction regarding this, it would be appreciated.]]></description>
            <dc:creator>bradbobak</dc:creator>
            <category>Coding</category>
            <pubDate>Sat, 28 Nov 2009 14:18:15 -0500</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,195,195#msg-195</guid>
            <title>my gui (smg) (4 replies)</title>
            <link>http://www.wuug.org/read.php?14,195,195#msg-195</link>
            <description><![CDATA[ Well, I've decided to post a small (working) example using my gui (SMG).<br />
<br />
 I've documented the code to explain what I am doing.<br />
<br />
 Don't mind my excessive use of access modifiers (private:, etc). I use these<br />
to separate my class 'sections'.<br />
<br /><pre class="bbcode">
#include &quot;smg_app.hpp&quot;

#include &quot;widgets/smgw_button.hpp&quot;
#include &quot;widgets/smgw_label.hpp&quot;

#include &quot;containers/smgw_vgroup.hpp&quot;
#include &quot;containers/smgw_hgroup.hpp&quot;

#include &quot;dialogs/smgw_info.hpp&quot;

class testing : public smg::iface, public smg::gets_messages
{
  private:
    // defines a common interface for everything in this class to use
		smg::smg_interface main;

                // creates a window of the defaulted type.
		smg::window&lt;&gt; window;

	private: // dialogs

	private: // containers
                // containers hold other widgets. They are considered widgets
                // themselves.
                // a 'vgroup' holds a vertical arrangement of widgets.
                // 'hgroup' is the same, but horizontally.
		smg::widget_container&lt; smg::widget::vgroup &gt; the_vgroup;
		smg::widget_container&lt; smg::widget::hgroup &gt; the_buttons;

	private: // widgets
                // just a couple button widgets
		smg::widget_item&lt; smg::widget::button &gt; the_ok_button;
		smg::widget_item&lt; smg::widget::button &gt; the_cancel_button;

	private:
                // this is virtual and is called whenever a widget wants to
                // notify us of something (such as a button click).
		void incoming_widget_message(smg::sends_messages &amp;from_,
		 size_t msg_, smg::message_data *data_);

	protected:
		testing();
		virtual ~testing() { }

};

testing::testing()
: main(0), window(main, get_info())
{
        // set up some default text for the buttons
	the_cancel_button-&gt;set_text(&quot;cancel&quot;);
	the_ok_button-&gt;set_text(&quot;ok&quot;);

        // this associates (attaches) a widget with a container.
        // since the_buttons is a horizontal container, attach_front attaches 
        // the widget after the last widget on the left side. attach_back attaches
        // before the first widget on the right side.
	the_buttons-&gt;attach_front(the_cancel_button);	
	the_buttons-&gt;attach_back(the_ok_button);	

	{
                // a managed widget is managed by smg itself.
                // when add_me goes out of scope, the underlying widget will
                // persist until it has been removed from a container.
                // a widget_item&lt;&gt; (see above) will remove itself from the
                // container when it goes out of scope.
                // managed widgets are useful for, say, adding a list of
                // files to a container widget where you don't wish to manage
                // the widget yourself.
		smg::widget_managed&lt; smg::widget::label &gt; add_me;
		add_me-&gt;set_text(&quot;This is a simple label&quot;);

		the_vgroup-&gt;attach_front(add_me);
	}

        // since the_vgroup is a vertical container, buttons will appear
        // at the bottom.
	the_vgroup-&gt;attach_back(the_buttons);

        // associate a widget (remember, containers are widgets too) to the
        // window. A window's underying container can hold only one 
        // non-overlapped widget
        // (but this of course can be many widgets held together in a single
        // container).
	window.attach(the_vgroup);

        // enables calling 'incoming_widget_message' for the specifed widget /
        // window.
	watch_for_messages(the_ok_button);
	watch_for_messages(window);

        // this creates a window, resizes it, and draws everything.
        // the window is now ready for events to occur.
	window.activate();
}

void testing::incoming_widget_message(smg::sends_messages &amp;from_,
 size_t msg_, smg::message_data *data_)
{
        // if the window has been closed with the 'X' button, this
        // requests to smg that we wish to terminate this interface.
	if (from_ == window &amp;&amp; msg_ == smg::window_base::close_request)
		request_terminate();

        // user clicked on 'ok' button. We just pop up a simple dialog.
	if (from_ == the_ok_button &amp;&amp; msg_ == smg::widget::button::button_clicked)
		smg::widget::simple_error(window, &quot;Some title&quot;, &quot;some text&quot;);
}

int main(int, char **)
{
        // this is needed to instantiate SML (SandMines Library).
	sml::sml_main sml_start;

        // set up some debugging stuffs
	sml::exception::get_logger().set_warn_as_fatal(true);
	sml::exception::set_abort_on_exception(true);

        // instantiate our 'testing' interface
	smg::local_interface&lt; testing &gt; local;

        // wait until the interface calls request_terminate().
	local.wait_for_terminate();
}</pre>
<br />
 Well thats it. Asthetics aren't being done as of yet, so things don't look all that great.<br />
 You may have noticed me referring to 'overlapped' widgets above. Certain containers (like a base window) allow overlapped widgets to be attached. These are drawn above the main widget and are allowed to overlap any other widget (in the container). These are used for things such as pulldown menus / tooltips / etc.<br />
 Seeing as there could be overlapped widgets, a list of (non-overlapping) rectangles is used to allow clipping inside the widget. This clipping is transparent to the widget (it only need use the provided drawing mechanism) and all clipping will be done automatically. Of course the widget can get the clipping area(s) to optimize in other ways.<br />
<br />
 Don't forget that this is a very basic example. There are many things I did not show (such as setting a widgets justicication within a cell, etc).<br />
<br />
 One other thing, a window determines its initial size by computing the optimal size needed to hold its widget. Of course, as this will usually be a container, the container computes the optimal size for itself holding its current widgets and returns this.<br />
<br />
 Windows can be resized. All containers will reposition their child widgets accordingly. If a window is resized too small (for now) it simply clears the window to white until the size is re-adjusted.<br />
<br />
 Let me know if you have any suggestions / critisizm / etc.<br />
<br />
 the main window as created above -&gt;<br />
 <img src="http://www.sandmines.org/ss1.png" class="bbcode" alt="http://www.sandmines.org/ss1.png" /><br />
 the popup window when 'ok' clicked -&gt; <img src="http://www.sandmines.org/ss2.png" class="bbcode" alt="http://www.sandmines.org/ss2.png" /><br />
<br />
 an example dialog that lets you select a file -&gt; <img src="http://www.sandmines.org/ss3.png" class="bbcode" alt="http://www.sandmines.org/ss3.png" /><br />
<br />
 Yes, I drew that folder :) Don't forget, astethics aren't on my mind yet!!! This includes spacings between widgets / text colors / etc. (although there is a spacing widget that you can use to set an abritrary spacing size :) ).]]></description>
            <dc:creator>bradbobak</dc:creator>
            <category>Coding</category>
            <pubDate>Tue, 29 Sep 2009 12:44:26 -0400</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,59,59#msg-59</guid>
            <title>Arch Linux - KDEPIM enterprise (1 reply)</title>
            <link>http://www.wuug.org/read.php?14,59,59#msg-59</link>
            <description><![CDATA[ Here's a question for all you Arch guru's out there..<br />
<br />
I need to build the enterprise branch of KDEPIM under arch.. but I only have an SVN checkout of that branch which doesn't contain all the automake'd Makefiles or configure scripts etc, which are nicely packaged in ftp tarball for kdepim-3.5.7-2 from maintainer Tobias (tpowa).<br />
<br />
I've already done the &quot;abs&quot;, and created /var/abs/local/kdepim, extracted the source, then merged enterprise source over top.<br />
<br />
So question is - for KDE packages, how do I re-generate a buildable source tree (without manually editing all Makefiles for new source files)?<br />
<br />
BJ.]]></description>
            <dc:creator>BJ</dc:creator>
            <category>Coding</category>
            <pubDate>Tue, 02 Oct 2007 14:28:39 -0400</pubDate>
        </item>
        <item>
            <guid>http://www.wuug.org/read.php?14,23,23#msg-23</guid>
            <title>Python (and wx) IDE (no replies)</title>
            <link>http://www.wuug.org/read.php?14,23,23#msg-23</link>
            <description><![CDATA[ Is there a good free software Python IDE for UNIX/Linux that does wx GUI building? I hear PyDev isn't bad, but I've never used Eclipse before... Is ActiveGrid any good? Will I be happier just doing GUI building with wxGlade? And lastly, I'm not at all afraid of coding it all myself -- I write Win32 API C++ apps from scratch and rarely use IDEs in general -- is this the tidiest way to do it if I'm comfortable with it, or am I just wasting time?]]></description>
            <dc:creator>ezod</dc:creator>
            <category>Coding</category>
            <pubDate>Thu, 17 May 2007 21:41:27 -0400</pubDate>
        </item>
    </channel>
</rss>
