01. Overview & Architecture

Profile: v74
Schema validatedSource pinned
Purpose
Merges the GNOME dash and top bar into a single taskbar.
Compatibility
Any distro (Server: BOTH)
Desktop Part
DE extensions
Window Manager & Theme
GNOME / Other

02. Installation & Deployment

Before you installThis changes your desktop configuration and installs packages. Run it as your normal user, never with sudo: it asks for sudo only where a step needs it (listed below).The guided installer shows its plan first. Files it would replace are kept unless you approve. Everything it copies, clones or appends to in your home folder is backed up and verified first, and --rollback restores it. Packages, sudo changes and the other commands listed under Impact are not undone.
IntegrityEach release from main builds the installers in GitHub Actions and signs them with a GitHub build attestation. Verify your download against the repository, not this website (Option B, step 2). If it does not verify, don't run it.
ImpactPackages: gnome-shell-extension-dash-to-panel
RecoveryGuided: backups in ~/.local/state/0xtsoa/backups/, undo with bash install.sh --rollback.Manual: the steps below only write in the download folder or run listed commands.
Option A: manual installAdvanced
Read the source at the reviewed commit, back up, then run each step yourself.
$git clone https://github.com/home-sweet-gnome/dash-to-panel ~/0xtsoa-review/home-sweet-gnome-dash-to-panel# 1. clone to a review folder
$git -C ~/0xtsoa-review/home-sweet-gnome-dash-to-panel checkout --detach c3aed934f927852a9ec28103e788d1954034bf4c# 2. the reviewed commit
Then the steps. Package commands are written for Arch; on other distros use your package manager.

Step-by-step deployment protocol

Step-by-step deployment
1Install gnome-shell-extension-dash-to-panel (Arch repos)
$sudo pacman -S --needed gnome-shell-extension-dash-to-panel
$# Other distros: see the upstream README
2Enable it
$# Log out and back in, then enable it in Extension Manager or: gnome-extensions enable <uuid>
Option B: guided installerRecommended
The same steps as one script for any distro. It shows the plan first, keeps files you already have unless you approve replacing them, and backs up everything it changes in your home folder. Never pipe it into a shell.
$curl -fsSLo install.sh 'https://www.0xtsoa.dev/configs/home-sweet-gnome/dash-to-panel/install.sh'# 1. download
$gh attestation verify install.sh --repo nyharena25/0xTsoa --signer-workflow nyharena25/0xTsoa/.github/workflows/attest-installers.yml# 2. verify (GitHub CLI 2.49+, signed in)
$less install.sh# 3. read it
$bash install.sh --dry-run# 4. preview: changes nothing
$bash install.sh# 5. install (asks first)
$bash install.sh --rollback# undo the file changes
View script in browserOther options: --force (replace conflicts, backed up first), --yes, --help

03. Screenshot Gallery // Dash to Panel

Capture 01 // Fullscreen
Dash to Panel screenshot 1
01 / 13

04. Documentation & Guide

Source: home-sweet-gnome/dash-to-panelRef: c3aed934f9
README.md|GitHub Flavored Markdown

   

Introduction

Dash to Panel is an icon taskbar for Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.

Beyond that, just about every aspect of the panel is fully customizable. From positioning and scaling panel elements to running indicators to multi-monitor display, to window previews and even intellihide, Dash to Panel has everything you need to make your workspace feel like home.

Features

Customizable appearance
screenshot
Hide & show panel elements and set their positions, sizes & colors

Customizable running indicators
Metro Ciliora/Dashes
Ciliora Squares/Segmented
Dashes Dots/Solid
Set position, style, weight & color of running indicators to easily and quickly identify focused and unfocused applications

Live Previews on Hover
screenshot
Hover over the launcher icon for an open application to get a live window preview

Launch by Number
Optionally launch your favorite applications via keyboard

Panel Intellihide
Intellihide
Hide and reveal the panel according to your set preferences

Additional Features Feature Implemented
Add "Show Desktop" button to panel
Isolate running apps by workspaces and/or monitors
Custom click behaviors (launch new window, cycle open windows, minimize, etc)
Integrate native Gnome appMenu into right-click secondary menu
Multi-monitor support
Dynamic transparency
Ungroup application windows
Export and import settings

Installation

To install the most recent official release: Visit Dash-to-Panel at GNOME Extensions

To install a development version from source, please see the Installation wiki page.

FAQ

How do I customize the panel? See the Wiki

How do I embed my bottom left notification drawer into the panel like a system tray? Top Icons Plus or (K)StatusNotifierItem/AppIndicator Support

How do I add a traditional start menu? Arc Menu

How do I disable the hot corner? No Topleft Hot Corner

How do I move the notifications to somewhere other than the top center? Notification Banner Reloaded

How do I display Minimize & Maximize buttons? In the Tweak Tool application, turn on Windows > Titlebar Buttons > Minimize & Maximize.

How do I reset the extension to its default settings? dconf reset -f /org/gnome/shell/extensions/dash-to-panel/.

Themes

While this extension works well with most popular Gnome Shell themes, the following themes are known to have explicitly added custom styles for this extension:

Compatibility

This extension has been tested with Gnome 3.18+.

This extension manipulates the Gnome Main Panel, aka Top Bar. So, most other extensions which operate on the top bar should be compatible.

Volunteers needed!

This extension could be even better with your help! Any items in the issue tracker labelled help wanted or good first issue are up for grabs. For more info, see the Contributing wiki page.

Credits

This extension is developed and maintained by @jderose9 and @charlesg99.

Significant portions of code in this extension were derived from Dash-to-Dock.

Additional credits: This extension leverages the work for ZorinOS Taskbar (used in ZorinOS) to show window previews and allow the dash from Dash-to-Dock to be embedded in the Gnome main panel. Code to set anchor position taken from Thoma5/gnome-shell-extension-bottompanel. Pattern for moving panel contents based on Frippery Move Clock by R M Yorston. Ideas for recursing child actors and assigning inline styles are based on code from the extension StatusAreaHorizontalSpacing.

Thanks to the following people for contributing via pull requests:
  • @franglais125 for launching apps by number (w/ overlay), bug fixes, and issue support
  • @LinxGem33 and @sbarrett322 for artwork, logos, screenshots and design effort
  • @dziku1337 for peek mode in window previews
  • @robrobinbin for configuring appMenu on/off in the panel
  • @MartinPL for toggling favorites on/off in panel
  • @jackwickham for thumbnail middle and right click actions
  • @abakkk for centering the taskbar icons in the panel, and animated taskbar hovering
  • @quasoft for changing of font weight of ungrouped application titles
  • @jordanribera for using icon's dominant color as running indicator color
  • @tper0700 for dynamically building context menu based on system capabilities
  • @levacic for configurable minimized application title font color
  • @l3nn4rt for toggling workspace switch popup
  • @hlechner for adjustable show desktop line color and window preview icon size
  • @ArtyomZorin for animated urgent icons
  • @jvpessoa10 for additional click window cycle options
  • @marksvc for assigning percent of display for panel length
  • @philippun1 for GNOME 40 support :rocket:
  • @HaselLoyance for toggle for notification counter badge
  • @rastersoft for Desktop Icons NG integration
  • @max-dw-i for symbolic icons
  • @Hirnmoder for Beautify DTP and panel border
  • @JimBroad for grayscale icons
  • @lufog for Gnome 50 support
Bug Fixes:

@imrvelj, @Teslator, @bil-elmoussaoui, @brandon-schumann, @sw9, @rockon999 , @lexruee, @3v1n0, @freeroot, @moqmar, @ArtyomZorin, @lkc0987, @saibotk, @vanillajonathan, @Zkdc, @leebickmtu, @l3nn4rt, @Melix19, @Aikatsui, @melix99, @kyrillzorin, @oneshadab, @CorvetteCole, @vantu5z, @spectreseven1138, @aperezdc, @smedir, @lucaxvi, @andyholmes, @vowstar, @T99Rots, @City-busz, @guoqiyi, @gcrabbe, @Anduin2017, @xalt7x, @Survolog, @TorosFanny

Documentation Improvements:

@BoQsc, @zakkak, @dandv, @elliotwutingfeng

Translations:

@frnogueira / @victorwpbastos / @vagkaefer / @jotavionm (pt_BR), @zeten30 / @Amereyeu (cs), @franglais125 / @calotam / @oeramirez / @jhonatanseminario / @oscfdezdz (es), @LaurentTreguier / @SolarLiner / @DelphinPETER (fr), @elsieholmes / @xalt7x (uk), @hosiet / @zhmars (zh_CN), @jonnius / @linuxr01 / @Etamuk / @daPhipz (de), @urbalazs / @pappfer (hu), @crayxt (kk), @pkomur / @MartinPL / @alex4401 / @konradmb / @alewicki95 / @0rzech (pl), @AlexGluck / @GoodNike / @rjapolov / @vantu5z / @Keleth / @code-ascend / @antohami (ru), @sicklylife-jp / @ryonakano / @nexryai / @Umoxfo (ja), @oltulu / @TeknoMobil / @daenney / @osmancoskun (tr), @sbadux / @kowalski7cc / @l3nn4rt / @albanobattistella (it), @OriginCode / @pan93412 (zh_TW), @ojn (sv), @frandieguez (gl), @kuroehanako / @MarongHappy (ko), @jose1711 / @dodog (sk), @eshagh79 (fa), @EkaterinePapava (ka), @jamalkamaladdin (az)

License & Terms

Dash to Panel is available under the terms of the GPL-v2 or later license See `COPYING` for details.

GitHub Flavored Markdown (github-markdown-css)README snapshot at c3aed934f9