Deskbar – The Katapult equivalent for Gnome


I have been seeing a surge in people searching for ‘launchy linux’ in my stats from one of my previous posts.

I love seeing new ideas that change the way we use something that was considered just a normal part of life. Launchy, Quicksilver and Katapult are great examples of this. I was reading the other day about keyboard shortcuts and one guy said he gets so frustrated to see someone click in the URL bar and then press or hold delete until the old URL was gone before typing the new URL – (Ctrl+L) achieves the same for you in Firefox and Opera btw.

I can understand his pain. I see people using a Start Menu these days and it just pains me. click, move mouse, look, can’t find.. go up and down with the mouse, then slowly one by one until they find the program in question. oooh.. painful to watch.

Being a Systems Admin for a Financial Services company though, I just can’t go installing launchy on all our Domain controllers – so the pain runs even deeper. I mean, I could cos’ “I’ve got the power” so to speak but well, I try to stay old school and conservative to fit in with my peers.

So.. the point of the article is Gnome’s Deskbar right? Yes, KDE have Katapult and so Gnome has deskbar. I recently moved from PCLinuxos to Ubuntu Feisty Fawn and Gnome was a part of that move – I’ve seen no reason to go back since.

Deskbar is actually more advanced / integrated than Katapult in that it integrates with Beagle (a desktop indexing tool). So, in this effect it is a little like having a mix of Google Desktop + Launchy all in one.

I bind Ctrl+Shift+X to run Deskbar. You want to send an email? Ctrl+Shift+X -> type “Gar” and there it is, the action “Send Email to Garry G….”

In Summary deskbar can:

  • open a folder location in Nautilius
  • run a program in your menu structure
  • run a binary from your path
  • send an email to a contact
  • search text that beagle has indexed
  • or it falls back to a beagle search if it can’t find anything

Downsides:

  • no built-in calculator
  • wouldn’t automatically take focus when using with beryl

I am fairly new to the Gnome camp, I came for beagle but conduit, tomboy notes & the great music player Listen

I am still sorely missing Ifolder which I haven’t managed to successfully install under  Ubuntu Feisty.

Powered by ScribeFire.

Using wine to support transparent backgrounds in Linux for flash


As I have said before, I am a wannabe web design, developer – I’m actually a wannabe everything but that’s another story.

Anyway, I have a few sites I have implemented using Sifr fonts by Mike Davidson. If you don’t know about Sifr fonts, essentially it gives you the ability to use antialiased fonts by using a mixture of flash and javascript to replace the initial text. It’s very cool and has all kind of fallbacks in case no javascript, no flash etc.

Anyway, one things sifr 2.0 doesn’t do is detect whether the browser supports transparency. You see, as I develop my sites mostly in Joomla, I like to keep things Joomlomic (my new word, ie: pythonic). So, I generally try and use the default CSS classes and id’s so that if I decide to replace a template at some stage, it’s no biggy.

Anyway, this particular site has some fancy backgrounds and uses Sifr. The site looks great under any browser that supports flash transparency, which is probably 99% of the site’s users. For those people like me, the site is still useable and looks similar but each “sifr” text block displays the Flash background colour, which doesn’t match the rest.

Anyway, I noticed when running IE6 under wine, that flash transparency works fine. Since I generally use Opera (yes I switched back to Opera from Firefox) as my browser on both windows and linux, I decided to see if the Windows version of Opera would run under Wine. Downloaded and installed it. It installed just like a Windows application.

Running it, the only thing I had to do was to change the Opera fonts for dialogues, toolbars etc. which I just used Bitstream Vera Sans. It worked so well, I thought I might even try and see if it’s voice engine would work – I can report that it didn’t.

So, flash transparency works perfectly. Actually, everything works just as good as the original Linux or Windows version. I downloaded and chose the Tango skin.. perfect.

I may consider running the Wine version of Opera over the Linux version now.. I will continue to test both to see what else does or doesn’t work.

This is running Wine 0.93 on Ubuntu Feisty Fawn btw.

I was getting so brave, I thought I might try and run Skype under Wine.. I can safely report Skype V3.01 doesn’t even get through the installer ;). I can’t be bother trying any harder than that.

Powered by ScribeFire.

A case for learning python


Disclaimer: I am not a programmer ;)

In my last entry, I had a dig at Microsoft’s Silverlight for not being cross-platform and referenced python as an example of a truly cross-platform language. I’ve been wanting to collect many of my thoughts and research on the topic and want to put it all together in a place I can reference.

First up: Why Python and / or it’s derivatives

It’s Cross-Platform – truly

I am a Systems Administrator, with an equal share of my day spent between different *nix varieties & Windows. When I first set out to learn a linux editor, an old Solaris admin suggested I spent time to learn vi.. as it was the lowest common denominator when jumping between different *nix platforms. I applaud him for that advice now as it’s a rather big time investment learning vi.

So, it’s a similar thing with Python for me.. in the *nix world, Python is there by default on most and if it’s not there, it’s usually in an easy to install package – even HP-UX ;)

In Windows, it’s a 14mb installation, a no brainer also. I am not a heavy Mac user there’s a Universal available for  Mac’s as well so, I would imagine it’s also a no-brainer.

It’s Got Swiss Army Knife Capabilities – all for free

  • Want to build “platform native-looking” cross-platform gui apps with ease – check out wxpython
  • Want a cool, agile, mvc platform for web-development – check out Django or Turbogears
  • Want a powerful, flexible python-based CMS – check out Plone
  • Plone is built on a Python Application Server called Zope
  • Want an event-driven networking engine – check out Twisted
  • Want to access Active Directory via python, Tim Golden has some excellent scripts.
  • Want to monitor Linux and Windows machines in your network – check out Zenoss
  • Want a brilliant Music player for your Linux Machine – check out Listen Project
  • Want some python recipes to whet your palate – checkout O’Reilly Python Recipes
  • Want some IDE goodness for your applications – check out SPE, Pydev or Eric
  • Want to learn python – checkout diveintopython, How to think like a computer scientist
  • Want to watch some python screencasts – check out Bestechvideos or Showmedo
  • Want to control windows gui apps for QA testing or just for the heck of it – check out pywinauto
  • If any of the above don’t quite fit your needs – you can easily modify them to as they’re all open source.
  • Check out what python libraries are available (2345 as of this writing) – Go see the cheeseshop
  • It’s terse, concise and easy to read

but wait, there’s more…

  • Want to access any Java class from python – check out Jython
  • Want to access the win32 api – check out Win32 Extensions
  • Want Python for .Net – yes, you can access C# or VB.net CLR classes with Ironpython

Python’s derivatives – Boo (using mono) and Groovy
Python’s so good, some people decided it was worth copying (adding) to for their own personal preferences. So, if you’re a C#  programmer, who needs your compile-time errors you could check out Boo and you can even convert your VB.net or C# projects to Boo using Sharpdevelop for Windows. I’m not sure if Monodevelop for Linux will convert C#<->Boo<->VB.net but it pretty much covers everything that Sharpdevelop does albeit that the GUI Designer utilises GTK# rather than WinForms for developing interfaces.

I built a quick GUI with a few menus in Sharpdevelop in Boo and compiled on Windows. Copied the .exe and dll’s across to Linux..sweet. It ran and even resembled a .Net application on Windows XP.

Ironpython is also running on Linux under Mono and can use WinForms if you choose.

For those who are looking for “more Java than python” but need to give their wrists a break, the Boo equivalent for Java is Groovy – An agile dynamic language for the Java Platform

With python, you can extend Java programs without learning Java, extend .Net programs without learning .Net so it ultimately provides you a lot more agility as a programmer (me thinks) than being stuck in one or the other camps.

To finish the entry off – I figured it’s well worth quoting the famous The Zen of Python (by Tim Peters)

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!

Technorati Tags: , , , , , ,

Powered by ScribeFire.

Microsoft’s Silverlight “Cross-platform” – who are they kidding?


As part of our MSDN subscription, I am subscribed to MSDN Flashes.. newsletter blurbs about how Microsoft are doing great things.

Today’s story is about “Silverlight” – the sound of which has a textmate, expose, finderish ring to it to me.. but anyway.

At the Microsoft blurb, it seems Microsoft want to take on the role that currently Adobe’s Flash plays. Thankfully, Adobe recently released Flash player 9.0 for Linux.. which means it truly is cross-platform.

Here’s what Microsoft have to say about Silverlight

What is Silverlight?
Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web.

Which platforms and browsers will Silverlight support?
Silverlight will support all major browsers on both Mac OS X and on Windows. Particular care is being taken to account for differences in platform and browser capabilities to ensure a consistent experience including experiences on FireFox, Safari, and Internet Explorer.

Well, they say a lot more than that but that’s all that matters. Cross-browser and Cross-platform but only works on Windows and Mac OS X?

I much prefer Python’s definition of Cross-platform.. a quick visit to the downloads section shows versions available for

Windows/DOS, Macintosh, Linux, AIX, AROS, AS/400, BeOS, OS/2, OS/390, PalmOS, Playstation and PSP, PSion, QNX, Series 60, Sparc Solaris, VxWorks, Windows CE or Pocket PC and Sharp Zaurus..

Comparing the two, I think Microsoft are being a bit liberal with the term Cross-Platform myself.

Technorati Tags: , , ,

Powered by ScribeFire.

What sucks about Scribefire / Performancing Plugin


Well, I just spent over an hour writing a post about my switch from PCLinuxOS to Ubuntu Feisty that was wiped in an instant by clicking on history inside Scribefire (previously Performancing) and it instantly wiped what I had type. No backs, no undos.. just instant deletion of everything I typed.

So word for the day.. Scribefire sucks ..no really, I like it, just not that part.

Technorati Tags: ,

Powered by ScribeFire.

Reputation-based Antispam – Is it flawed?

I hate spam, it’s the needless bane of my existence. Spam, spammers and Microsoft vulnerabilities are the scourge of the internet. I spend way more time trying to stop spam than I want to. It’s not like it’s exciting work or anything.

Anyway, onto the story. A mail server that I administer recently started getting a lot of bounced messages from some Major  ISP’s  here in Australia.  I try to telnet to port 25 to send a test email via command line to see what the deal is and I get:

telnet filter.iinet.net.au 25
Trying 203.0.178.192…
Connected to filter.iinet.net.au (203.0.178.192).
Escape character is ‘^]’.
554 iinet-mail.icp-qv1-irony3.iinet.net.au
Connection closed by foreign host.

That’s very bad, not good. Why? Why is it so bad? This server that just dropped my smtp connection ‘like it just don’t care’ is an Antispam Email Appliance called Ironport. Ironport runs some antispam software called Brightmail. Brightmail was taken over by Symantec (so it will probably be no good for anything soon). Ironport / Brightmail is / was aimed at ISP’s from the very beginning and so there’s a LOT of implementations out there, which for me means *BANG* suddenly my users can’t send to a lot of ISP’s out there, and of course, a lot of ISP’s means A LOT MORE users – that’s bad news for me. The problem is that each Brightmail implementation looks (and reports) to a central database to determine a host’s reputation. Having a bad reputation is much worse than getting yourself on an RBL (DNS Blacklist) somewhere. Suddenly every Brightmail server out there just starts dropping your smtp connection with a generic 554 error. No if’s, no but’s, no ‘give me a 2nd chance to correct my wrongdoings’.

Oh but I must be a spammer of have an exploited script on my server right? Well, maybe yes, maybe no. I’ll let you decide but I will tell you what I DO have that I strongly believe is much the root of the problem

  1. Customers with mailing lists that do not deal with bounced messages properly. When someone uses say PHPList by default, it sends it’s emails using PHP from apache – let’s say it sends it’s emails as nobody@mydomain.com – and the postmaster gets the bounces. Ok, bad postmaster didn’t call the people to tell them to sort out their mailing list software – bad me.
  2. We recently started hosting an ‘association’ where everyone who is a member happens to get their own free email address – yippee. The problem is, they don’t get their own MAILBOX, they just get a forwarder to their own email somewhere out there in ISP land. Now, the silly person who set that up didn’t turn on spam scanning (because their ISP’s do it for them) and now my server is forwarding hundreds of spam to the recipients at the ISP. Does the ISP care? No, my server is seen as the source of that spam – Lesson number 2 – Don’t forward lots of mail to lots of ISP’s without spam scanning.
  3. Forums being bombarded by illegitimate signups – these spammers bots put false addresses in there. Each time my server sends an email to a non-existant address at an ISP, that is another bad reputation tick on my server’s little black book.

This isn’t the days where one can just go to your local, friendly DNSBL and ask to be removed. Now you have a ‘reputation’ in some companies not-so-little database out there in the wilderness. Who do I ask to be removed from? The ISP? which one; Symantec? yeah right; Senderbase? Give it a try

Anyway, I am rather annoyed about this whole saga right now. As far as my clients are concerned, it’s only OUR server that is blocked by ALL those innocent ISP’s. Who’s listening? nobody.

and by the way? Where’s the full FAQ of what all the information at senderbase.org means, anyway? On forums, everyone talks as if they know what it all means, is it really me who doesn’t really understand exactly what “DNS Verify” means over at the senderbase.org site?

From reading Ironport documentation, DNS Verify = a two way DNS lookup: 1st is an rDNS/PTR lookup on your IP, and then an A record lookup on the record that was returned on the PTR lookup. Well go figure mine are fine, ok, return identical results but do you think I can get a “DNS Verify” to say “Y” over at senderbase.org?

Oh, you can go and get “Third Party Certified” over at Etrust – for a small, handsome sum btw – Fork over $1500 just to get your email accepted?

It’s now days later and I am still blocked.. if you sense that I am a bit pissed about this whole thing, I am. I really don’t know whether to blame myself or not.

Technorati Tags: , , ,

My Favourite Grep / Bash Combo’s


Just a quick build up of my most commonly used bash commands

lsof | grep ‘searchterm’  – List open files and search for specific handle
history | grep ‘searchterm’ – Search for a term in my bash history (I now have this setup as an alias ‘ghistory’
ps -ef | grep ‘process’ – Much the same as ‘ps aux | grep’ but is HP-UX compatible, so force of habit really.
!ssh – Reuse the last ssh command in history (make sure you never use !rm, especially if you ever use rm -rf).
netstat -anp | grep ‘searchterm’ – Great for finding which processes are talking on which ports and to which ip addresses.

That’s it for the moment, I’ll keep them coming shortly.

Technorati Tags: , , , ,

Dribbling Traffic: A Nomachine / FreeNX rant


Anyone who knows me, knows I am very keen on Network / Server Based Computing. As a part of my daytime lila I run a small Windows Terminal Server ‘farm’ that supports 300 remote desktop sessions across 40 branches in a 2500km radius. It’s not completely without it’s faults but it’s pretty damn good.

The more I used Linux, the more I wanted a similar solution to RDP. Anyone who ever advocated VNC as a replacement for RDP really just, well they didn’t quite have a clue. Winvnc, tightvnc etc, etc.. none of them come close in regards to screen rendering quality vs speed. The desktop experience isn’t the same. I then realised X can be used for full desktop via XDM and there was even a Win32 client… but had you ever tried to use it over a WAN? ha..

I’ve been a packet sniffer since way back. My first attempt at ever networking 2 computers together caused me days of grief and hair pulling and led me to realise there was such a thing as a Packet Sniffer which could tell you what was going back and forth on the wire – who was saying what.

Anyway, along comes the NX protocol / software client and server by Nomachine. I mean, this is some cool shit that kicks some serious butt on RDP. In essence it is the X server protocol that is compressed and proxied between the server and the client. On full 16bit colour, full screen across a 512/512 ADSL link it is VERY MUCH like sitting at your own desktop. Try scrolling on a website on the same link with RDP and you will be in for sit and wait.. hit a page with some flash animations on RDP and you’re gonna suffer a little. Nomachine’s NX flies through it all almost seamlessly.

But here comes the rant. In the morning’s when I arrive to work, I connect home via NX and maybe 90% of the day, the connection sits there doing nothing. At the end of the month, my internet usage at work shows me as using some 3gb of data download (2gb of this is NX traffic). This isn’t good as it makes my boss think that I am surfing the net all day (I have the necessary privilege of bypassing the proxy) and we pay big $$ for overages on our Fiber.

So, I sought to find out what the deal was and realised that whilst idle and no screen changes on the remote machine, NX is passing 3-5KB/s (3000-5000 bytes) of traffic inbound. Outbound is neglible, so it’s not an issue. Compare this with RDP, which passes between (6-200 bytes) and you can see the issue here. Now, I have read other people who are seeing 500bytes going across the wire using NX but I can’t replicate that myself (I am using NX Client 2.1.0-6). I am NOT using SMB mounting or Multimedia Support and I still can’t get below this 3000 byte figure. In a business scenario, this traffic usage would grow pretty significantly. ie: 5KB/s x 40 clients = 200KB/s or a 1.5Mb ADSL line maxxed out because of IDLE clients.

Initially, I setup pyshaper on the server side and enable it to shape traffic to 800 bytes before I minimize the NX client, but then it would be a slow process when I would want to access the session again, I have to wait for the delay on re-enabling it. Pyshaper relies on  some Linux tools to do it’s job, so it’s not portable to Windows (my desktop at work). So, I have started playing with Netlimiter Pro, which gives me the ability from the Windows Client side to quickly enable and disable traffic shaping on the NX client… not only the NX client but the individual data connection – so if I have an NX connection internally here at work, it will not be affected by the traffic shaping.

I have had a quick hunt around to find a quick way to hook into the NX client in Windows, detect when it is out of focus and automatically shape the traffic. I haven’t found anything as yet and not being a coding guru, I don’t think I will achieve it anytime soon. So, I will sit and hang out with my Netlimiter Pro until the Nomachine guys (who are extremely cool, regardless of my rant) consider implementing this feature.

This also led me to learn more about SSH compression, which deserves it’s own post. For the time being, if you want to use it Putty has it as an option or from bash: ssh -c user@hostname

Technorati Tags: , , , ,

VMware as a (Joomla) web development server.


**This is a setup for my PERSONAL use and works well as such. I would suggest something different in a team environment.

In my afterlife as a try-hard Joomla web developer who only ever dreams of having my sites getting a full validation at www.wc3.org, I have tried a number of different setups to get an effective development environment happening. Here’s a setup I have been using for about a year that works well for me, scales well for multiple websites and is quite simple to create more hosts.

My development machine is actually a VMware Virtual Appliance that lives on my desktop. I use The Free VMware server as opposed to the Workstation edition because I like to have it running as a service.

I have a Samba share that’s mapped from /home/user/public_html in the VM to /home/user/public_html in the host (my desktop). In the public_html folder, I create new folders that act as Virtual Hosts representative of their real domain or the username of the CPanel live server. My Virtual Machine is setup using the “DMZ” server setting from the router, this mostly just saves me configuring the NAT back at the router. Instead, I use the Suse Firewall to control access to ports.

My Virtual Hosts and their Folder Locations are like such:

/home/user/public_html/user1 -> user1.domain.com
/home/user/public_html/user2 -> user2.domain.com
/home/user/public_html/user3 -> user3.domain.com

Virtual Hosts can be setup via Yast but since I previously used Mandrake (Mandriva), I was accustomed to creating Virtual Hosts by hand and I still find this easier.

In Suse, you can find the file for modification here:

/etc/apache2/vhosts.d/yast2_vhosts.conf (in Mandrake is was /etc/http/conf/vhosts.d/Vhosts from memory)

And the entries that give us what we need for name based virtual hosts are:

<VirtualHost 192.168.1.5>
 DocumentRoot /home/user/public_html/user1
 ServerName user1.domain.com
 ServerAdmin user@domain.com
<Directory “/home/user/public_html/user1”>
  Options FollowSymLinks
  AllowOverride Indexes AuthConfig FileInfo Limit Options
  Order allow,deny
  Allow from all
  DirectoryIndex index.html index.php
 </Directory>
 UserDir public_html
</VirtualHost>

To make it available externally then you need to create an A record in your DNS that looks like:

<your_external_ip>    user1.domain.com

(If you do not have a static IP address from your ISP, then you can use a service like www.dyndns.org)

So “externally” ie: from outside the router, I can access all my Apache Virtual Hosts via their DNS (ie:user1.domain.com) and I run .htaccess files that look like:

AuthType Basic
AuthName “Web Dev Server”
AuthUserFile “/home/user/.htpasswds/passwd”
<Limit GET POST PUT>
#deny from all
# LAN Addresses
Allow from 192.168.1.0/255.255.255.0
# WAN Address
Allow from 203.94.183.11
require valid-user
satisfy any
</Limit>

This allows unauthenticated access from ip addresses / ranges yet requires others to authenticate as a fallback.

In my Default Apache Server instance, I run a little PHP script to display the Client’s IP address. When I am working with a client, I can ask them to visit the default page, giving me their IP address, which I can then add to the .htaccess file to give them access to view the site under development without needing to authenticate.

For INTERNAL hosts ot if you don’t want to use DNS, it’s necessary to add the entries into /etc/hosts (for Linux) or %SystemRoot%\system32\drivers\etc\hosts (for Windows) in the following format either on the same line or separate lines ie:

192.168.1.2     user1.domain.com     user2.domain.com
or
192.168.1.2    user1.domain.com   
192.168.1.2    user2.domain.com

Whatever rocks your boat.

So, effectively what this gives us is:

user1.domain.com (and others) is accessible by the outside world via dns – Certain IP’s are automatically authenticated, else a user / password is required.
user1.domain.com (and others) are available via the Hosts file internally without requiring authentication (obviously this doesn’t scale too well if you have many internal hosts and you should consider other options)

/home/user/public_html/ is mounted locally using Samba and available to create sites in Dreamweaver (I am using Wine on Linux). Samba is used rather than NFS because we sometimes mount this from a Windows Desktop. Using this rather than FTP, Dreamweaver sees it as a local drive.

I always leave a fresh setup of Joomla with the basic modules and components that I use installed. This, I use as my template. The process for creating a new website is something like:

Create Site:
cd /home/user/public_html/
mkdir user3
cp -R joomla/* user3/
vi user3/configuration.php (modify paths and database details)

Create Apache Virtual Host:
sudo vi /etc/apache2/vhosts.d/yast2_vhosts.conf, copy and paste an existing site and modify paths and server name
sudo /etc/init.d/apache2 restart

Using Navicat:
Create new database ‘user3’
Data Transfer host:user1.domain.com db:joomla_template -> host:user3.domain.com db:user3

Done! We have a new site with all my personalised components, templates, modules already setup.

MySql side note:

I access all mysql databases inside the VM using Navicat – the Windows version runs under Wine beautifully (much better than their Linux version actually). Navicat is definitely a tool worth paying for. When I migrated from Windows, I exported my HKLM/Software/PremiumSoft key from the Windows registry into Wine and copied my Navicat folders across, which imported all mysql host definitions saving me from setting them up again. Alternatively, if you are a Free, Open Source zealot then you can use mysqlcc or mysql-administrator to access your databases. The biggest praise I have for Navicat is it’s “Data Transfer” tool to move complete databases from host to host.

Time for some VMware Philosophy.

Why do I run everything in a Virtal Machine? Because, I essentially see it as my “Server” platform with the advantages of not generating more electricity, heat, noise, space etc (there was a time I had 5 physical machines in my loungeroom and it was UGLY). Additionally, the environment is much more static than my desktop. I might want to upgrade my desktop in 3 months or 6, I don’t know but I certainly don’t want to move 35 mysql/php/python websites, a mail server, spamassassin, antivirus, dns etc, etc. Additionally, if I want to plan some downtime on my main host, I can just suspend the Virtual Machine and copy across the whole file to my wife’s computer, unsuspend upon it’s arrival on her machine and the Virtual Machine and the mail server and websites can be running again while I don’t have to be concerned with my mail server being down.

Unresolved Issues Encountered:

The MAIN issue of running this setup is that when I reboot, Samba from the host machine tries to mount the public_html share of the VM before the VM has had a chance to finish booting. Thus, the Samba share fails and I need to manually mount it once the Desktop is loaded.

Technorati Tags: , , , ,

Color Themes for Wine on Linux

I became a fulltime Linux DESKTOP convert approx 8 months ago even though I have been administering, using, toying and playing with it for years. There were two programs holding me back from the changeover:

1. Dreamweaver
2. Fireworks

I finally made that changeover by keeping both programs available on my Wife’s windows PC that I can connect to via Remote Desktop. Not long after the changeover, I decided to give Wine another try. It was basically a matter of:

1. Install Wine via Synaptic (Wine 0.9.23)
2. Copy all my “Program Files\Macromedia\” files across to /home/username/.wine/drive_c/Program Files/Macromedia/
3. Export the registry from Windows and import it into Wine’s registry
4. Add some nifty magic
4. Voila (*nifty magic is not difficult but required and is relatively easy)

Now the issue has always been that the colour scheme was like Windows 98.. ugly as hell and today I was sick of my beautiful system tray colours with a Wine icon sticking out like dog’s balls. So I came across some people doing some color schemes in an Ubuntu forum. I am currently running “Default KDE” theme and here is the wine equivalent.

Just save it to a text file, call it colours.reg, open regedit (wine regedit) and import the file. If you are running a different colour scheme. You can use “KColorchooser” to work out which colours are which by running a Wine program and a KDE program and updating the appropriate areas in the reg file. Now my Wine programs look pretty much like any other KDE program.. sweet.


[HKEY_CURRENT_USER\\Control Panel\\Colors]
"ActiveBorder"="239 239 239"
"ActiveTitle"="239 239 239"
"AppWorkSpace"="198 198 191"
"Background"="93 77 52"
"ButtonAlternativeFace"="200 0 0"
"ButtonDkShadow"="85 85 82"
"ButtonFace"="239 239 239"
"ButtonHilight"="255 255 255"
"ButtonLight"="255 255 255"
"ButtonShadow"="198 198 191"
"ButtonText"="0 0 0"
"GradientActiveTitle"="239 239 239"
"GradientInactiveTitle"="239 239 239"
"GrayText"="198 198 191"
"Hilight"="103 141 178"
"HilightText"="0 0 0"
"InactiveBorder"="239 239 239"
"InactiveTitle"="239 239 239"
"InactiveTitleText"="255 255 255"
"InfoText"="0 0 0"
"InfoWindow"="200 0 0"
"Menu"="239 239 239"
"MenuBar"="0 0 0"
"MenuHilight"="179 145 105"
"MenuText"="0 0 0"
"Scrollbar"="239 239 239"
"TitleText"="255 255 255"
"Window"="255 255 255"
"WindowFrame"="0 0 0"
"WindowText"="0 0 0"

powered by performancing firefox