A Desktop Cube for GNOME Shell
When I started using Linux more than a decade ago, it was because of the 3D desktop cube of Compiz. Even if this was a pretty useless feature, I am still missing it today. Therefore, I decided to create a similar effect for GNOME Shell. If you like it, you may also be interested in other nostalgic extensions, such as Compiz-alike windows effects, or Burn-My-Windows!
For a list of things changed in previous releases, you can have a look at the changelog!
π Features
πͺ² Limitations
Issues are tracked here on GitHub. There are currently two main known limitations:
- No wrap-around: In GNOME Shell, it is not possible to change from the last to the first workspace. The Desktop-Cube extension does not change this.
- Bad multi-monitor support on X11: On X11, GNOME Shell uses the same projection and view matrices for all monitors. The extension can modify these matrices so that the projection center of the virtual camera is in front of the current monitor. However, the cube looks somewhat sheared on setups with multiple monitors if the cube is shown on all monitors.
π These People love this Extension
While coding new features is the most awesome way to contribute, providing financial support will help me stay motivated to invest my spare time to keep the project alive in the future.
π₯ Current Gold Sponsors
Maxence Sebald
π₯ Current Silver Sponsors
π₯ Current Bronze Sponsors
@vlazic
Andrew J. Caines
Angel Brielez
π
Previous Sponsors and One-Time Donators
Dennis ten Hoove
Thomas Gorny
tj3k
Do you want to show that you love it too? You may become a sponsor for as little as 1$ / month!
If you like this extension, you may also want to try one of my other extensions: π₯ Burn-My-Windows or
β¬οΈ Installation
You can either install the Desktop Cube extension from extensions.gnome.org (a), download a stable release
from GitHub (b) or clone the latest version directly with git
(c).
a) Installing from extensions.gnome.org
This is the easiest way to install the Desktop Cube extension. Just head over to extensions.gnome.org and flip the switch! If you want to use a more up-to-date version, you can try one of the methods listed below.
b) Downloading a Stable Release
Execute this command to download the latest stable release:
wget https://github.com/Schneegans/Desktop-Cube/releases/latest/download/[email protected]
Install it by executing the following command. If you have the Desktop Cube extension already installed and want to upgrade to
the latest version, append the --force
flag in order to overwrite existing installs of the Desktop Cube extension.
gnome-extensions install [email protected]
Then restart GNOME Shell with Alt + F2, r + Enter. Or logout / login if you are on Wayland. Then you can enable the extension with the Gnome Tweak Tool, the Extensions application or with this command:
gnome-extensions enable [email protected]
git
c) Cloning the Latest Version with You should not clone the Desktop Cube extension directly to the ~/.local/share/gnome-shell/extensions
directory as this may get overridden occasionally!
Execute the clone command below where you want to have the source code of the extension.
git clone https://github.com/Schneegans/Desktop-Cube.git
cd Desktop-Cube
Now you will have to install the extension.
The make
command below compiles the locales, schemas and resources, creates a zip file of the extension and finally installs it with the gnome-extensions
tool.
make install
Then restart GNOME Shell with Alt + F2, r + Enter. Or logout / login if you are on Wayland. Then you can enable the extension with the Gnome Tweak Tool, the Extensions application or with this command:
gnome-extensions enable [email protected]
I want to contribute!
That's great!
Here are some basic rulles to get you started:
Commits should start with a Capital letter and should be written in present tense (e.g.
Emoji | Description |
---|---|
π :tada: |
When you added a cool new feature. |
π§ :wrench: |
When you added a piece of code. |
:recycle: |
When you refactored a part of the code. |
:sparkles: |
When you applied clang-format. |
π :globe_with_meridians: |
When you worked on translations. |
π¨ :art: |
When you improved / added assets like themes. |
π :lipstick: |
When you worked on the UI of the preferences dialog. |
:rocket: |
When you improved performance. |
:memo: |
When you wrote documentation. |
:beetle: |
When you fixed a bug. |
π :revolving_hearts: |
When a new sponsor is added or credits are updated. |
βοΈ :heavy_check_mark: |
When you worked on checks or adjusted the code to be compliant with them. |
π :twisted_rightwards_arrows: |
When you merged a branch. |
π₯ :fire: |
When you removed something. |
π :truck: |
When you moved / renamed something. |