49 Commits

Author SHA1 Message Date
Jonas Ådahl
c80134d1ba gdctl: Add support for applying configuration
Support defining and applying full configurations, meaning one describes
the whole configuration with one command, fully replacing the active
configuration.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
6750136fd3 gdctl: Introduce and use new named enum
The named enum (NamedEnum) is used to describe a mapping for enum values
to strings. Enums using this define a function that defines the mapping,
and the named enum handles converting from to strings. This replaces
existing manually coded translations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
2ee918a949 gdctl/monitors-state: Don't keep current state variant around
It's not used by anything, all data is accessed by data structures
derived from the variant.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
7ddaf23130 gdctl: Hook up to o.g.M.DisplayConfig via dedicated class
The "current state" one will use DisplayConfig to query, which
eventually will also do configuration method calls.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
e326aed70e gdctl: Display booleans as yes / no
Slightly more human readible and less programmer speak.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
481f046cd5 gdctl: Store property enum values as real enums
This means declaring an enum class inheriting from enum.Enum.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
34195d905a gdctl: Add LogicalMonitor class
This abstracts what makes a logical monitor. Will make it easy doing
manipulations, and makes the print function a bit more readable.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
00d5a6a0cd gdctl: Always display monitor display name if available
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
cc11b0682b gdtl: Add Monitor class
This makes it possible to avoid dealing directly with the variant when
operating on a monitor.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
3469530dec gdctl: Add helpers to get relevant state variants
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Jonas Ådahl
a3cfd7bd91 Introduce GNOME Display Control (gdctl) utility
It's based on `get-state.py`, but with the intention to expand its
functionality into not only listing information, but setting and
changing monitor configurations. It's meant to complement monitor
configurations from Settings with something that has more level of
control.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4190>
2025-01-30 11:29:38 +00:00
Sebastian Wick
6fa61a088f core/debug-control: Allow changing the reference luminance of outputs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3953>
2024-08-30 20:03:43 +00:00
Sebastian Wick
788409e094 tools/debug-control: Handle the service not being exported
This is the default case and we want to tell people how to export it
when they use the script instead of having a python stack trace.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3902>
2024-07-24 21:52:47 +00:00
Peter Hutterer
1f3dcc9201 tools/uncrustify: Fix invalid align_nl_cont value
Option<UNUM>: at tools/uncrustify.cfg:135: Expected unsigned number , for 'align_nl_cont'; got 'false'

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3658>
2024-03-12 12:48:20 +10:00
Bilal Elmoussaoui
baa051dcd2 tools: Remove no longer useful scripts
They are all very old and still assume svn/bugzilla/autotools

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3529>
2024-01-27 09:54:15 +00:00
Sebastian Wick
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
Jonas Ådahl
adc5489ba7 Add debug controller
The debug controller can optionally, when passing --debug-control,
enable manipulating debug state, so far enabling/disabling HDR, via
D-Bus.

It's always created, in order to have a place to store debug state and
emit signals etc when it changes, but so far, it doesn't have its own
state it tracks, it just mirrors that of the monitor manager.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3432>
2023-12-01 14:25:08 +00:00
Daniel van Vugt
9a2c5d7d74 tools/get-state: Round refresh rates to three decimal places
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2465>
2022-08-19 15:28:56 +00:00
Jonas Ådahl
d692c9e0f5 tools/get-state: Use named arguments in print functions
Makes things a bit more readable not having to guess what the passed
numbers or booleans mean.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Marco Trevisan (Treviño)
d3b26a5914 get-state: Move printing functions into main MonitorConfig class
Data should then be parsed in proper structures that would be used for
both printing and changing them for re-configuring the screen

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Marco Trevisan (Treviño)
3553af257e get-state: Use native Gio APIs to get the current config
Also provide multiple readers into a class that can be expanded to also
configure mutter.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Marco Trevisan (Treviño)
b02d746512 get-state: Do not require too-modern python version for match stanza
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Marco Trevisan (Treviño)
40509154fb get-state: Move code into __main__ functions
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Jonas Ådahl
8d8694fd08 tools/get-state: Add --short
Often, most of the output consists of a long list of exposed modes for
each monitor. If --short is passed, only pass modes that has properties.
In practice, this means "preferred" modes, "current" modes, and
similarly special cases, which significantly reduces noise.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Jonas Ådahl
e883046c5f tools/get-state: Change to use argparse
This will make adding more arguments easier.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Jonas Ådahl
4e3932c7ac tests: Add sanity test for get-state.py tool
It'll fail if the type signature of the GetCurrentStat() method is
changed, more or less.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Jonas Ådahl
8a4bec767b tools: Add tool for pretty printing DisplayConfig.GetCurrentState
It can pretty print either output from a `gdbus` call, from e.g. a bug
report, or invoke `gdbus` itself and get the state of the running
compositor.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2448>
2022-07-28 09:04:45 +00:00
Sebastian Keller
1c5613728f tools/uncrustify: Remove space between i18n function shortcuts and (
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2149>
2021-12-09 20:59:49 +01:00
Carlos Garnacho
5e88c19748 tools: Add uncrustify config file
This config file seems like a good first stab at honoring the
Mutter code style. More changes might be required once this meets
real world testing.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1924>
2021-08-22 21:26:16 +02:00
Daniel van Vugt
231aadd3f0 tools: Remove obsolete ppa-magic.py 2018-11-30 11:12:12 +08:00
Jasper St. Pierre
ff635bad3b Clean up the source tree
Remove a lot of old, unmaintained files
2014-03-18 20:37:35 -04:00
Andika Triwidada
9b21346427 Changed obsolete FSF postal address into generic URL.
Fix https://bugzilla.gnome.org/show_bug.cgi?id=721517 #2
2014-01-13 11:35:47 -05:00
Thomas James Alexander Thurman
e7cef5bbcb linked language codes to po files print revision url
* tools/announce-wrangler.py: linked language codes to po files
	* tools/commit-wrangler.py: print revision url


svn path=/trunk/; revision=4044
2008-11-26 16:38:17 +00:00
Thomas James Alexander Thurman
6ddec0d855 renamed ini file rewriting in terms of moap
* tools/announce-wrangler.py: renamed ini file
	* tools/commit-wrangler.py: rewriting in terms of moap


svn path=/trunk/; revision=4043
2008-11-26 05:28:02 +00:00
Thomas James Alexander Thurman
945c9cb8e0 script to produce announcements
* tools/announce-wrangler.py (added): script to produce announcements


svn path=/trunk/; revision=4039
2008-11-25 23:20:46 +00:00
Thomas James Alexander Thurman
647f75c4e8 2.25.5 release.
svn path=/trunk/; revision=3994
2008-10-23 04:32:03 +00:00
Thomas Thurman
9e72d661d6 experimental tool for Launchpad upload
2008-10-05  Thomas Thurman  <tthurman@gnome.org>

        * tools/ppa-magic.py: experimental tool for Launchpad upload


svn path=/trunk/; revision=3940
2008-10-05 22:36:07 +00:00
Thomas Thurman
8547d1e8ed Basic Python-based Xlib client for testing and building upon.
2008-05-12  Thomas Thurman  <tthurman@gnome.org>

        * tools/xlib.py: Basic Python-based Xlib client for testing
          and building upon.


svn path=/trunk/; revision=3707
2008-05-12 03:31:32 +00:00
Thomas Thurman
b93a94506b basic md5 printing (not used yet); also print release announcements to
2008-03-06  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: basic md5 printing (not used yet);
	also print release announcements to stdout (eventually will
	need to be emailed to release list and blogged)


svn path=/trunk/; revision=3625
2008-03-06 21:51:47 +00:00
Thomas Thurman
c0c05d51ea ANY post-release bump is now the most recent, not just the one that
2008-02-26  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: ANY post-release bump is now the
	most recent, not just the one that matches the current version.
	Otherwise, you can't use these tools straight after a branch.
	The changeset before this one was mislabelled because of this.


svn path=/trunk/; revision=3601
2008-02-26 18:57:57 +00:00
Thomas James Alexander Thurman
9d9576612b 2.23.0 release.
svn path=/trunk/; revision=3600
2008-02-26 18:44:15 +00:00
Thomas Thurman
d0e22bf63d Print URL of changeset on success.
2008-02-23  Thomas Thurman  <tthurman@gnome.org>

        * tools/commit-wrangler.py: Print URL of changeset on success.


svn path=/trunk/; revision=3589
2008-02-23 20:54:49 +00:00
Thomas Thurman
83010879f1 added new script to manage commits
2008-02-17  Thomas Thurman  <tthurman@gnome.org>

        * tools/commit-wrangler.py: added new script to manage commits


svn path=/trunk/; revision=3574
2008-02-17 22:46:30 +00:00
Thomas Thurman
a9a69ac807 another program I use for maintenance which other people might find useful
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/patch-wrangler.py: another program I use for maintenance
        which other people might find useful and which should probably
        be in svn. Also not very polished.


svn path=/trunk/; revision=3549
2008-02-04 00:04:05 +00:00
Thomas James Alexander Thurman
806fa75a70 2.21.8 release.
svn path=/trunk/; revision=3545
2008-02-03 22:29:28 +00:00
Thomas James Alexander Thurman
1177b13338 2.21.8 release.
svn path=/trunk/; revision=3544
2008-02-03 22:17:01 +00:00
Thomas Thurman
f60624ac5b Fix quoting error and added some more error checking.
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: Fix quoting error and added some
                more error checking.


svn path=/trunk/; revision=3542
2008-02-03 22:00:31 +00:00
Thomas Thurman
836a1f7b08 basic release script; needs work, but probably good enough for the current
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: basic release script; needs work,
        but probably good enough for the current unstable release


svn path=/trunk/; revision=3541
2008-02-03 21:47:09 +00:00
Thomas James Alexander Thurman
0bd1727eab First draft of the release script; needs post-release bump adding
svn path=/trunk/; revision=3538
2008-02-03 06:02:52 +00:00