using libinput with glib's signal_timeout

2023-11-03 Thread kyomawolf
Hey Guys,
currently I'm trying to use a libinput's eventloop. It used to work as a 
standalone, but when I tried to put it into Glib::signal_timeout it seems to 
not receive any events anymore. Do you know more about why this is happening?
I put a simple example of what I mean in the attachment.
Greetings
Kyomawolf
 

sample.tar.gz
Description: application/gzip


Steam Deck integrated display: saturation boosting or reduction?

2023-11-03 Thread Pekka Paalanen
This is a continuation of
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/14#note_2152254
because this is off-topic in that thread.

> No, we did widening. The Deck's internal display has a modest gamut
> that is < 71% sRGB.

If games do wide (well, full sRGB or wider) gamut, then why would you
need to make that gamut even wider to fit nicely into a significantly
smaller gamut display?

Here's what I think happened.

You have a game that produces saturation up to P3, let's say. When you
did the colorimetrically correct matrix conversion (CTM) from BT.2020
to the "modest gamut", you found out that it is horribly clipping
colors, right?

If you then removed that CTM, it means that you are
re-interpreting BT.2020 RGB encoding *as if* it was "modest gamut" RGB
encoding. This happens if you simply apply the input image EOTF and
then apply the display inverse-EOTF and do nothing to the color gamut
in between. Adjusting dynamic range does not count here. This is an
extreme case of saturation reduction.

(Note: Doing nothing to numbers equals to applying a major semantic
operation. Like telling someone something in cm and they take that
number in mm instead. Or metric vs. imperial units. Color space
primaries and white point define the units for RGB values, and if you
have other RGB values, they are not comparable without the proper CTM
conversion.)

That does not look good either, so after that re-interpretation you
added saturation boosting that nicely makes use of the capabilities of
the integrated display's "modest gamut" so that the image looks more
"vibrant" and less de-saturated. However, the total effect is still
saturation reduction, because the re-interpretation of the game content
RGB values is such a massive saturation reduction that your boosting
does not overcome it.

I could make up an analogue: Someone says they are making all sticks
50% longer than what you ask. You ask them to make a stick 100 long.
They give you a stick that you measure to be 15 long, and they still
claim it is 50% longer than what you asked. How is this possible? The
length spaces are different: you were thinking and measuring in cm,
they did mm. They did give you a stick of 150 mm, which is 50% longer
than 100 mm. But from your perspective, the stick is 85% smaller than
you asked. If one had started by converting to a mutual length space
first (referring to the correct CTM), there would be an initial
agreement of how long is 1.


Thanks,
pq


pgp8icu9jG5jk.pgp
Description: OpenPGP digital signature


Exploring the Need for a Standardized Window Management API within or alongside Wayland

2023-11-03 Thread Wayne Sherman
Is a unified approach for window management in the Wayland ecosystem needed?
(i.e how can the end user or system designer control the size,
position, and layer of top level application windows).

Wayland's design emphasizes security, simplicity, and a clear
separation of responsibilities between the compositor and client
applications. This has no doubt paved the way for a more secure and
stable desktop environment.  Yet, as users and developers navigate
this shift, especially those handling applications with specific
window management needs, they face challenges due to the absence of
standardized control over window size and position within the current
protocol. Acknowledging these challenges, I would like to initiate a
conversation around the potential benefits and feasibility of
introducing a standardized API or protocol, which could be designed as
an intrinsic part of Wayland or as an independent, interoperable
specification running alongside it. This is crucial for those
transitioning from X11 to Wayland, where the ability to directly
manage window properties is an essential feature.

Certain applications and workflows, particularly those involving
complex window arrangements, dynamic window resizing, and precise
positioning (e.g., tiling window managers, graphical editing tools,
and presentation software), can greatly benefit from having a measure
of control over their window geometry and stacking. Currently,
attempts at providing this are being done by a variety of
compositor-specific protocols and extensions, which can lead to
fragmentation and inconsistent user and developer experiences across
different environments.  A standard API or protocol would only serve
the needs of these applications and would also aim to prevent the
proliferation of inconsistent and ad hoc solutions.

Some goals of a standardized approach:

- Maintain the security and stability principles of Wayland.
- Allow applications with legitimate needs to manage their window
geometry in a way that is consistent across different compositors.
- Provide a clear and unified direction for developers, which could
encourage wider adoption and smoother transitions from other systems
to Wayland.


Re: Exploring the Need for a Standardized Window Management API within or alongside Wayland

2023-11-03 Thread Wayne Sherman
On Fri, Nov 3, 2023 at 9:33 AM Wayne Sherman wrote:
> Certain applications and workflows...can greatly benefit from having
>  a measure of control over their window geometry and stacking.

There are many use cases for this.  A few of mine are:

Digital Signage
Video outputs on the digital signage "player" computer feed one or
more LED sign controllers and need to be set to specific video modes
(resolution, refresh rate, color depth, etc).  Digital signage
"player" applications have top level windows that need to be placed on
specific video outputs and sized and positioned at specific screen
pixel coordinates for the LED signs to display properly. (LCD digital
signage has similar requirements)

Simple VLC Security Camera Viewer
I want to create a script or simple application that launches 6 VLC
instances which stream video from 6 network connected cameras.  Each
VLC application window has to be sized and positioned to a specific
area of the screen.

Desktop Application Automation
I use a 6-button Stream Deck keypad to automate various tasks.  One of
my buttons is programmed to activate my Google Meet video conference
window (i.e. bring it to the front and put focus on it).  I currently
do this with the X based xdotool utility:  xdotool search --name
'^Meet - .+$' windowactivate