{"id":298,"date":"2026-10-27T08:40:39","date_gmt":"2026-10-27T07:40:39","guid":{"rendered":"https:\/\/linuxundich.de\/en\/?p=298"},"modified":"2026-10-27T08:44:20","modified_gmt":"2026-10-27T07:44:20","slug":"pulsgeber-0-5-3-tuxedo-control-center-3-1","status":"publish","type":"post","link":"https:\/\/linuxundich.de\/en\/pulsgeber-0-5-3-tuxedo-control-center-3-1\/","title":{"rendered":"Pulsgeber 0.5.3: Ready for TUXEDO Control Center 3.1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Three weeks ago, I introduced <a href=\"https:\/\/linuxundich.de\/en\/pulsgeber-tuxedo-control-center-profiles-in-the-gnome-quick-settings\/\">Pulsgeber<\/a>, my little extension that brings the profiles of the TUXEDO Control Center into the GNOME Quick Settings. On October 21, versions 3.1 and 3.1.1 of the Control Center came out. According to the changelog, TUXEDO mainly reworked the packaging. For Pulsgeber, that is more than cosmetics, which is why version 0.5.2 is out now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First things first: switching profiles never broke, since the system service tccd still talks to Pulsgeber through the same interface. The extension tripped over things around it. The Control Center&#8217;s desktop file is now called <code>com.tuxedocomputers.tcc.desktop<\/code>. Pulsgeber could no longer find the app, so the <em>TUXEDO Control Center<\/em> entry was missing from the toggle&#8217;s menu.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ae07c6337f92&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ae07c6337f92\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/01-tcc-menue-en.webp\" alt=\"The GNOME Quick Settings with the open \u201cTCC Profile\u201d menu: the profiles Default, Cool and breezy and Powersave extreme, plus the TUXEDO Control Center entry\" class=\"wp-image-295\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/01-tcc-menue-en.webp 960w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/01-tcc-menue-en-300x200.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/01-tcc-menue-en-768x512.webp 768w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/01-tcc-menue-en-480x320.webp 480w\" sizes=\"auto, (max-width: 781px) 100vw, 680px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">With the update, the TUXEDO Control Center entry is back in the toggle&#8217;s menu and opens the app.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For the same reason, a second feature stopped working: when the tray is turned off, Pulsgeber ends the Control Center as soon as you close its window. Otherwise, the app would keep running invisibly in the background. On top of that, TCC 3.1 runs in a systemd scope with a different name. Pulsgeber only caught a few helper processes there, but not the main process. Both are fixed now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The autostart story is even stranger. Up to now, the tray started if the file <code>tuxedo-control-center-tray.desktop<\/code> was in <code>~\/.config\/autostart<\/code>. Since 3.1, the package installs the entry system-wide in <code>\/etc\/xdg\/autostart<\/code>, and a file in your home directory turns it off instead of on. So Pulsgeber did exactly the opposite of what the <em>Don\u2019t Start TCC Tray<\/em> switch promises.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That said, things aren&#8217;t entirely smooth on the TCC side either. To turn the tray off, TCC creates an empty file, which gnome-session on GNOME 51 can&#8217;t make sense of. The journal reports that the file can&#8217;t be parsed, and the tray starts anyway. Pulsgeber writes a copy of the entry with <code>Hidden=true<\/code> instead, as the specification intends. TCC then shows the autostart as turned off, too.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ae07c6338a5a&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ae07c6338a5a\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"880\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/02-einstellungen-en.webp\" alt=\"The Pulsgeber preferences with switches for the top bar icon, the TCC tray, the check interval, GNOME's power mode and power-profiles-daemon\" class=\"wp-image-296\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/02-einstellungen-en.webp 980w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/02-einstellungen-en-300x269.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/02-einstellungen-en-768x690.webp 768w\" sizes=\"auto, (max-width: 781px) 100vw, 680px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">With TUXEDO Control Center 3.1, the Don\u2019t Start TCC Tray switch once again does exactly what it promises.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Testing it in my own session then brought an older bug to light: since version 0.5.0, the switch hadn&#8217;t done anything at all. The preferences failed before they could write the autostart file. So the extension itself now ends the tray as soon as the file changes. With 0.5.2, the tray disappears right away and no longer starts after you log in again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you still use an older Control Center, you won&#8217;t notice any of this. Pulsgeber checks the system-wide autostart entry to tell which approach applies and behaves as before with TCC 3.0 and older. The new version is tested with GNOME 51.1 and TCC 3.1.1 on my InfinityBook S 17 Gen6. By the way, GNOME 51 itself didn&#8217;t need any changes, the extension already ran there without errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Until the application is available in the GNOME Extensions catalogue, updates will continue to be distributed as ZIP packages on the <a href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/releases\/latest\">GitHub release page<\/a>. If you already have Pulsgeber installed, simply install the new version over the old one, the <code>--force<\/code> parameter takes care of that:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ gnome-extensions install --force pulsgeber@linuxundich.de.shell-extension.zip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On Wayland, GNOME only loads the new version after you log out and back in. All changes in detail are in the <a href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/blob\/main\/CHANGELOG.md\">changelog<\/a>, screenshots and answers to common questions on the <a href=\"\/en\/projects\/pulsgeber\/\">Pulsgeber project page<\/a>. If something still doesn&#8217;t work after the Control Center update, let me know here in the comments or open an <a href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/issues\">issue on GitHub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Disclosure: I <a href=\"https:\/\/linuxundich.de\/ab-nach-augsburg-ab-zu-tuxedo\/\">work for TUXEDO Computers<\/a> (in German). Pulsgeber, however, is a private, AI-assisted project I built in my spare time. It is not a TUXEDO product and receives no official support from TUXEDO.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TUXEDO Control Center 3.1 reworked quite a bit under the hood. Pulsgeber 0.5.2 catches up: the menu entry is back, and the TCC tray can be reliably turned off under GNOME again.<\/p>\n","protected":false},"author":2,"featured_media":297,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"lui_source_id":48138,"lui_source_hash":"f27c3c383d956c2237e9ebf1d9335d8d3a5be6de63358dba77b1323bce540178","lui_source_translated":"2026-10-27","lui_source_reviewed":true,"lui_via_url":"","lui_via_label":"","lui_source_url":"","lui_source_label":"","lui_inhalt_aktualisiert":"","lui_pin_until":"","lui_kopf":"","footnotes":""},"categories":[2],"tags":[10,13,9,11,12],"class_list":["post-298","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gnu-linux","tag-gnome","tag-gnome-extension","tag-pulsgeber","tag-tuxedo","tag-tuxedo-control-center"],"_links":{"self":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":2,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/298\/revisions\/300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media\/297"}],"wp:attachment":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}