Bug 57607

Summary: Desktop contents not hidden when xosd used to flash up msgs
Product: kscreensaver Reporter: Steve Purcell <stephen_purcell>
Component: generalAssignee: kscreensaver bugs tracking <kscreensaver-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: l.lunak
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: PyOSD script attached

Description Steve Purcell 2003-04-23 14:03:22 UTC
Version:            (using KDE KDE 3.1.1)
Installed from:    Compiled From Sources
OS:          Linux

I use a python script to flash up notification messages on my X11 display using libosd (0.7.0). When the screen is locked with Kscreensaver (simple blank screen selected), the notification messages appear, *AND* the desktop content is redisplayed.

I guess this is potentially a security problem, since users lock their screens to keep people from looking at their windows.
Comment 1 Steve Purcell 2003-04-23 14:05:29 UTC
Apologies; I meant to write 'libxosd' rather than 'libosd'. See 
http://www.ignavus.net/software.html for more info about the library. 
Comment 2 Chris Howells 2003-04-23 17:22:40 UTC
Subject: Re:  New: Desktop contents not hidden when xosd used to flash up msgs

Hi,

On Wednesday 23 April 2003 13:03, Steve Purcell wrote:
> I use a python script to flash up notification messages on my X11 display
> using libosd (0.7.0). When the screen is locked with Kscreensaver (simple
> blank screen selected), the notification messages appear, *AND* the desktop
> content is redisplayed.

An interesting one. Could you please add the relvant parts of the python 
script to bugzilla so that I can reproduce it myself and hopefully fix it.

Thanks.

Comment 3 Steve Purcell 2003-04-24 13:08:43 UTC
The script follows. Pyosd must be installed. Use the program like 'progname hello': 
------------ 
 
#!/usr/bin/env python 
import pyosd, sys, os, string, time 
 
TIMEOUT = 2 
 
if len(sys.argv) < 2: 
    msg = sys.stdin.read() 
else: 
    msg = string.join(sys.argv[1:], ' ') 
 
print msg 
 
d = pyosd.osd() 
 
d.set_pos(pyosd.POS_BOT) 
d.set_timeout(TIMEOUT) 
d.set_shadow_offset(2) 
d.display(msg) 
time.sleep(TIMEOUT) 
 
Comment 4 Steve Purcell 2003-04-24 13:10:55 UTC
Created attachment 1424 [details]
PyOSD script attached

Sorry, should have attached the script instead of pasting it in -- formatting
was lost.
Comment 5 Lubos Lunak 2003-04-30 16:16:45 UTC
kdesktop_lock in HEAD now tries much harder to stay on top of everything.