{"id":138,"date":"2026-10-05T16:18:00","date_gmt":"2026-10-05T14:18:00","guid":{"rendered":"https:\/\/linuxundich.de\/en\/?page_id=138"},"modified":"2026-10-05T23:17:07","modified_gmt":"2026-10-05T21:17:07","slug":"pulsgeber","status":"publish","type":"page","link":"https:\/\/linuxundich.de\/en\/projects\/pulsgeber\/","title":{"rendered":"Pulsgeber"},"content":{"rendered":"\n<style>\n\/* Projektseiten (linuxundich.de\/projekte\/) \u2013 Entwurfsstil.\n   Liegt als synchronisiertes Muster \u201eProjektseiten: Stil\u201c in WordPress und\n   wird von jeder Projektseite eingebunden. Wandert vor der Ver\u00f6ffentlichung\n   ins lui-theme. Farben nur \u00fcber die Theme-Variablen, damit der Dunkelmodus\n   mitzieht. *\/\n\n\/* Seitenleiste und Vorlagen-Titel ausblenden, die Seite bringt eigene mit *\/\n.lui-two-col:has(.lui-pj) > .lui-sidebar-col { display: none; }\n.lui-two-col:has(.lui-pj) > .lui-article-col { flex-basis: 100%; }\n.lui-article-col:has(.lui-pj) .lui-article-header { display: none; }\n\n.lui-pj {\n\t--pj-accent: var(--wp--preset--color--accent, #ff6600);\n\t--pj-accent-dark: var(--wp--preset--color--accent-dark, #cc5200);\n\t--pj-ink: var(--wp--preset--color--contrast, #1a1a1a);\n\t--pj-muted: var(--wp--preset--color--muted, #63625f);\n\t--pj-line: var(--wp--preset--color--line, #e3e1dd);\n\t--pj-bg: var(--wp--preset--color--base, #fff);\n\t--pj-bg2: var(--wp--preset--color--base-2, #f5f4f2);\n\t--pj-mono: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\t--pj-display: \"Space Grotesk\", \"Inter\", system-ui, sans-serif;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2.75rem;\n}\n.lui-pj > * { margin-block: 0 !important; }\n.lui-pj h1, .lui-pj h2, .lui-pj h3 { text-wrap: balance; }\n.lui-pj section, .lui-pj .lui-pj-sec { display: flex; flex-direction: column; gap: .9rem; }\n.lui-pj .lui-pj-sec > * { margin-block: 0; }\n.lui-pj .lui-pj-sec > h2 { font-size: 1.5rem; }\n\n\/* Kleine Zeilen *\/\n.lui-pj .lui-pj-path { font: 500 .8rem var(--pj-mono); color: var(--pj-muted); }\n.lui-pj .lui-pj-meta { font: 500 .8rem var(--pj-mono); color: var(--pj-muted); margin-top: .35rem; }\n.lui-pj .lui-pj-flag { font: 600 .74rem var(--pj-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--pj-accent-dark); }\n.lui-pj .lui-pj-lead { font-size: 1.1rem; }\n\/* Eine Textbreite f\u00fcr allen Flie\u00dftext, damit Abs\u00e4tze nicht mal schmal, mal seitenbreit laufen *\/\n.lui-pj > p, .lui-pj .lui-pj-sec > p, .lui-pj .wp-block-column > p, .lui-pj .lui-pj-box > p { max-width: 44rem; }\n.lui-pj .lui-pj-note { font-size: .85rem; color: var(--pj-muted); border-left: 3px solid var(--pj-line); padding-left: .8rem; }\n.lui-pj .lui-pj-chips { font: 500 .78rem var(--pj-mono); color: var(--pj-muted); }\n.lui-pj .lui-pj-chips mark, .lui-pj .lui-pj-chip {\n\tdisplay: inline-block; max-width: 100%; margin: 0 .25rem .3rem 0; line-height: 1.5;\n\tbackground: var(--pj-bg2); color: var(--pj-ink); padding: .1em .55em; border-radius: 4px;\n}\n\n\/* Kopf: Icon + Name *\/\n.lui-pj .lui-pj-head { display: flex; gap: 1.4rem; align-items: center; }\n.lui-pj .lui-pj-head > .wp-block-group { margin: 0; min-width: 0; }\n.lui-pj .lui-pj-head h1 { font-size: clamp(2rem, 4.5vw, 2.8rem); margin: 0; letter-spacing: -.02em; }\n.lui-pj .lui-pj-head p { margin: .3rem 0 0; }\n.lui-pj .lui-pj-icon { flex: none; margin: 0; width: 96px; }\n.lui-pj .lui-pj-icon img { width: 96px; height: 96px; object-fit: contain; }\n@media (max-width: 560px) {\n\t.lui-pj .lui-pj-head { flex-direction: column; align-items: flex-start; gap: .8rem; }\n\t.lui-pj .lui-pj-icon, .lui-pj .lui-pj-icon img { width: 64px; height: 64px; }\n}\n\n\/* \u00dcbersicht: Kopf *\/\n.lui-pj .lui-pj-title { font-size: clamp(2.2rem, 5vw, 3.3rem); letter-spacing: -.025em; margin: 0; }\n.lui-pj .lui-pj-title span { color: var(--pj-accent); }\n\n\/* Bezugsquellen *\/\n.lui-pj .lui-get { gap: .55rem; }\n.lui-pj .lui-get .wp-block-button__link {\n\tdisplay: inline-flex; align-items: center; gap: .55rem;\n\tbackground: var(--pj-bg); color: var(--pj-ink); border: 1px solid var(--pj-line);\n\tborder-radius: 8px; padding: .55rem .9rem .55rem .7rem;\n\tfont: 600 .9rem\/1.1 var(--pj-display); text-decoration: none;\n}\n.lui-pj .lui-get .wp-block-button__link::before {\n\tcontent: \"\"; width: 20px; height: 20px; flex: none; background: currentColor;\n\t-webkit-mask: var(--pj-glyph) center \/ contain no-repeat; mask: var(--pj-glyph) center \/ contain no-repeat;\n}\n.lui-pj .lui-get .wp-block-button__link:hover { border-color: var(--pj-accent); }\n.lui-pj .lui-get .is-primary .wp-block-button__link { background: var(--pj-ink); color: var(--pj-bg); border-color: var(--pj-ink); }\n.lui-pj .lui-get .is-planned .wp-block-button__link { border-style: dashed; color: var(--pj-muted); font-weight: 500; pointer-events: none; }\n.lui-pj .lui-get .is-planned .wp-block-button__link::after {\n\tcontent: \"geplant\"; font: 500 .66rem var(--pj-mono); text-transform: uppercase; letter-spacing: .05em;\n\tborder: 1px solid var(--pj-line); border-radius: 3px; padding: .1em .35em; margin-left: .2rem;\n}\nhtml[lang^=\"en\"] .lui-pj .lui-get .wp-block-button.is-planned .wp-block-button__link::after { content: \"planned\"; }\n.lui-get--github  { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7 3 12l5 5M16 7l5 5-5 5M14 4l-4 16'\/%3E%3C\/svg%3E\"); }\n.lui-get--release { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 20h16'\/%3E%3C\/svg%3E\"); }\n.lui-get--ego     { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4v3a2 2 0 1 0 4 0V3h3v7h-3a2 2 0 1 0 0 4h3v7h-7v-3a2 2 0 1 0-4 0v3H3v-7h3a2 2 0 1 0 0-4H3V3h7z'\/%3E%3C\/svg%3E\"); }\n.lui-get--flathub { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 7.5v9L12 21l8-4.5v-9L12 3zM4 7.5 12 12l8-4.5M12 12v9'\/%3E%3C\/svg%3E\"); }\n.lui-get--fdroid  { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='9' width='16' height='11' rx='2.5'\/%3E%3Cpath d='M7 5l2 3M17 5l-2 3'\/%3E%3Ccircle cx='12' cy='14.5' r='2.6'\/%3E%3C\/svg%3E\"); }\n.lui-get--play    { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3.5v17a1 1 0 0 0 1.5.86l14-8.5a1 1 0 0 0 0-1.72l-14-8.5A1 1 0 0 0 6 3.5z'\/%3E%3C\/svg%3E\"); }\n.lui-get--wp      { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'\/%3E%3Cpath d='M6.5 8.5h3M14.5 8.5h3M8 8.5l3 9 1.5-4.5M13 8.5l3 9 1.5-5'\/%3E%3C\/svg%3E\"); }\n.lui-get--docs    { --pj-glyph: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v4h4M9 12h6M9 16h6'\/%3E%3C\/svg%3E\"); }\n\n\/* Querformat-B\u00fchne 3:2 *\/\n.lui-pj .lui-shots { gap: .75rem !important; margin: 0; }\n.lui-pj .lui-shots .wp-block-image img,\n.lui-pj .lui-pj-shot img {\n\taspect-ratio: 3 \/ 2 !important; width: 100%; height: auto !important; object-fit: cover; object-position: center top;\n\tborder-radius: 8px; box-shadow: 0 10px 28px -14px rgba(0,0,0,.45);\n}\n.lui-pj .lui-shots.is-anchor-right img, .lui-pj .lui-pj-shot.is-anchor-right img { object-position: right top; }\n.lui-pj figcaption { font-style: normal !important; }\n.lui-pj .lui-shots figcaption { position: static !important; background: none !important; color: var(--pj-muted) !important; font-size: .8rem; text-align: center; padding: .4rem 0 0 !important; }\n.lui-pj .lui-pj-shot { margin: 0; }\n.lui-pj .lui-pj-video video { aspect-ratio: 3 \/ 2; width: 100%; object-fit: cover; border-radius: 8px; background: #111; }\n\n\/* Hochkant: Handyrahmen, seitlich wischbar *\/\n.lui-pj .lui-phones {\n\tdisplay: flex !important; flex-wrap: nowrap !important; gap: 1.1rem !important; overflow-x: auto;\n\tscroll-snap-type: x mandatory; padding: 1.2rem 1.2rem 1rem; border-radius: 12px; background: var(--pj-bg2); margin: 0;\n}\n.lui-pj .lui-phones > .wp-block-image { flex: 0 0 190px !important; width: 190px !important; scroll-snap-align: start; margin: 0 !important; display: flex; flex-direction: column; }\n.lui-pj .lui-phones img, .lui-pj .lui-pj-phone video, .lui-pj .lui-pj-phone img {\n\taspect-ratio: 9 \/ 20 !important; height: auto !important; width: 100%; object-fit: cover; object-position: top;\n\tborder: 6px solid #111; border-radius: 24px; background: #111; box-shadow: 0 14px 28px -16px rgba(0,0,0,.6);\n}\n.lui-pj .lui-phones figcaption { position: static !important; background: none !important; color: var(--pj-muted) !important; font-size: .8rem; text-align: center; padding: .5rem 0 0 !important; }\n.lui-pj .lui-pj-phone { margin: 0 auto; max-width: 230px; }\n\n\/* Raster f\u00fcr Funktionen, Schritte, Grunds\u00e4tze *\/\n.lui-pj .lui-pj-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; }\n.lui-pj .lui-pj-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.lui-pj .lui-pj-grid.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }\n.lui-pj .lui-pj-grid > * { margin: 0 !important; min-width: 0; }\n.lui-pj .lui-pj-grid h3 { font-size: 1.05rem; margin: 0 0 .3rem; }\n.lui-pj .lui-pj-grid p { margin: 0; font-size: .95rem; }\n.lui-pj .lui-pj-grid.is-4 > * { border-top: 1px solid var(--pj-line); padding-top: .8rem; }\n@media (max-width: 900px) { .lui-pj .lui-pj-grid.is-3, .lui-pj .lui-pj-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (max-width: 600px) { .lui-pj .lui-pj-grid, .lui-pj .lui-pj-grid.is-3, .lui-pj .lui-pj-grid.is-4 { grid-template-columns: 1fr; } }\n\n.lui-pj .lui-pj-steps { counter-reset: pjstep; }\n.lui-pj .lui-pj-steps > * { counter-increment: pjstep; border-top: 2px solid var(--pj-ink); padding-top: .8rem; }\n.lui-pj .lui-pj-steps > *::before { content: counter(pjstep); display: block; font: 700 1.7rem\/1 var(--pj-display); color: var(--pj-accent); margin-bottom: .4rem; }\n.lui-pj .lui-pj-steps pre { font-size: .78rem; margin: .6rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }\n\n\/* Zwei Spalten *\/\n.lui-pj .lui-pj-split { gap: 2rem; align-items: center !important; margin: 0; }\n.lui-pj .lui-pj-split > .wp-block-column > * { margin-block: 0 0 .8rem; }\n\n\/* Fragen und Antworten: K\u00e4sten gestaltet das lui-theme (Details-Block), hier nur der Abstand *\/\n.lui-pj .lui-pj-faq { display: flex; flex-direction: column; gap: .75rem; }\n.lui-pj .lui-pj-faq > .wp-block-details { margin: 0 !important; }\n\n\/* Versionen *\/\n.lui-pj .lui-pj-versions { margin: 0; }\n.lui-pj .lui-pj-versions table { border: 0; font-size: .92rem; }\n.lui-pj .lui-pj-versions td { border: 0; border-bottom: 1px solid var(--pj-line); padding: .55rem .9rem .55rem 0; vertical-align: top; }\n.lui-pj .lui-pj-versions td:first-child { font: 600 .85rem var(--pj-mono); color: var(--pj-accent-dark); white-space: nowrap; }\n.lui-pj .lui-pj-versions td:nth-child(2) { font: .8rem var(--pj-mono); color: var(--pj-muted); white-space: nowrap; }\n\n\/* Dunkler Kasten (wie Footer: immer dunkel) *\/\n.lui-pj .lui-pj-band { background: #1a1a1a; color: #e9e7e3; border-radius: 12px; padding: 1.5rem 1.6rem; gap: 1.5rem; }\n.lui-pj .lui-pj-band h2 { color: #fff; font-size: 1.3rem; margin: 0 0 .4rem; }\n.lui-pj .lui-pj-band p { color: #bdbbb6; margin: 0; font-size: .95rem; }\n.lui-pj .lui-pj-band a { color: #ff8a3d; }\n.lui-pj .lui-pj-band .lui-get .wp-block-button__link { background: #262625; color: #fff; border-color: #3a3938; }\n\n\/* Kasten Datenschutz *\/\n.lui-pj .lui-pj-box { border: 1px solid var(--pj-line); border-radius: 12px; padding: 1.1rem 1.3rem; background: var(--pj-bg2); }\n.lui-pj .lui-pj-box > * { margin: 0; }\n.lui-pj .lui-pj-box h3 { font-size: 1.05rem; margin-bottom: .3rem; }\n\n\/* \u00dcbersicht: hervorgehobenes Projekt *\/\n.lui-pj .lui-pj-feature { background: var(--pj-bg2); border-radius: 12px; padding: 1.4rem; gap: 1.8rem; margin: 0; align-items: center !important; }\n.lui-pj .lui-pj-feature .lui-pj-head { gap: .9rem; }\n.lui-pj .lui-pj-feature .lui-pj-icon, .lui-pj .lui-pj-feature .lui-pj-icon img { width: 56px; height: 56px; }\n.lui-pj .lui-pj-feature h2 { margin: 0; font-size: 1.6rem; }\n.lui-pj .lui-pj-feature .wp-block-column > * { margin-block: 0 .8rem; }\n\n\/* Weitere Projekte *\/\n.lui-pj .lui-pj-more { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; }\n.lui-pj .lui-pj-more li { border: 1px solid var(--pj-line); border-radius: 10px; padding: .8rem 1rem; font-size: .9rem; color: var(--pj-muted); }\n.lui-pj .lui-pj-more li a { display: block; font: 600 1.05rem var(--pj-display); color: var(--pj-ink); text-decoration: none; }\n.lui-pj .lui-pj-more li a:hover { color: var(--pj-accent-dark); }\n\n\/* Einzelbild ohne festes Format (z. B. Mini-Player) *\/\n.lui-pj .lui-pj-mini { margin: 0 auto; max-width: 260px; }\n.lui-pj .lui-pj-mini img { border-radius: 10px; box-shadow: 0 10px 28px -14px rgba(0,0,0,.45); }\n.lui-pj .lui-pj-mini figcaption { color: var(--pj-muted); font-size: .8rem; text-align: center; }\n\n\/* Vollbild: Format- und Rahmenregeln aufheben, Video ganz zeigen (Hochkant auf volle H\u00f6he) *\/\n.lui-pj video:fullscreen {\n\taspect-ratio: auto !important; width: 100% !important; height: 100% !important; max-width: none;\n\tobject-fit: contain !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #000;\n}\n.lui-pj video:-webkit-full-screen {\n\taspect-ratio: auto !important; width: 100% !important; height: 100% !important; max-width: none;\n\tobject-fit: contain !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #000;\n}\n\n\/* Tabelle Voraussetzungen: wie Versionen, aber zweite Spalte darf umbrechen *\/\n.lui-pj .lui-pj-req { margin: 0; }\n.lui-pj .lui-pj-req table { border: 0; font-size: .92rem; }\n.lui-pj .lui-pj-req td { border: 0; border-bottom: 1px solid var(--pj-line); padding: .55rem .9rem .55rem 0; vertical-align: top; }\n.lui-pj .lui-pj-req td:first-child { color: var(--pj-muted); white-space: nowrap; }\n\n\/* Video im Bildschirmformat 16:9 (z. B. Desktop-Aufnahme mit Schnelleinstellungen am Rand) *\/\n.lui-pj .lui-pj-video.is-wide video { aspect-ratio: 16 \/ 9; object-fit: contain; }\n\/* Galerie: Lazy-Bilder (sizes=\"auto\") bekamen in der Flex-Spalte der Abbildung die H\u00f6he 0 *\/\n.lui-pj .lui-shots img { flex: none !important; }\n<\/style>\n\n\n\n<div class=\"wp-block-group alignwide lui-pj is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"lui-pj-path wp-block-paragraph\">~\/projects\/<strong>pulsgeber<\/strong><\/p>\n\n\n<div class=\"wp-block-group lui-pj-head is-nowrap is-layout-flex wp-container-core-group-is-layout-81260c56 wp-block-group-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac416343ecb3&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac416343ecb3\" class=\"wp-block-image size-full lui-pj-icon wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"256\" height=\"256\" 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\/pulsgeber-icon.png\" alt=\"Pulsgeber icon\" class=\"wp-image-131\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-icon.png 256w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-icon-150x150.png 150w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-icon-240x240.png 240w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><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><\/figure>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h1 class=\"wp-block-heading\">Pulsgeber<\/h1>\n\n\n<p class=\"wp-block-paragraph\">Switch TUXEDO power profiles right from the GNOME Quick Settings.<\/p>\n\n\n<p class=\"lui-pj-meta wp-block-paragraph\">v0.4.1 \u00b7 October 5, 2026 \u00b7 GPL-3.0 \u00b7 GNOME Shell 50\u201351 \u00b7 English, German<\/p>\n<\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons lui-get is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button lui-get--github is-primary\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/linuxundich\/pulsgeber\">GitHub<\/a><\/div>\n\n\n<div class=\"wp-block-button lui-get--release\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/releases\/tag\/v0.4.1\">ZIP package 0.4.1<\/a><\/div>\n\n\n<div class=\"wp-block-button lui-get--ego is-planned\"><a class=\"wp-block-button__link wp-element-button\">GNOME Extensions<\/a><\/div>\n<\/div>\n\n\n<figure class=\"wp-block-video lui-pj-video is-wide\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls poster=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-demo-poster.webp\" preload=\"none\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-demo.mp4\"><\/video><\/figure>\n\n\n<figure data-wp-context=\"{&quot;galleryId&quot;:&quot;6ac41634430a9&quot;}\" data-wp-interactive=\"core\/gallery\" class=\"wp-block-gallery has-nested-images columns-2 is-cropped lui-shots is-anchor-right wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac4163445ba4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac4163445ba4\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"660\" 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\" data-id=\"135\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-quick-settings.webp\" alt=\"The active \u201cTCC Profile\u201d toggle in the GNOME Quick Settings, with the profile icon in the top bar\" class=\"wp-image-135\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-quick-settings.webp 990w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-quick-settings-300x200.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-quick-settings-768x512.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\">The toggle in the Quick Settings<\/figcaption><\/figure>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac416344b5d4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac416344b5d4\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"860\" 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\" data-id=\"134\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-profile-menu.webp\" alt=\"The profile menu with all profiles; the header says which profile follows on battery\" class=\"wp-image-134\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-profile-menu.webp 1290w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-profile-menu-300x200.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-profile-menu-1024x683.webp 1024w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-profile-menu-768x512.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\">The profile menu<\/figcaption><\/figure>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac416345464d&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac416345464d\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"860\" 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\" data-id=\"133\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences.webp\" alt=\"The Pulsgeber preferences with top bar icon, tray and power mode\" class=\"wp-image-133\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences.webp 1290w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-300x200.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-1024x683.webp 1024w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-768x512.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\">The preferences<\/figcaption><\/figure>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac41634641b2&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac41634641b2\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"860\" 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\" data-id=\"132\" src=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-profiles.webp\" alt=\"Profiles in the preferences: show them in the menu and pick an icon\" class=\"wp-image-132\" srcset=\"https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-profiles.webp 1290w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-profiles-300x200.webp 300w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-profiles-1024x683.webp 1024w, https:\/\/linuxundich.de\/en\/wp-content\/uploads\/2026\/10\/pulsgeber-preferences-profiles-768x512.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\">Profiles and icons<\/figcaption><\/figure>\n<\/figure>\n\n\n<div class=\"wp-block-group lui-pj-sec is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"lui-pj-lead wp-block-paragraph\">If you own a TUXEDO notebook, you control fans and processor with the TUXEDO Control Center. To switch between \u201cquiet\u201d and \u201cfull power\u201d, you used to open the app or its tray icon. Pulsgeber puts the profiles where GNOME shows its power modes: in the Quick Settings at the top right.<\/p>\n\n\n<p class=\"lui-pj-lead wp-block-paragraph\">Day to day, one click is all it takes: the power-saving profile on battery on the go, full power at the desk for the compiler or a game. Pulsgeber remembers your pick until the power source changes and shows in the menu which profile comes next. You only need the Control Center to create and edit profiles.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group lui-pj-sec is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">What Pulsgeber does<\/h2>\n\n\n<div class=\"wp-block-group lui-pj-grid is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">One toggle for all profiles<\/h3>\n\n\n<p class=\"wp-block-paragraph\">The menu lists every profile from the Control Center. Clicking the toggle switches between the default and the last picked profile, just like GNOME\u2019s power mode.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">AC power and battery at a glance<\/h3>\n\n\n<p class=\"wp-block-paragraph\">A profile picked by hand lasts until the power source changes. The menu header tells you what comes next, for example \u201cUntil on battery, then Cool and breezy\u201d.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">In step with the Control Center<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Pulsgeber switches through the system service tccd. The Control Center shows the change right away, and Pulsgeber picks up changes made there within the check interval.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Its own icons<\/h3>\n\n\n<p class=\"wp-block-paragraph\">One pulse for power saving, two for balanced, three for performance, and a pulse above a slider for your own profiles. If you like, the top bar shows the icon while a non-default profile is active.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">No tray needed<\/h3>\n\n\n<p class=\"wp-block-paragraph\">If you like, the Control Center tray no longer starts. The menu entry \u201cTUXEDO Control Center\u201d opens the app when you need it.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Peace with power-profiles-daemon<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Pulsgeber hides GNOME\u2019s power mode toggle and can turn off ppd, so the two services don\u2019t overwrite each other.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Show or hide profiles<\/h3>\n\n\n<p class=\"wp-block-paragraph\">In the preferences you decide which profiles appear in the menu and which icon they get. Pulsgeber cleans up after deleted profiles by itself.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">English and German<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Pulsgeber follows the GNOME language. More languages can be added as a po file.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<section class=\"lui-facts wp-block-lui-app-facts\" aria-label=\"Fact sheet: Pulsgeber\" data-lui-facts>\n\t<div class=\"lui-facts-head\">\n\t\t<span class=\"lui-facts-icon\" aria-hidden=\"true\">P<\/span>\n\t\t<div>\n\t\t\t<p class=\"lui-facts-name\">Pulsgeber<\/p>\n\t\t\t\t\t\t\t<p class=\"lui-facts-tagline\">Switch TUXEDO power profiles right from the GNOME Quick Settings.<\/p>\n\t\t\t\t\t<\/div>\n\t<\/div>\n\t\t\t<dl class=\"lui-facts-list\">\n\t\t\t\t\t\t\t<dt>Version<\/dt>\n\t\t\t\t<dd>0.4.1<\/dd>\n\t\t\t\t\t\t\t<dt>License<\/dt>\n\t\t\t\t<dd>GPL-3.0-or-later<\/dd>\n\t\t\t\t\t\t\t<dt>Tested with<\/dt>\n\t\t\t\t<dd>GNOME 50.5, TUXEDO Control Center 3.0.10, InfinityBook S 17 Gen6<\/dd>\n\t\t\t\t\t\t\t<dt>Project<\/dt>\n\t\t\t\t<dd><a href=\"https:\/\/linuxundich.de\/en\/projects\/pulsgeber\/\">linuxundich.de\/en\/projects\/pulsgeber<\/a> \u00b7 <a href=\"https:\/\/github.com\/linuxundich\/pulsgeber\">Source code<\/a><\/dd>\n\t\t\t\t\t<\/dl>\n\t\t\t\t<div class=\"lui-facts-install\">\n\t\t\t<p class=\"lui-facts-install-title\">Installation<\/p>\n\t\t\t\t\t\t\t<div class=\"lui-facts-cmd\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"lui-facts-cmd-label\">From the release<\/span>\n\t\t\t\t\t\t\t\t\t\t<code>gnome-extensions install pulsgeber@linuxundich.de.shell-extension.zip<\/code>\n\t\t\t\t\t<button type=\"button\" class=\"lui-facts-copy\" data-lui-facts-copy hidden>Copy<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"lui-facts-cmd\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"lui-facts-cmd-label\">From source<\/span>\n\t\t\t\t\t\t\t\t\t\t<code>git clone https:\/\/github.com\/linuxundich\/pulsgeber.git &amp;&amp; cd pulsgeber &amp;&amp; make install<\/code>\n\t\t\t\t\t<button type=\"button\" class=\"lui-facts-copy\" data-lui-facts-copy hidden>Copy<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"SoftwareApplication\",\"name\":\"Pulsgeber\",\"description\":\"Switch TUXEDO power profiles right from the GNOME Quick Settings.\",\"softwareVersion\":\"0.4.1\",\"license\":\"GPL-3.0-or-later\",\"url\":\"https:\\\/\\\/linuxundich.de\\\/en\\\/projects\\\/pulsgeber\\\/\",\"operatingSystem\":\"Linux\",\"applicationCategory\":\"UtilitiesApplication\"}<\/script>\n<\/section>\n\n\n<div class=\"wp-block-group lui-pj-sec is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Ready in three steps<\/h2>\n\n\n<div class=\"wp-block-group lui-pj-grid is-3 lui-pj-steps is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Install the Control Center<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Pulsgeber needs the running tccd service from the tuxedo-control-center package. TUXEDO OS already has it.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Install the extension<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Download the ZIP package from the release and install it:<\/p>\n\n\n<pre class=\"wp-block-code\"><code>gnome-extensions install pulsgeber@linuxundich.de.shell-extension.zip<\/code><\/pre>\n<\/div>\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Log out and back in<\/h3>\n\n\n<p class=\"wp-block-paragraph\">On Wayland, GNOME only loads new extensions after logging in. Then enable it:<\/p>\n\n\n<pre class=\"wp-block-code\"><code>gnome-extensions enable pulsgeber@linuxundich.de<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"wp-block-group lui-pj-sec is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Questions and answers<\/h2>\n\n\n<div class=\"wp-block-group lui-pj-faq is-layout-flow wp-block-group-is-layout-flow\">\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\" open><summary>Do I still need the TUXEDO Control Center app?<\/summary>\n<p class=\"wp-block-paragraph\">Only to create and edit profiles and to assign them to AC power and battery. The profiles are applied by the system service tccd, which runs from boot. Pulsgeber talks to it directly.<\/p>\n<\/details>\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Why does GNOME\u2019s power mode disappear?<\/summary>\n<p class=\"wp-block-paragraph\">power-profiles-daemon and tccd write the same processor settings. tccd restores its profile every ten seconds, so a change in GNOME\u2019s toggle only lasts a moment. That\u2019s why Pulsgeber hides the toggle.<\/p>\n<\/details>\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>How fast does Pulsgeber see changes from the Control Center?<\/summary>\n<p class=\"wp-block-paragraph\">tccd doesn\u2019t announce a profile change by itself, so Pulsgeber checks regularly, every five seconds by default. You can change the interval in the preferences. When you open the menu, it is up to date anyway.<\/p>\n<\/details>\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Why are my profiles named differently than on other notebooks?<\/summary>\n<p class=\"wp-block-paragraph\">The Control Center ships its own default profiles depending on the model. Older devices get \u201cDefault\u201d, \u201cCool and breezy\u201d and \u201cPowersave extreme\u201d, newer ones \u201cPowersave extreme\u201d, \u201cQuiet\u201d, \u201cOffice and Multimedia\u201d and in some cases \u201cHigh Performance\u201d. Pulsgeber shows them as the Control Center names them.<\/p>\n<\/details>\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Does it work without a TUXEDO notebook?<\/summary>\n<p class=\"wp-block-paragraph\">No. Without tccd there are no profiles for Pulsgeber to switch.<\/p>\n<\/details>\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Is Pulsgeber a TUXEDO product?<\/summary>\n<p class=\"wp-block-paragraph\">No. Pulsgeber is an unofficial project and not affiliated with TUXEDO Computers.<\/p>\n<\/details>\n<\/div>\n<\/div>\n\n\n<div class=\"wp-block-group lui-pj-sec is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Versions<\/h2>\n\n\n<figure class=\"wp-block-table lui-pj-versions\"><table><tbody><tr><td>0.4.1<\/td><td>Oct 5, 2026<\/td><td>Proper names for TCC\u2019s newer default profiles<\/td><\/tr><tr><td>0.4.0<\/td><td>Oct 2, 2026<\/td><td>Own icon for profiles created in TCC<\/td><\/tr><tr><td>0.3.0<\/td><td>Oct 2, 2026<\/td><td>\u201cDon\u2019t Start TCC Tray\u201d also closes the open app cleanly<\/td><\/tr><tr><td>0.2.0<\/td><td>Oct 1, 2026<\/td><td>Profile icons, hiding the power mode toggle, turning off ppd<\/td><\/tr><tr><td>0.1.0<\/td><td>Oct 1, 2026<\/td><td>First version with toggle, menu and preferences<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/blob\/main\/CHANGELOG.md\">Full changelog on GitHub<\/a><\/p>\n<\/div>\n\n\n<div class=\"wp-block-columns lui-pj-band is-layout-flex wp-container-core-columns-is-layout-81260c56 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Found a bug or have an idea?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Let me know through the issues on GitHub. Translations are welcome as a po file in the po\/ folder.<\/p>\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-buttons lui-get is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button lui-get--github\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/issues\">Report an issue<\/a><\/div>\n\n\n<div class=\"wp-block-button lui-get--docs\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/linuxundich\/pulsgeber\/tree\/main\/po\">Translate<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<p class=\"lui-pj-note wp-block-paragraph\">Pulsgeber is AI-assisted. The code, icons and translations were written with AI assistance, following my directions. I made the decisions, reviewed the results and tested everything on my own devices.<\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>GNOME Shell extension: switch TUXEDO power profiles right from the Quick Settings.<\/p>\n","protected":false},"author":2,"featured_media":135,"parent":137,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"lui_source_id":47868,"lui_source_hash":"","lui_source_translated":"2026-10-05","lui_source_reviewed":true,"footnotes":""},"class_list":["post-138","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/pages\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/types\/page"}],"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=138"}],"version-history":[{"count":3,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/pages\/138\/revisions"}],"predecessor-version":[{"id":152,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/pages\/138\/revisions\/152"}],"up":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/pages\/137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media\/135"}],"wp:attachment":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media?parent=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}