问题
After looking at RescueTime for windows/mac, it seems that there's a version for linux but doesn't seem up to date. Also, it's the weekends and I want to spend time playing with X11..
I'm thinking of making a simple productivity-polling app, that every short interval polls the active windows, and intercepts (and passes along) mouse and keyboard presses to measure productivity.
Is this possible at all? After checking Xlib I'm at a loss on where to find the binary name of an executable. etc.
回答1:
Finding the PID (and by extension the backing executable) in X isn't necessarily possible (due to the fact that the window might not even be owned by a process on your current box).
See Getting pid and details for topmost window or How to get an X11 Window from a Process ID? for a solution which might work in a limited set of cases (by querying for the _NET_WM_PID property).
来源:https://stackoverflow.com/questions/2391669/is-it-possible-to-get-active-window-executable-names-in-x11-xlib