Can't get VOIP application Window to front - Title doesn't seem to exist

Hi,

Just upgraded to KM8 and am trying to get a specific use case to work.

We've just moved house and we have VOIP for our telephone system and no longer have a landline. This means I use a VOIP client on Mac, Bria 5.

I also use a KVM with Mac and Window machines. I have a three monitor system with the central monitor switching between Windows 10 and Mac OS. The two outside monitors are always set to use Mac OS, so I can have Windows 10 in the middle and two Mac monitors outside it. When the central monitor is set to Windows, the main keyboard is also Windows.

However the VOIP client is only Mac, so it sits on an outside monitor and is always visible. I also have a little USB numeric keyboard plugged into the Mac which I want to use to run the VOIP application, Bria 5. As this little numeric keyboard is permanently switched into the Mac, I can work on Window 10 in the central monitor but still take and receive calls as I can see the outside monitors.

53

What I want to seems quite easy,

  1. Capture any of the keypad keys on the little USB keyboard - I can see the actual keypress in Keyboard Maestro 8 so thats OK.
  2. Bring the Bria 5 application to the front and pass the correct key to Bria 5.
  3. use the Enter key on the numeric keypad to initiate a call (basically pass Enter to it).

I've written a number of macro's for KM in the past so this doesn't seem difficult.

e.g. I can capture the numeric keypad, so thats good.

What I cannot do, is get the Bria 5 application to the front. I've read through many of the topics here and can see that using 'Bring Window(s) With Name Containing "Bria" To Front" should work but it doesn't.

32

If I run the code that I found in a thread.

tell application "System Events"
tell application process "Bria 5"
	properties of windows
end tell

end tell

I get

{{minimum value: *missing value* , orientation: *missing value* , position:{3528, 31}, *class* : *window* , accessibility description: *missing value* , role description:"standard window", focused: *false* , title:"", size:{312, 666}, help: *missing value* , entire contents:{}, enabled: *missing value* , maximum value: *missing value* , role:"AXWindow", value: *missing value* , subrole:"AXStandardWindow", selected: *missing value* , name: *missing value* , description:"standard window"}}

If I run this version of the code with a more specific title

which seems to tell me that the window doesn't appear to have a title. I strongly suspect that the Bria 5 application is a Java application .

If I run this version of the code with a more specific title I get

tell application "System Events"
tell application process "Bria 5 - Rob Willett"
	properties of windows
end tell
end tell

I get

error "System Events got an error: Can’t get application process \"Bria 5 - Rob Willett\"." number -1728 from application process "Bria 5 - Rob Willett"

which seems to tell me that the process name is the important thing here.

Is there any other technique to get the Bria Window to the front and focussed so I can send numbers to dial with please? Or is the Java bit screwing things up?

I have managed to get one solution to work.

I run a bit of AppleScript to bring the right window to the front and then insert the right key.

I have 10 Macros defined as the order of the numbers could be in any order.

This seems to work but I'm not sure if it's an optimal solution. Any suggestions welcome.

Hey Rob,

You tried using the Activate a Specific Application action?

That only works with a given application:

image

You have to bring the application to the front first.

NOTE -- Keyboard Maestro does NOT see floating windows and palettes.

See this macro:

List Windows Keyboard Maestro Can See

-Chris

Chris,

I already tried this. KM8 doesn't find the window with the title in it and pops up an error message saying it can't find it.

I think it's a non-standard window on Mac OS X. I suspect it's cross platform Java .

I have a solution with AppleScript that works OK so will continue with that.

Rob