Linked by Thom Holwerda on Sat 8th Jun 2013 20:10 UTC, submitted by MOS6510
Graphics, User Interfaces "Though 'flat design' is a popular meme right now, there is something much, much deeper going on here at Microsoft. With my own lifelong passion for design I immersed myself in the community and got a front-row seat on a journey that has its roots as far back as the late '90s with Encarta's bold use of typography and clean interface. But it truly sprang to life in late 2010 with the launch of Windows Phone and in the last few weeks has advanced even further with Windows 8.1 and Xbox One. I started from the very place I bet you are right now - disbelief that Microsoft is leading the way on design." They really are. If Apple really goes all minimalist and digital (I dislike the term 'flat') with iOS, Microsoft will have taken over the baton. Crazy world indeed.
Thread beginning with comment 564264
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: Comment by vtolkov
by ssokolow on Mon 10th Jun 2013 03:33 UTC in reply to "RE[5]: Comment by vtolkov"
ssokolow
Member since:
2010-01-21

No I posted the wrong link. Here is what I meant to post:

http://www.jmelas.gr/motif/lib.php

Ahh. That makes sense. I still have to put together something to snoop on the MIDI SysEx messages Yamaha MusicSoft Downloader uses so I can write a portable, open-source equivalent.

(Or at least something more polished. MusicSoft Downloader is an inefficient eyesore.)

As for AHK, it's clear that there is no Linux solution that does what AHK does, even if it were possible to do it. And it (along with its cousin, AutoIt) does a hell of a lot more than hotkeys. It's one of those little utils that keep me on Windows ;)

Now you've got me curious. Mind giving a quick but comprehensive overview of its features? (from a user's perspective rather than Wikipedia's)

If I ever take my plans out of mothballs (placeholder name: *binder ), maybe I'll try to match it.

Edited 2013-06-10 03:34 UTC

Reply Parent Score: 2

RE[7]: Comment by vtolkov
by WorknMan on Mon 10th Jun 2013 04:05 in reply to "RE[6]: Comment by vtolkov"
WorknMan Member since:
2005-11-13

Now you've got me curious. Mind giving a quick but comprehensive overview of its features? (from a user's perspective rather than Wikipedia's)


I think the home page gives a pretty good overview:

http://www.autohotkey.com

My favorite thing is being able to configure different hotkeys and hotstrings on a per-application basis. For example, with any app that has tabs, I use AHK to map the same keystrokes for manipulating tabs (opening/closing/switching between), so I don't have to remember different keystrokes in different apps. It's kind of the same thing as making 'dir' and 'ls' do the same thing on both Windows and Linux ;) And the hotkeys usually work even when apps don't have focus, so just about any app supports global hotkeys by default. Among the other things it does is to automate GUI tasks (kind of like having Office macro-like capabilities across the entire OS), although I prefer using AutoIt for that.

When doing hotstrings, there's all kinds of different switches, so for example, sometimes the event happens as soon as you type a word, or you can make it happen when you press the spacebar. I like that kind of flexibility.

As for writing a replacement, AHK has been in development for years, so that ain't gonna be a small task. I think somebody might've started a Linux port, but to truly be useful, it would have to work in all kinds of apps (QT, KDE, etc) and across a variety of desktop environments.

Edited 2013-06-10 04:08 UTC

Reply Parent Score: 2

RE[8]: Comment by vtolkov
by ssokolow on Mon 10th Jun 2013 06:37 in reply to "RE[7]: Comment by vtolkov"
ssokolow Member since:
2010-01-21

My favorite thing is being able to configure different hotkeys and hotstrings on a per-application basis.


Each application window already exposes various identifiers to X11 that WMs like Openbox and Kwin use to implement per-application settings.

I already know how to get the active window so it shouldn't be difficult to bind to an X11 focus change event and query the new active window for its identifiers.

The biggest obstacle is if the developer isn't aware that it needs to be supported.

hotstrings are probably the more complicated part and that's mainly because, since I don't use them myself, I've never needed to research the DOs and DON'Ts of properly implementing multi-keystroke keybinds on X11.

As for writing a replacement, AHK has been in development for years, so that ain't gonna be a small task.


That depends. I get the impression that's partly because AHK has its own implementations of various things that can be had, ready-made, using Python libraries on Linux. (Scripting runtime, high-level API for interfacing with various aspects of the desktop, etc.)

I could see it being time-consuming to reimplement a runtime for the AHK scriping language or to port AHK to Linux but creating something with equivalent functionality isn't necessarily going to take as long... especially if the requirement is relaxed to "scriptable in something easy to understand and common on Linux like Python with some custom high-level APIs added" rather than "with a syntax-compatible AHK script runtime".

If nothing else, it's been my experience that Python+GTK and Python+Qt give much faster results than C++ and the Windows APIs.

I think somebody might've started a Linux port, but to truly be useful, it would have to work in all kinds of apps (QT, KDE, etc) and across a variety of desktop environments.</span>


Hence why I suggested puppeting application GUIs using a mix of XTEST the AT-SPI accessibility bus.

Applications don't even notice the difference between keystrokes injected via XTEST and those from a real keyboard.

AT-SPI, while requiring that accessibility be switched on, lets you reference specific widgets within an application in a manner analogous to using jQuery to find and click on HTML DOM elements. (And it works with GTK+, Qt4, LibreOffice, and Mozilla XULRunner without caring what desktop environment you're running inside.)

Edited 2013-06-10 06:37 UTC

Reply Parent Score: 2