Commit Graph

131 Commits

Author SHA1 Message Date
adf49decb1 doc/gdctl: Add missing argument to options
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4308>
2025-02-28 13:01:13 +00:00
cf504d8de6 doc/gdctl: Fix short version of --mode
Shoud be -m not -M.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4308>
2025-02-28 13:01:13 +00:00
de2d19e882 gdctl: Support showing and setting output luminance
`gdctl show` now prints "monitor preferences", which currently consists
of only the luminance setting.

`gdctl prefs` is introduced, where one can run e.g. `gdctl prefs
--monitor DP-1 --luminance 80.0` to set the output luminance of the
monitor connected to DP-1 to 80%.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 13:13:42 +01:00
54c606ed8e gdctl: Allow to lease monitors
Add a new option (--for-lease-monitor) to allow to set a monitor that is
not part of any logical monitor as available for lease.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4300>
2025-02-26 08:34:56 +00:00
70de6901dc gdctl: Fix transform example
The text reads "transformed by 270 degrees" but the corresponding flag
is missing.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4300>
2025-02-26 08:34:56 +00:00
5d07e69461 onscreen/native: Allow to force copy mode
Create an environment variable to allow to set the copy mode.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4251>
2025-02-19 19:10:02 +00:00
b652098565 docs/multi-gpu: Document copy modes
In preparation to allow to select the copy mode, document them.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4251>
2025-02-19 19:10:02 +00:00
394bf5ab24 clutter/frame-clock: Add triple buffering support
This replaces the DISPATCHED state with new sub-states that are possible
with triple buffering:

  DISPATCHED_ONE:                     Double buffering
  DISPATCHED_ONE_AND_SCHEDULED:       Scheduled switch to triple buffering
  DISPATCHED_ONE_AND_SCHEDULED_NOW:   Scheduled switch to triple buffering
  DISPATCHED_ONE_AND_SCHEDULED_LATER: Scheduled switch to triple buffering
  DISPATCHED_TWO:                     Triple buffering

Triple buffering is currently disabled until the test cases get updated to
handle it in the next commit.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441>
2025-02-14 17:39:09 +00:00
9d2ab85f74 clutter/frame-clock: Merge states DISPATCHING and PENDING_PRESENTED
Chronologically they already overlap in time as presentation may
complete in the middle of the dispatch function, otherwise they are
contiguous in time. And most switch statements treated the two states
the same already so they're easy to merge into a single `DISPATCHED`
state.

Having fewer states now will make life easier when we add more states
later.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441>
2025-02-14 17:39:09 +00:00
6fae16302b doc: Update the frame scheduling diagram to include SCHEDULED_LATER
Although since all SCHEDULED* states basically have the same transitions
it's easier to show them as a single state. The mermaid diagram also won't
render correctly if there is a mix of combined and singular states. We
must use either always combined states or always singular states.

Fixes: 5b214dc2b7 ("clutter/frame-clock: Allow scheduling an update in the future")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441>
2025-02-14 17:39:09 +00:00
c945826a69 gdctl: Fix manpage typo
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4254>
2025-02-07 03:21:57 +00:00
b674048184 gdctl: Allow setting color mode
This allows configuring a monitor to enter BT.2100 a.k.a. HDR mode.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4192>
2025-02-01 22:46:09 +00:00
3cc5d201a2 Add gdctl man page using rst2man
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:39 +00:00
a4035fc68e docs/multi-gpu: Document mutter-device-preferred-primary
Add documentation explaining how to change the primary GPU using a udev
rule.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4218>
2025-01-17 15:06:57 +00:00
4b13aa4c5e docs/debugging: Expand on Renderdoc and built-in support
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4061>
2024-11-15 14:04:35 +00:00
43cad8d68b fonts: Use static.gnome.org
- centralized font hosting

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4129>
2024-11-12 18:21:01 +01:00
11ef52639f docs/building-and-running: Be more clear about remote desktop
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3943>
2024-11-06 14:31:34 +00:00
ab95a95a1d docs/website: Use relative links
Allows easily browsing the docs from the CI artifacts

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4078>
2024-10-12 19:37:28 +02:00
fe3192169a Merge CoglPango inside of Clutter
As that is where the whole text rendering integration happens
And would allow us to get rid of some over-abstraction in cogl-pango,
simplify
ClutterSnapshot integration as well

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4004>
2024-10-08 16:00:57 +00:00
fe0371641f docs/debugging: Update CI reproduction steps
No need to manually deal with pipewire or runtime directories anymore.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3987>
2024-08-29 22:04:44 +00:00
43f24b03e5 cally: Merge inside Clutter
Only do the build system bits, we would have to rename
the types and expose at least CallyActor as ClutterActorAccessible

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917>
2024-08-07 22:46:16 +00:00
0c014a23b4 doc/coding-style: Update guidelines for floating point numbers
The old guidelines aren't compatible with -Wfloat-conversion.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3822>
2024-06-25 20:48:24 +02:00
16efcd4f9a Stop using xvfb-run in tests
Except the X11 backend test, it still needs an X server. Eventually we
can replace it with the equivalent that uses Xwayland, but that needs a
"scaled down" mutter that runs as the host compositor for Xwayland, that
doesn't expose anything on the session bus.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3812>
2024-06-21 17:22:20 +00:00
82cdf90a71 clutter/frame-clock: Add a state for when scheduled "now"
The new CLUTTER_FRAME_CLOCK_STATE_SCHEDULED_NOW state is almost
identical to CLUTTER_FRAME_CLOCK_STATE_SCHEDULED, with one important
difference being that it avoids updates from being repeatedly
rescheduled "now" when multiple calls to
clutter_frame_clock_schedule_update_now() are done before the source
is actually dispatched.

Such repeated calls to schedule an update "now" may actually postpone
the dispatch if the CPU is very busy and the source dispatch is
delayed, defeating the purpose of scheduling a frame "now".

It also allows rescheduling "now" when the frame clock is uninhibited
after being inhibited while an update was scheduled "now". This may
be important in cases where the frame clock is inhibited for very
short periods in which it would otherwise lose the state of being
scheduled "now".

Scenarios such as this would become more common with the introduction
of variable refresh rate since it makes scheduling "now" a commonplace
occurrence.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3561>
2024-02-10 16:16:19 +00:00
88bc52838a doc: Update link to looking glass documentation
The file has been renamed in the gnome-shell repo.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3554>
2024-01-29 20:05:39 +01:00
65d4815942 doc: Update link to commit message guidelines
Replace the wiki page with the corresponding section in
the GNOME handbook.

Death to the wiki!

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3526>
2024-01-16 09:37:21 +00:00
bca62e6ec2 docs/website: Add documentation pages
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519>
2024-01-12 13:07:02 +00:00
da3909187f docs/website: Call it API Reference instead of API documentation
Just like we do in README.md.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519>
2024-01-12 13:07:02 +00:00
02007bf96e docs/website: Pull in the entire README.md contribution section
Instead of linking to the same text with one sentence more, pull in the
entire text and stop linking to it.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519>
2024-01-12 13:07:02 +00:00
c3cb760412 misc: Use the new mutter.gnome.org URL
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3514>
2024-01-12 10:48:20 +00:00
3bb42e2f66 docs: Add a website
Co-Authored-By: Jakub Steiner <jimmac@gmail.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3490>
2024-01-10 19:14:58 +00:00
abe47769b7 docs: Move kms abstractions documentation out of references
Eventually we want to have all the high-level code documentation in the
component API reference documentation. However, gi-docgen is currently
missing support for mermaid so we just keep the files in `doc/` and link
to them from `code-overview.md`.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3505>
2024-01-09 17:59:15 +00:00
52c64d44fc docs: Move kms abstractions to a separate file
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3489>
2024-01-09 15:23:04 +00:00
84739c0e96 docs: Remove extra slash from the git show command
It adds extra slashes in the end result

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3504>
2024-01-09 14:02:59 +00:00
133adc6fb4 docs: Add a logo
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3484>
2024-01-09 13:38:54 +00:00
40305f53f0 docs: Import Clutter Rendering Model wiki page
This one was overlooked when we migrated the wiki to the repo, so let's
add it before we delete the wiki.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3485>
2024-01-03 22:41:10 +01:00
50936e9953 docs: Prefix code documentation files
with the subsystem they belong to. This makes it easier to see which
files belong where.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3485>
2024-01-03 22:41:07 +01:00
9ac2da99d6 docs/building-and-running: Add note about updating ref-tests
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00
e583d3c0f7 docs/debugging: Expand debugging docs
Add information on different mutter specific debugging techniques.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00
dedc2766d2 docs: Add Building and Running topic
There are a lot of ways to build and run mutter. Let's try to document
them and reduce the tribal knowledge.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00
edfd1880c9 docs: Move the gitlab wiki and other docs to the docs/ directory
Let's try to consolidate our documentation in doc/ in the repo. This
includes some documentation from README.md, the HACKING.md coding style
and the gitlab wiki.

The README.md file now links to all top-level topics (i.e. not reachable
via other topics).

This also includes a few small changes to make things more consistent.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00
86d61de5bd docs: Remove outdated documentation
The value of those documents is questionable. They mostly refer to the
X11 complications and have not been updated for a long time.

Let's just get rid of them.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00
c01ffdb8ba cogl/gir: Depend explicitly on Mtk
As it is used now for MtkRegion types making the GIR file not containing
the relevant dependency and not being able to resolve MtkRegion type

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3292>
2023-11-03 11:27:52 +00:00
a7231ab2be docs: Update url maps
To get working items links

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3227>
2023-09-02 10:50:47 +00:00
765a918a62 build: Add a Meta Toolkit private library
Currently, Meta/Cogl/Clutter makes use of cairo_rectangle_int_t despite
the existance of MetaRectangle.

In order to make MetaRectangle usable in Cogl/Clutter as well, Mtk would
provide such base types that are shared across the various private
libraries

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128>
2023-08-30 16:46:13 +02:00
39f1b6dca0 core: Delete now unused code
Since MetaWindowDrag took a lot of this code to handle window drags
internally with less interactions with the rest of the stack, this
code in display/window/keybindings is unused.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2683>
2023-01-30 10:56:29 +00:00
bec8a5860a core,wayland,compositor,x11: Migrate to MetaWindowDrag
Flip the switch in using MetaWindowDrag, leaving display grab
ops and a bunch other code unused. Some places checked the grab op
and/or window in complex ways, others just checked for grab existence
and should now look for clutter ones, and others already were already
doing this in addition.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2683>
2023-01-30 10:56:29 +00:00
102736c7f5 docs: Fix dependency names
Dependency names need to match the namespace name exactly (including
capitalization) otherwise they won't be shown as dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2788>
2023-01-17 20:45:46 +00:00
a60ceaa377 docs: Mark Gtk and Gdk as related libraries
Since Gtk and Gdk are no longer hard dependencies, gi-docgen considers
them related libraries.  They will not show up in the documentation
if they are tagged as dependencies without actually being dependencies.

See: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2407
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2788>
2023-01-17 20:45:46 +00:00
9a5289cf58 docs/cogl-pango: Update urlmap
Drop unnused dependencies

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2708>
2022-11-22 13:32:52 +01:00