Your comments

What about Web Sockets in iRidium 3.0 ?

I'm asked about 2 years ago about this... :)

так а в чем проблема сделать массив и через него все реализовать? Автоматически. Работа программиста заключается в том, чтоб рутинную работу превратить в наслаждение.

I want to say that this is a wrong statement. Can access the parent property.
For example, there is a button
var btn = IR.GetPopup (0). GetItem ('Item 1');
We can get the name of the Popup page by where is the button

var currentPopupName = btn.Parent.Name; // Popup 1

Hey.
I saw your post and wanted to stretch my mind before going to bed :)

I had a small operating time and I tried to solve your problem by using a script. In this example, do not use methods of showing / hiding the popup pages standard methods iRidium.

The essence of the script is that it automatically scans all the buttons in the project and selects those, whose name in the General Properties marked with "*".

Then even trickier. Name the buttons as follows:
<popup name> * <action> (eg "Popup 1 * Show")

And then the script will understand that it is necessary to show popup called "Popup 1"

If you want to close the popup on which the button, just after Item Name specify * Hide (such as a button with the name "Item 3" is on the "Popup 3" so close "Popup 3")

The project with the example attached below.

Close Current Popup.irpz

The big request to add support for iBeacon. Since through this functionality (IR.EVENT_DEVICE_BLE_FOUND) in i3 pro for BLE (Bluetooth Low Energy) is impossible to get a true UUID, it is replaced. Which leads to difficulties in the identification iBeacon.

Я думаю нужно просить Иридий чтоб они сделали такой функционал внутри клиента. Что-то на подобиии галочки в свойствах элемента (не выполнять, пока нет подтверждения). Либо, делать все клавиши с удержанием. Например 1 сек и на Hold выполнять макрос.