{"id":50476,"date":"2026-01-25T11:50:52","date_gmt":"2026-01-25T11:50:52","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=50476"},"modified":"2026-01-25T11:50:52","modified_gmt":"2026-01-25T11:50:52","slug":"custom-toggle-buttons-quick-settings","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/01\/custom-toggle-buttons-quick-settings\/","title":{"rendered":"Add Custom Toggle Buttons to Top-right System Menu (Quick Settings)"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-44710\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/gnome-logo-dark.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Want to add custom ON\/OFF toggle buttons to the top-right system menu (aka Quick Settings) in Ubuntu, Fedora Workstation and other Linux with recent GNOME desktop? Here&#8217;s an extension can do the job!<\/p>\n<p>GNOME since 43 introduced a redesigned system status menu called Quick Settings, allowing to quickly change commonly used settings via ON\/OFF toggle buttons.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50477\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/custom-toggles-700x502.webp\" alt=\"\" width=\"610\" height=\"437\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/custom-toggles-700x502.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/custom-toggles-300x215.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/custom-toggles-768x551.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/custom-toggles.webp 965w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>The menu by default includes the toggle buttons to change the network, bluetooth, night light, keyboard back-light, Light\/Dark status, as well as CPU power mode.<\/p>\n<p>If that&#8217;s not enough, then you can add more buttons for custom actions, such as automatic suspend and\/or webcam toggles. And, here&#8217;s how to do the job step by step.<\/p>\n<h3>Step 1: Install the Custom Command Toggle extension<\/h3>\n<p>The extension so far supports <b>GNOME from version 45 to 49<\/b>, meaning for Ubuntu 24.04 ~ 25.10, all current supported Fedora Workstation, Debian 13, and Arch etc Linux distributions with GNOME.<\/p>\n<p>First, search and install &#8220;Extension Manager&#8221; app from your system software app, such as App Center or GNOME Software.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-48234\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/02\/install-extensionmanager-700x409.webp\" alt=\"\" width=\"610\" height=\"356\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/02\/install-extensionmanager-700x409.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/02\/install-extensionmanager-300x175.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/02\/install-extensionmanager-768x449.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/02\/install-extensionmanager.webp 1116w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Then, launch Extension Manager and use it to search and install &#8220;Custom Command Toggle&#8221; extension under <i>Browse<\/i> tab.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50478\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/install-customtoggle-700x481.webp\" alt=\"\" width=\"610\" height=\"419\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/install-customtoggle-700x481.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/install-customtoggle-300x206.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/install-customtoggle-768x528.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/install-customtoggle.webp 1018w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>If your Linux Distribution does not have &#8220;Extension Manager&#8221; app in system repository, then visit the link below in web browser, and use the ON\/OFF toggle to install it:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/extensions.gnome.org\/extension\/7012\/custom-command-toggle\/\" target=\"_blank\" rel=\"noreferrer noopener\">Custom Command Toggle<\/a><\/div>\n<\/div>\n<p>Though, you need to install the browser extension first and refresh to see the toggle. And, Debian\/Ubuntu need to install agent package first by running the command below in temrinal:<\/p>\n<pre>sudo apt install chrome-gnome-shell<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50479\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/customtoggle-browser-700x409.webp\" alt=\"\" width=\"610\" height=\"356\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/customtoggle-browser-700x409.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/customtoggle-browser-300x175.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/customtoggle-browser-768x449.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/customtoggle-browser.webp 1230w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<h3>Step 2: Add\/Configure Toggle Buttons to Quick Settings<\/h3>\n<p>After installed the extension, either go to <i>Installed<\/i> tab in Extension Manager then click the gear icon to open preferences.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50480\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-customtoggle-700x481.webp\" alt=\"\" width=\"610\" height=\"419\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-customtoggle-700x481.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-customtoggle-300x206.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-customtoggle-768x528.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-customtoggle.webp 1018w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Or, run the command below to launch the preferences from terminal:<\/p>\n<pre>gnome-extensions prefs custom-command-toggle@storageb.github.com<\/pre>\n<p>When the preferences dialog opens, you may switch to &#8220;Configuration&#8221; tab to increase the number of custom toggle buttons (up to 6). And, each button will has its own tab in the dialog.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50482\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-remove-buttons-700x682.webp\" alt=\"\" width=\"610\" height=\"594\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-remove-buttons-700x682.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-remove-buttons-300x292.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-remove-buttons.webp 724w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Next, input the text and icon to be displayed on that button. For Ubuntu with default Yaru theme, see <a href=\"https:\/\/storageb.github.io\/custom-command-toggle\/icons-yaru\/\" target=\"_blank\" rel=\"noopener\">this page<\/a> for all the available symbolic icon names. And, go to <a href=\"https:\/\/storageb.github.io\/custom-command-toggle\/icons-adwaita\/\" target=\"_blank\" rel=\"noopener\">this page<\/a> for Gnome default Adwaita icons.<\/p>\n<p>And, type the commands for toggle ON\/OFF actions. For example, use the command below to enable automatic suspend for both battery and AC mode, for button ON.<\/p>\n<pre>gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type suspend &amp;&amp; gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type suspend<\/pre>\n<p>And, use the command below to disable automatic suspend for button OFF state.<\/p>\n<pre>gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type nothing &amp;&amp; gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type nothing<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50481\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-button1-700x641.webp\" alt=\"\" width=\"610\" height=\"559\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-button1-700x641.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-button1-300x275.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/configure-button1.webp 762w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>As you see, you may use <code>&amp;&amp;<\/code> to connect multiple commands into one. And, use <code>pkexec<\/code> for command that need root permission.<\/p>\n<p>For example, use the command below to disable webcam\/camera for button OFF:<\/p>\n<pre>pkexec modprobe --remove uvcvideo<\/pre>\n<p>And use the command below instead to re-enable for button ON:<\/p>\n<pre>pkexec modprobe uvcvideo<\/pre>\n<p>NOTE: the <code>modprobe<\/code> kernel module load\/remove commands only work when the module is not in use. If your webcam\/camera is being opened by an application, then the commands won&#8217;t work.<\/p>\n<p>The initial button state at start up (after login) is by default set to previous state. Advanced users may set it to &#8220;Command output&#8221;, so it will run the &#8220;Check Status Command&#8221; automatically at login, and set button state automatically according if that command output matches the &#8220;Check Status Search Term&#8221;. <\/p>\n<p>For more about the extension, see the <a href=\"https:\/\/storageb.github.io\/custom-command-toggle\/configuration\/\" target=\"_blank\">official wiki<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Want to add custom ON\/OFF toggle buttons to the top-right system menu (aka Quick Settings) in Ubuntu, Fedora Workstation and other Linux with recent GNOME desktop? Here&#8217;s an extension can do the job! GNOME since 43 introduced a redesigned system status menu called Quick Settings, allowing to quickly change commonly used settings via ON\/OFF toggle [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":44710,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[689],"class_list":["post-50476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-gnome"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=50476"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50476\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/44710"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=50476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=50476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=50476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}