Hi Terry,
It used to be possible to get the front-most app with AppleScript. Due
to sandboxing, this may no longer apply, but perhaps signing the app (or
turning off Gate Keeper) will allow this again?
Kind regards,
Mark Schonewille
http://economy-x-talk.com
https://www.facebook.com/marksch
Buy the most extensive book on the
LiveCode language:
http://livecodebeginner.economy-x-talk.com
Op 30-Nov-16 om 09:17 schreef Terry Vogelaar:
Thank you, Jacqueline and Mike, for your responses.
Jacqueline wrote that LC provides no feedback when it isn't the frontmost app.
But is there a way to use MacOS's Notification Center from within LiveCode to
tell me things like that?
Mike's solution using a timed loop seems to do the trick to add the MacBreakZ
functionality. So the app and site blocking functionality is the only thing
that is hard to implement. But for that, I could use (hey)Focus; this app is
the least intrusive of the three I mentioned. So I could make my own
Pomodoro-timer with a ToDo-list and the MacBreakZ-functionality, and let
(hey)Focus do the site/app blocking.
Heck, key logging, site blocking, disabling of other apps… It sounds like I'm
brewing up something evil. (But I'm not.)
Thanks for the help.
With kind regards,
Terry Vogelaar
The only way I know of to monitor keystrokes/mouse events is with a loop. Check to
see if keysdown() is empty, and "if the mouse is down.” Certain things won't
trigger the mouse is down such as grabbing a title bar and dragging it around (on
windows) but most other clicks will work fine.
For a simple test, I made a stack with a field and a button. the following code
is in the button.
local sRunning
on mouseUp
if sRunning is empty then put false into sRunning
put not sRunning into sRunning
loopit
end mouseUp
command loopit
if sRunning then
if the keysdown is not empty then
put keysdown() into field 1
else
put empty into field 1
end if
if the mouse is down then
set the backgroundcolor of field 1 to red
else
set the backgroundcolor of field 1 to empty
end if
send loopit to me in 100 millisec
end if
end loopit
Placing the window where its visible but not focused and work with another
program. Every click the field turns red, every keypress and the keys that are
down show up in the field. With a delay of 100 seconds its possible to miss an
event, but if a person were actually working actively most keypresses and
clicks will be caught. It should be possible to use either applescript or
vbscript to note what window is focused, though im not sure how to tell if one
is working in a facebook tab or not.
The problem I see here is that LC has no knowledge of what other apps are in
use, and provides no feedback when it isn't the frontmost app. There may be
shell calls you could use to get some of the information, but I kind of doubt
there's a way to monitor keystrokes and that sort of thing.
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode