# Unite Shell: making GNOME look like Ubuntu Unity without switching desktops

> Unite Shell is a GNOME Shell extension that reshapes the top panel and strips window decorations from maximized windows so the session resembles Ubuntu Unity, with a settings window in the GNOME extensions app. It suits GNOME users who want the Unity panel layout back, and it is the wrong approach for anyone who wants Unity's actual behaviour, since this changes appearance only.

**hardpixel/unite-shell** — Unite is an extension that makes GNOME Shell look like Ubuntu Unity Shell.

- Repository: https://github.com/hardpixel/unite-shell
- Stars: 1,093 · Forks: 71
- Language: JavaScript
- License: GPL-3.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/hardpixel-unite-shell

## What the extension actually changes is a list of panel edits

Unite is described as a GNOME Shell extension that makes a few layout tweaks to the top panel and removes window decorations to make the session look like Ubuntu Unity Shell. The README then enumerates exactly what that means, and the enumeration is the most useful part of the documentation. It adds window buttons to the top panel for maximized windows. It shows the current window title in the app menu for maximized windows. It removes titlebars on maximized windows, and hides the window controls on maximized windows that use headerbars. It moves the date to the right, fixes icon spacing and removes dropdown arrows. It moves legacy tray icons to the top panel, moves notifications to the right, hides the activities button or workspace switcher, and adds the desktop name to the top panel. Every one of these is a discrete, switchable change rather than an all-or-nothing skin.

## The window decorations change is the one with a technical dependency

Most of the panel edits are pure Shell rendering, but removing titlebars on maximized windows is not, which is why the extension needs an external tool. The README asks you to install xprop before installing the extension, with a distribution table giving the package name for each: x11-utils on Debian and Ubuntu with apt install x11-utils, xprop on Fedora and RHEL with dnf install xprop, rpm-ostree install xprop on Fedora Silverblue, and xorg-xprop on Arch Linux, Manjaro and EndeavourOS with pacman -S xorg-xprop. The xprop utility reads window properties, and reading a window's title or state requires talking to the window server over X11. That is the constraint to hold on to, because on a Wayland session the extension may not be able to do what it does under X11, and the README does not document a Wayland path.

## Installation is a downloaded zip and the gnome-extensions tool

Once xprop is in place, the extension installs from a release archive with two commands.

```bash
wget https://github.com/hardpixel/unite-shell/releases/download/v85/unite-v85.zip
gnome-extensions install --force unite-v85.zip
```

The version numbers in both lines track the same release, and the --force flag overwrites an existing installation. The README notes that for GNOME versions up to 44 the extension can also be installed from the official extensions resource page, and that the repository page has a watch option for release notifications. There is an AUR package for Arch Linux under the name gnome-shell-extension-unite. The screenshots referenced in the README show the extension running with the default options and the settings window available in the GNOME extensions application, which is where the options are exposed.

## This is a JavaScript extension bundled with rollup, not a compiled daemon

The repository layout shows how the project is built. The extension itself lives in a directory named unite@hardpixel.eu, which is the standard GNOME Shell extension naming convention using the extension's UUID. There is a package.json, a rollup.config.js, a yarn.lock, a logo.svg, a translations/ directory and a unite.pot file for the translation template, plus a CHANGELOG.md and a CODE_OF_CONDUCT.md. The package.json names the package unite at version 85, describes it as an extension that makes GNOME Shell look like Ubuntu Unity Shell, is marked private and of type module, and lists two scripts, a build that runs rollup -c and a package script that sets package=1 and runs the same rollup command. The dev dependencies are rollup with plugins for copying, deleting and zipping a directory, so the build output is a zip archive ready for the install command above.

## A full Unity layout needs two more extensions, and that is the real limitation

The README is explicit that Unite on its own is not the whole Unity desktop. For the complete Ubuntu Unity layout, it says you can combine it with the Dash to Dock extension and the Gnome HUD menu, both of which are linked. That is the honest framing of the project's scope. Unite changes how the panel and window decorations look; it does not restore Unity's launcher, its dash behaviour, or the application menu model that Unity used. Someone who remembers Unity as a way of working rather than a set of pixels will find that the missing pieces are exactly the ones they wanted. Someone who wants the top panel arrangement with a dock and a HUD overlay, on top of a current GNOME with the Extensions app, is who this is for.

## The extension inherits ideas from three earlier projects

The credits section names the sources of the design, and they describe the lineage of the individual tweaks. Unite Shell is inspired by Pixel Saver, TopIcons Plus and Extend Left Box, each linked in the README. All three are credited as inspirations for the extension's design, without a breakdown of which tweak came from which. The pattern is common in GNOME Shell extensions: a small codebase that reassembles behaviours others have already built and tested, tuned for a specific combination. It also means a bug in one of those behaviours is likely to be reproduced here, and that upstream changes in GNOME Shell can break the extension in ways the author then has to track.

## GPLv3, with releases tracked by version tag

The licence is GPLv3, stated in the README and reflected by the LICENSE file at the repository root, and the package.json records the licence as GPL. For a shell extension that modifies the interface of a running desktop, that licence is unremarkable and consistent with the wider GNOME ecosystem. The release history shows tags named by version number, with v85 tagged on 2026-04-12, v84 on 2025-11-16 and v83 on 2025-09-08, and the last push to the repository was on 2026-09-03. Compatibility is tied to the GNOME version you are running, which is why the release notes matter more than the tag number. The repository is not archived.

## Conclusion

Unite Shell is worth installing for a GNOME user who wants the Unity-era panel arrangement and titlebar-free maximized windows, since the individual toggles are what make it usable on a modern GNOME rather than a rigid theme. It is a poor fit if you are on Wayland and want the window controls to be genuinely drawn by the compositor, and a poor fit for a user who wants the real Ubuntu Unity desktop with its dash and launcher behaviour. Verify first that your GNOME version still exposes the settings the extension needs, since the extension targets specific Shell versions and the last tagged release was v85 on 2026-04-12 with the last push on 2026-09-03.

## FAQ

### What does Unite Shell change in GNOME?

The README lists the changes: window buttons on the top panel for maximized windows, the current window title in the app menu, titlebars removed on maximized windows, window controls hidden on maximized headerbar windows, the date moved right, icon spacing fixed, dropdown arrows removed, legacy tray icons moved to the panel, notifications moved right, the activities button or workspace switcher hidden, and the desktop name added to the panel.

### Why does Unite Shell need xprop installed?

The README asks you to install xprop before installing the extension. Reading window properties requires talking to the X server, and the package is named differently per distribution, for example x11-utils on Debian and Ubuntu, xprop on Fedora, and xorg-xprop on Arch.

### How do I install Unite Shell?

Download the release archive and install it with the GNOME extensions tool, using wget for the v85 zip and then gnome-extensions install --force unite-v85.zip. For GNOME versions up to 44 it is also listed on the official extensions resource page, and there is an AUR package for Arch Linux.

### Does Unite Shell give me the full Ubuntu Unity desktop?

No. The README says that for the complete Ubuntu Unity layout you can combine it with the Dash to Dock extension and the Gnome HUD menu. Unite adjusts the top panel and window decorations rather than restoring Unity's launcher behaviour.

## Sources

- [hardpixel/unite-shell on GitHub](https://github.com/hardpixel/unite-shell)
- [Issues](https://github.com/hardpixel/unite-shell/issues)
- [License: GPL-3.0](https://github.com/hardpixel/unite-shell/blob/master/LICENSE)
- [README](https://github.com/hardpixel/unite-shell/blob/master/README.md)
- [Releases](https://github.com/hardpixel/unite-shell/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/hardpixel-unite-shell
