June 27th, 2011

7stacks v1.5 beta 2 is out

I have just released 7stacks v1.5 beta 2.  As I stated in my previous post, this is simply a workaround for those who are having problems w/ 7stacks and Google Chrome.  Often, when Chrome was running (mostly when viewing Flash or Silverlight sites), 7stacks would simply not appear when clicked. If you do not use Chrome, you can still continue to use beta 1.  If you do use Chrome, I’d highly suggest immediately downloading beta 2. Many, many of you have correctly pointed out that Chrome seems to foul up 7stacks.  I could be way off, but I believe the reason is because of a bug inside Google Chrome.  Yes, I realize that given the odds-on choice of who screwed up: tiny, insect-like me, or massive, behemoth Google, usually the egregious party will be me.  But I honestly do think that Chrome is doing something wrong.  If you don’t care for highly geeky explanations, you’re under no obligation to read the following… Warning: Science Content — In the 7stacks preferences, there is an option to make the show/hide behavior to mimic OS X’s; that is: click the icon once to show the stack, click it again to hide it.  In Windows, clicking the stack icon again has the effect of running a 2nd copy of that stack.  So, in order to accomplish the trick of mimicking OSX, that stack’s 2nd copy (Stack #2) checks to see if another copy is running (Stack #1).  If it is, Stack #2 sends a message to Stack #1, telling Stack #1 to close, then Stack #2 closes itself.  Basically, when a stack pops up, it asks, “Are there any other stacks out there?” Each of these stacks are what Windows calls a “process”.  And the act of these processes communicating w/ one another is a programming technique called inter-process communication, or “IPC” for short. The easiest, and most efficient method of IPC within Windows is the use of a built-in message, WM_COPYDATA.  It allows processes to fire off a message that will be received by other processes that are looking for these messages to come along.  But, for some reason, when Chrome is running, all WM_COPYDATA messages being intercepted, and not being passed on as they should. In effect, when it asks “Are there any other stacks out there?”  It should either hear a “Yes!” from another stack, or it should receive all “No”s from the other...

Read More