{"id":24806161,"url":"https://github.com/lawmurray/mendingwall","last_synced_at":"2025-10-13T08:30:44.460Z","repository":{"id":274914088,"uuid":"911046317","full_name":"lawmurray/mendingwall","owner":"lawmurray","description":"Linux distributions offer a choice of desktop environment, but installing more than one can break themes and clutter menus. Mending Wall fixes this, so you can enjoy them all.","archived":false,"fork":false,"pushed_at":"2025-10-02T04:32:03.000Z","size":6381,"stargazers_count":13,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-02T06:18:39.597Z","etag":null,"topics":["cinnamon","cinnamon-desktop","gnome","gnome-app","gnome-desktop","kde","kde-desktop","linux-app","linux-applications","linux-apps","linux-desktop","plasma-desktop","xfce","xfce-desktop"],"latest_commit_sha":null,"homepage":"https://mendingwall.indii.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lawmurray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["lawmurray"]}},"created_at":"2025-01-02T05:55:00.000Z","updated_at":"2025-10-02T04:32:06.000Z","dependencies_parsed_at":"2025-08-25T07:07:43.312Z","dependency_job_id":"6b4e0a89-1dfd-474f-b447-83291945d1db","html_url":"https://github.com/lawmurray/mendingwall","commit_stats":null,"previous_names":["lawmurray/mendingwall"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/lawmurray/mendingwall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fmendingwall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fmendingwall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fmendingwall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fmendingwall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lawmurray","download_url":"https://codeload.github.com/lawmurray/mendingwall/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fmendingwall/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014326,"owners_count":26085492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cinnamon","cinnamon-desktop","gnome","gnome-app","gnome-desktop","kde","kde-desktop","linux-app","linux-applications","linux-apps","linux-desktop","plasma-desktop","xfce","xfce-desktop"],"created_at":"2025-01-30T08:19:23.302Z","updated_at":"2025-10-13T08:30:44.454Z","avatar_url":"https://github.com/lawmurray.png","language":"C","readme":"![Mending Wall icon](docs/assets/logo.svg)\n\n# Mending Wall\n\nMending Wall is a Linux application to fix issues when hopping between multiple desktop environments, such as tiny/huge cursors, tiny/huge fonts, light/dark mode switches and scaling issues. It also tidies application menus, showing core applications in their native environment only.\n\nMending Wall is free software, licensed under the terms of the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html).\n\n## Installation\n\n\u003e [!TIP]\n\u003e Packages are available for major Linux distributions from [download.indii.org](https://download.indii.org), and a Flatpak from [Flathub](https://flathub.org/en/apps/org.indii.mendingwall). You can also install from source following the instructions provided below.\n\nA local installation to your home directory is sufficient; root permissions are not required to install or run.\n\nBuilding requires Meson, Blueprint, GTK 4, GLib 2, and libadwaita.\n\nOn Debian-based systems, install these with:\n```\nsudo apt install \\\n    meson \\\n    blueprint-compiler \\\n    libgtk-4-dev \\\n    libglib2.0-dev \\\n    libadwaita-1-dev \\\n    gettext \\\n    appstream \\\n    desktop-file-utils\n```\nOn Fedora:\n```\nsudo dnf install \\\n    meson \\\n    blueprint-compiler \\\n    glib2-devel \\\n    gtk4-devel \\\n    libadwaita-devel \\\n    gettext \\\n    appstream \\\n    desktop-file-utils\n```\nOn openSUSE:\n```\nsudo zypper install \\\n    meson \\\n    blueprint-compiler \\\n    glib2-devel \\\n    gtk4-devel \\\n    libadwaita-devel \\\n    gettext \\\n    appstream \\\n    desktop-file-utils\n```\nOn Arch-based:\n```\nsudo pacman -S \\\n    meson \\\n    blueprint-compiler \\\n    glib2 \\\n    gtk4 \\\n    libadwaita \\\n    gettext \\\n    appstream \\\n    desktop-file-utils\n```\nOther Linux distributions will almost certainly provide these packages too, although names may differ.\n\nTo build and install Mending Wall, run from within the base directory:\n```bash\nmeson setup build --prefix=$HOME/.local\ncd build\nmeson compile\nmeson install\ngdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ReloadConfig\n```\nThe last line just ensures that newly-installed `.service` files in `$HOME/.local/share/dbus-1/services/` are found by D-Bus, in case that directory did not exist already. If you try to launch Mending Wall from an application menu and nothing happens, running that line should fix it, and it does not hurt to run it anyway.\n\n## Quick start\n\nAfter installing, launch Mending Wall and enable one or both of the features *Mend Themes* and *Tidy Menus*. Both are recommended. Once enabled, it will start doing its work, and you can log in to a second desktop environment.\n\nIf you have already logged in to a second desktop environment before running Mending Wall, so that your themes may be broken already, you will need to fix your themes manually through the settings of your desktop environment, but can enable Mending Wall to preserve those settings going forward.\n\nIn brief, Mending Wall starts a background process `mendingwalld` that:\n\n* If *Mend Themes* is enabled, monitors for changes in certain dconf settings and config files for the current desktop session and saves them to `~/.local/share/mendingwall/save`. Then, when logging back into that desktop environment in future, the save is restored (via an autostart in `~/.local/autostart`, and for KDE, a pre-start script in `~/.local/plasma-workspace/env`). In this way each desktop environment effectively has its own separate set of dconf settings and config files, so that they do not interfere with each other.\n\n* If *Tidy Menus* is enabled, monitors for the installation of certain core applications (e.g. terminals, file managers, text editors), as well as many games, and configures the `OnlyShowIn` and `NotShowIn` entries of their `.desktop` files (in e.g. `/usr/share/applications`) to show only in their native desktop environment, saving to the standard directory `~/.local/share/applications`. So, for example, GNOME Terminal shows in GNOME but not KDE, Konsole shows in KDE but not GNOME, etc. If *Tidy Menus* is later disabled, these changes are undone, as long as each `.desktop` file has not been modified with further custom changes (e.g. with a menu editor app).\n\nMuch more information is available at [mendingwall.indii.org](https://mendingwall.indii.org).\n\n","funding_links":["https://github.com/sponsors/lawmurray"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawmurray%2Fmendingwall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flawmurray%2Fmendingwall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawmurray%2Fmendingwall/lists"}