Monthly Archives: April 2016

What Bridge?

You might be wondering about whether any thing is happening with Shoes 3.3. Is there going to be a 3.3.2? What’s in it? Is anyone awake?

We don’t have a list of what’s in the next Shoes (3.3.2). As always, when developers don’t get feature requests then they work on their own pet peeves and the recently introduced Shoes Console was pretty lame when developers look at. A hack. A Useful hack but it could be much more useful. One developer wants to use it output results from Shoes tests and wrote a nice Shoes app to run test scripts on the internals of Shoes but the output was no where close to what a real terminal would display.

The code was particularly poor – I can say that, I wrote it! Clever but ugly. Developers care about ugly code. The first ugly is the Window was titled “Shoes Console” and we already had a “Shoes Console” – they are not the same. This one will be called Shoes Terminal. Arguably, the other Shoes Console, the one you alt-/ to, could have been renamed “Shoes Log”. On the gripping hand, The Shoes Terminal will actually do terminal things.

Inside Shoes, in the C code we had repurchased some dead and forgotten C from another project and as things often do, it might not have been the best choice. But after examining other projects to borrow from – it was not completely bad. So we fixed it to do better on Linux and possibly work better on Windows and be less offensive to the sensibilities of future C developers. That took time, a lot of time and it’s still not what I’d like although Linux is usable for many escape sequence emitting code that expects an xterm. Even works on Windows if you run cshoes.exe from the Windows dos console or msys.

And then we have OSX. At first glance, you’d think it would be like any other Unix, an assumption I mad when I hacked the current Objective->C implementation. Turns out, that wasn’t a good assumption. Shoes and OSX have always had some special “doesn’t fit the mold” problems. Shoes Terminal really highlights that special OSX experience.

There’s are deep OS river gorges Shoes has been crossing over with just a rope bridge over the rivers, swaying in the turbulent wind anchored to some wooden posts in the shifting banks. We can’t fix the gorge but we might be able to run a steel cable and put the pylons in concrete anchors. Not as easy as Xena runs across rope bridges.

So, we have been busy, working on things you may never see or use. Until you do. If you’re developer looking for a challenging bridge to cross, Shoes will provide that. Consider adding your skills. Embedded C Ruby in GUI of, Gtk, Cocoa, C, Objective C, Linux, OSX, Windows – we’ll never run out of fun.

Shoes 3.3.1 (finally)

There’s only minor changes since the last beta. Let’s set this puppy loose and see what doesn’t happen! Download from here

Windows Users – you must uninstall earlier versions of Shoes before installing 3.3.1.

Changelog:
New with 3.3.1

  1. Video widget. If you have VLC installed, Shoes will find it (and
    you can tell Shoes where your VLC is). Once found, you can use it.
    You can not package VLC with you script however.
    Issue 133
    Caution: may not work on OSX < 10.10
  2. Secondary packaging. Use a Shoes installer script to install your app. Not
    for the casual. Too damn clever so there’s likely to
    be bugs and confusion.
    What it is
    Also read
    Issue 188
  3. Uses Ruby 2.2.4. If you have native Gems that were built by earlier
    versions, they may not work. – Uninstall and reinstall the gem.
  4. Windows: Shoes comes with win32-shortcut gem. Undocumented and the
    online docs you do find are not always up to date.

Fixed with 3.3.1

  1. start {} blocks on stacks and flows work much better.
  2. Windows: does not use FONTCONFIG_FILE env var.
    Issue 216
    Benefits: Faster install, multiple installs, enables merge packaging
  3. Linux: fixed edit_box bug with Gtk >= 3.16
    issue 217
  4. OSX: don’t duplicate Shoes.app windows. Nasty if it happens to you.
    Cshoes suffered from this bug too. That works better now for OSX.
    Issue 190
    Issue 175
  5. Windows: ask_color crashes.
    Issue 209
  6. updated wiki article on building Shoes with Linux.
  7. remote debugger issue with newer byebug versions
    Issue 231

Developer issues for 3.3.1

  1. deleted gtk2 code. Video code is included.
    Some rakefiles were modified and are slightly less confusing.
  2. Windows: dependencies have changed – using Gtk 3.10.9
    Read more.
    Download from here if you need them – it’s a huge file!

Shoes runs on feedback and good intentions. Without feedback, we’ll do what we think is fun for us. Register your bugs or requests.

OSX Merge packaging

Now we are complete. I guess. Maybe. OSX users can build an installer (a dmg) that
packages their script dir with their Shoes. In theory they, don’t need Xcode to do it. Here’s my Ytm demo app installer on OSX. First we have to click through the license.
osx-uela
and then we can drag my app to Applicationsosx-install

If your first reaction is “that is one butt ugly installer!”, then I agree with you. It’s butt ugly. for a purpose. Like exe-shoes and linux-shoes You, not me have to make it pretty because it’s your code and your users. All I did was give you some structure to work with to build your own installers for your own app for your own users.

I’m not going to do much more on Merge packaging for any platform because it’s not something I care deeply about. That’s your task if you accept it.

Take away:
You don’t have to build Shoes from source and install the dev tools to build a ‘Real app’ and an custom native installer for it that hides Shoes. You have been empowered!