> Having my app raise itself is absolutely the right thing in
> this case.
Keeping a particular window on top is the responsibility of the
window manager, not the application. Under XFCE you just click
on the window menu and select "keep on top". You can generally
make that attribute permanent for that application if you want.
I don't know what window manager you're using, but they pretty
much have all have that feature for 15 years.
That depends on the OS and on the OS version. Not all the platforms
have this ability, Mine doesn't, for example 
> My question is, how do I make my app feed an electric shock to
> the grad student that clicks on the music player?
You should prevent unauthorized people from using the computer
at all.
You may want to try the latest wxPython pre-release, in which Robin
has implemented wx.Window.SendShockWave() 
If you are on Windows, try that (WARNING: highly terrorist-Python code
):
import win32gui
import win32process
import win32con
import win32api
def windowEnumerationHandler(hwnd, resultList):
resultList.append((hwnd, win32gui.GetWindowText(hwnd)))
topWindows =
win32gui.EnumWindows(windowEnumerationHandler, topWindows)
for wins in topWindows:
if wins[1].find("Windows Media Player") >= 0:
hwnd = wins[0]
# Get the window's process id's
t, p = win32process.GetWindowThreadProcessId(hwnd)
# Ask window nicely to close
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
# Allow some time for app to close
time.sleep(2)
# If app didn't close, force close
try:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p)
if handle:
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
except:
pass:
Hihihihihihihi. 
Andrea.
···
--
"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.virgilio.it/infinity77/