Does anyone know how the 2 seperate Xlib APIs that deal with the screen saver work together?
There's the core built in API with functions such as XSetScreenSaver() and the API found in the X11/extensions/scrnsaver.h and I can't figure out if they're seperate subsystems or they somehow interact.
On Sat, 29 Jul 2023 09:23:25 +0000, Muttley wrote:
Does anyone know how the 2 seperate Xlib APIs that deal with the screen saver
work together?
There's the core built in API with functions such as XSetScreenSaver() and >> the API found in the X11/extensions/scrnsaver.h and I can't figure out if
they're seperate subsystems or they somehow interact.
From a quick reading of the XSetScreenSaver(3) and Xss(3) manual pages
it appears that
a) XSetScreenSaver() is part of the core X11 implementation, and that it
"saves the screen" by simply blanking it, or overlaying it with an
implementation-defined graphic, and
b) the Xss(3) functions are implemented as an optional X11 extension,
and provide facilities to hook a application-defined drawing code
into the basic X11 screensaver code that XSetScreenSaver() uses.
Thus, the Xss(3) functions are an optional layer that replaces the
single XSetScreenSaver() call
On Sat, 29 Jul 2023 15:08:57 -0000 (UTC)
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
On Sat, 29 Jul 2023 09:23:25 +0000, Muttley wrote:
Does anyone know how the 2 seperate Xlib APIs that deal with the screen saver
work together?
There's the core built in API with functions such as XSetScreenSaver() and >>> the API found in the X11/extensions/scrnsaver.h and I can't figure out if >>> they're seperate subsystems or they somehow interact.
From a quick reading of the XSetScreenSaver(3) and Xss(3) manual pages
it appears that
a) XSetScreenSaver() is part of the core X11 implementation, and that it
"saves the screen" by simply blanking it, or overlaying it with an
implementation-defined graphic, and
b) the Xss(3) functions are implemented as an optional X11 extension,
and provide facilities to hook a application-defined drawing code
into the basic X11 screensaver code that XSetScreenSaver() uses.
Thus, the Xss(3) functions are an optional layer that replaces the
single XSetScreenSaver() call
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html
Hi, Muttley
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html
OK, so I'm a beginner at X11/Xlib progamming myself, so I don't
have all (or even most) of the answers. What I can tell you is
that you use the Xss(3) extensions in an X11 client program that
runs in the background and intercepts and processes screensaver
events. It runs as a stand-alone process, and is not integrated
into the X11 server.
So, the screensaver client will have to draw on something called
a "Drawable" (which can be a "Window" or a "Pixmap") which it
tells the Xss(3) extension should be used as the screensaver
image. It's up the the client to establish this Drawable, and
to actually draw the image. This you can do with the usual
XLib calls. The client does this drawing (or stops drawing)
when it receives a ScreenSaverNotify event in it's event loop.
On Sat, 29 Jul 2023 16:42:14 -0000 (UTC)[...]
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
Hi, Muttley
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html
Thanks. I do wish a lot of Xlib documentation was less vague. Programming
is a precise activity, there's no reason for the documentation to not be precise too.
On Mon, 31 Jul 2023 09:08:42 -0000 (UTC)
Muttley@dastardlyhq.com wrote:
On Sat, 29 Jul 2023 16:42:14 -0000 (UTC)[...]
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
Hi, Muttley
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html
Thanks. I do wish a lot of Xlib documentation was less vague. Programming
is a precise activity, there's no reason for the documentation to not be
precise too.
I just wanted to add that there exists also comp.windows.x for such >questions. I don't know if there exist people who read that group and
not comp.unix.programmer .
On Wed, 2 Aug 2023 11:04:19 -0000 (UTC)
Spiros Bousbouras <spibou@gmail.com> wrote:
On Mon, 31 Jul 2023 09:08:42 -0000 (UTC)
Muttley@dastardlyhq.com wrote:
On Sat, 29 Jul 2023 16:42:14 -0000 (UTC)[...]
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
Hi, Muttley
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html
Thanks. I do wish a lot of Xlib documentation was less vague. Programming >>> is a precise activity, there's no reason for the documentation to not be >>> precise too.
I just wanted to add that there exists also comp.windows.x for such >>questions. I don't know if there exist people who read that group and
not comp.unix.programmer .
Cheers. Looks more admin than dev but something to remember for next time.
Muttley@dastardlyhq.com writes:
On Wed, 2 Aug 2023 11:04:19 -0000 (UTC)
Spiros Bousbouras <spibou@gmail.com> wrote:
On Mon, 31 Jul 2023 09:08:42 -0000 (UTC)
Muttley@dastardlyhq.com wrote:
On Sat, 29 Jul 2023 16:42:14 -0000 (UTC)
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
Hi, MuttleyThanks. I do wish a lot of Xlib documentation was less vague. Programming >>>> is a precise activity, there's no reason for the documentation to not be >>>> precise too.
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html >>>[...]
I just wanted to add that there exists also comp.windows.x for such >>>questions. I don't know if there exist people who read that group and
not comp.unix.programmer .
Cheers. Looks more admin than dev but something to remember for next time.
X screensaver protocols don't suffer from vague documentation. But
instead, they suffer from incoherent design and interoperability issues.
The core screen saver requests and the MIT screen saver extension are
both hopelessly misdesigned: they designate a server-managed window as
the screen saver window, and place the responsibility for activating the screen saver in the hands of the server itself, precluding clients
displaying screen savers from either customizing the visual used by the screen saver window or controlling the activation of the screen saver themselves.
X screensaver protocols don't suffer from vague documentation. But
instead, they suffer from incoherent design and interoperability issues.
The core screen saver requests and the MIT screen saver extension are
both hopelessly misdesigned: they designate a server-managed window as
the screen saver window, and place the responsibility for activating the >screen saver in the hands of the server itself, precluding clients
displaying screen savers from either customizing the visual used by the >screen saver window or controlling the activation of the screen saver >themselves.
On Thu, 17 Aug 2023 12:30:05 +0800
Po Lu <luangruo@yahoo.com> wrote:
X screensaver protocols don't suffer from vague documentation. But >>instead, they suffer from incoherent design and interoperability issues.
The core screen saver requests and the MIT screen saver extension are
both hopelessly misdesigned: they designate a server-managed window as
the screen saver window, and place the responsibility for activating the >>screen saver in the hands of the server itself, precluding clients >>displaying screen savers from either customizing the visual used by the >>screen saver window or controlling the activation of the screen saver >>themselves.
It definately has an last minute afterthought feel about it.
"Did we forget something? Oh shit, screensaver! Quick, somebody hack something
up fast!"
On Thu, 17 Aug 2023 10:34:38 +0000, Muttley wrote:
On Thu, 17 Aug 2023 12:30:05 +0800
Po Lu <luangruo@yahoo.com> wrote:
X screensaver protocols don't suffer from vague documentation. But >>>instead, they suffer from incoherent design and interoperability issues.
The core screen saver requests and the MIT screen saver extension are >>>both hopelessly misdesigned: they designate a server-managed window as >>>the screen saver window, and place the responsibility for activating the >>>screen saver in the hands of the server itself, precluding clients >>>displaying screen savers from either customizing the visual used by the >>>screen saver window or controlling the activation of the screen saver >>>themselves.
It definately has an last minute afterthought feel about it.
"Did we forget something? Oh shit, screensaver! Quick, somebody hack something
up fast!"
But, given that a screensaver's primary responsibility is to prevent burnin, X already has a built-in "screensaver": it simply blanks the screen after
a given length of time (see xset(1) dpms options).
On 2023-08-17, Po Lu <luangruo@yahoo.com> wrote:
Muttley@dastardlyhq.com writes:
On Wed, 2 Aug 2023 11:04:19 -0000 (UTC)X screensaver protocols don't suffer from vague documentation. But
Spiros Bousbouras <spibou@gmail.com> wrote:
On Mon, 31 Jul 2023 09:08:42 -0000 (UTC)
Muttley@dastardlyhq.com wrote:
On Sat, 29 Jul 2023 16:42:14 -0000 (UTC)
Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
Hi, MuttleyThanks. I do wish a lot of Xlib documentation was less vague. Programming >>>>> is a precise activity, there's no reason for the documentation to not be >>>>> precise too.
But I'm not sure it does. I've been reading this:
https://www.x.org/releases/X11R7.7/doc/scrnsaverproto/saver.html >>>>[...]
I just wanted to add that there exists also comp.windows.x for such >>>>questions. I don't know if there exist people who read that group and >>>>not comp.unix.programmer .
Cheers. Looks more admin than dev but something to remember for next time. >>
instead, they suffer from incoherent design and interoperability issues.
In comp.unix.programmer Lew Pitcher <lew.pitcher@digitalfreehold.ca>
wrote:
On Thu, 17 Aug 2023 10:34:38 +0000, Muttley wrote:
On Thu, 17 Aug 2023 12:30:05 +0800 Po Lu <luangruo@yahoo.com> wrote:
X screensaver protocols don't suffer from vague documentation. But >>>>instead, they suffer from incoherent design and interoperability >>>>issues.
The core screen saver requests and the MIT screen saver extension are >>>>both hopelessly misdesigned: they designate a server-managed window as >>>>the screen saver window, and place the responsibility for activating >>>>the screen saver in the hands of the server itself, precluding clients >>>>displaying screen savers from either customizing the visual used by
the screen saver window or controlling the activation of the screen >>>>saver themselves.
It definately has an last minute afterthought feel about it.
"Did we forget something? Oh shit, screensaver! Quick, somebody hack
something up fast!"
But, given that a screensaver's primary responsibility is to prevent
burnin,
X already has a built-in "screensaver": it simply blanks the screen
after a given length of time (see xset(1) dpms options).
That is a very good point.
What is more, now in 2023 we have to care about our ecological
footprint. So the simple blank screen is a superior choice, because it consumes less electricity than running flashy animations.
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days. I find it far more user friendly than >chrome and with the kind of functionality you don't get with the simpler IDEs.
I don't know about you, but I don't use a screensaver to avoid burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days.
I find it far more user friendly
than chrome and with the kind of functionality you don't get with the
simpler IDEs.
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days.
I find it far more user friendly
than chrome and with the kind of functionality you don't get with the
simpler IDEs.
On Sat, 19 Aug 2023 08:44:01 +0000, Muttley wrote:
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days.
It is unfortunate.
I find it far more user friendly
than chrome and with the kind of functionality you don't get with the
simpler IDEs.
I agree.
It has been my DE for over 20 years, however, I switched to a tiling WM
many years ago, currently bspwm. I install bspwm with KDE for computer
illiterate people on FreeBSD, the major problem is the poor performance,
and integration of some GTK applications, most do integrate well. KDE is >still faster on 10+ year old x86 hardware.
On Sun, 20 Aug 2023 00:16:22 -0000 (UTC)
Alastair Hogge <agh@riseup.net> wrote:
On Sat, 19 Aug 2023 08:44:01 +0000, Muttley wrote:
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days.
It is unfortunate.
I find it far more user friendly than chrome and with the kind of
functionality you don't get with the simpler IDEs.
I agree.
Just noticed I wrote IDE instead of WM as well as chrome instead of
gnome.
Note to self - don't post when half asleep!
It has been my DE for over 20 years, however, I switched to a tiling WM >>many years ago, currently bspwm. I install bspwm with KDE for computer
Not heard of that one, will have to check it out.
illiterate people on FreeBSD, the major problem is the poor performance, >>and integration of some GTK applications, most do integrate well. KDE is >>still faster on 10+ year old x86 hardware.
The one area I do rate gnome ahead of KDE is that it can be programmed
in C (gtk) as well as C++ (gtkmm) whereas KDE is C++ only (Qt).
On Sat, 19 Aug 2023 08:44:01 +0000, Muttley wrote:
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC)
kalevi@kolttonen.fi (Kalevi Kolttonen) wrote:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
No one seems to mention KDE these days.
It is unfortunate.
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
It blanks the screen even when locking it. When I press any key, the
screen wakes up and I can login again. No art of any kind is involved in
this process.
br,
KK
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC), kalevi@kolttonen.fi (Kalevi >Kolttonen) wrote in <ubpv5g$nu1c$1@dont-email.me>:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
It blanks the screen even when locking it. When I press any key, the
screen wakes up and I can login again. No art of any kind is involved in
this process.
br,
KK
I use xfce also, which I switched to on the Ubuntu
install from System76.
But then I installed xscreensaver, which _can_ be set
to use DPMS...but in the past (maybe too long ago to matter), I would
have trouble with getting my video back.
I guess it's time to try again: I'm going to set it to use
DPMS to shutdown displays. Wish me luck.
vallor <vallor@cultnix.org> writes:
On Sat, 19 Aug 2023 08:40:16 -0000 (UTC), kalevi@kolttonen.fi (Kalevi >>Kolttonen) wrote in <ubpv5g$nu1c$1@dont-email.me>:
In comp.unix.programmer vallor <vallor@cultnix.org> wrote:
I don't know about you, but I don't use a screensaver to avoid
burn-in.
I use a screensaver to *lock the screen* -- hopefully with art.
I have installed Fedora 38 xfce4 Spin because I hate Gnome.
It blanks the screen even when locking it. When I press any key, the
screen wakes up and I can login again. No art of any kind is involved
in this process.
br,
KK
I use xfce also, which I switched to on the Ubuntu install from
System76.
But then I installed xscreensaver, which _can_ be set to use DPMS...but
in the past (maybe too long ago to matter), I would have trouble with >>getting my video back.
I guess it's time to try again: I'm going to set it to use DPMS to >>shutdown displays. Wish me luck.
Have you tried
$ xset dpms force off
xset has other options to set inactivity period after which it
automatically enters DPMS.
Given DPMS, screensavers are obsolete power wasters anyway.
Devil's advocacy time.
The purpose of a screensaver is to save the screen against burn-in; i.e. protect the hardware from damage.
That hardware is attachd to the machine which runs the X server, so
it makes sense for the X server to be responsible for that.
Why should the server trust remote clients to protect local hardware?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 299 |
Nodes: | 16 (2 / 14) |
Uptime: | 82:04:36 |
Calls: | 6,696 |
Calls today: | 1 |
Files: | 12,229 |
Messages: | 5,347,845 |