Skip to content

yilozt/rounded-window-corners

Repository files navigation

Rounded Window Corners

A gnome-shell extensions that try to add rounded corners for all windows

Features

  • Works with Gnome 40+
  • Custom border radius and clip paddings for windows
  • Black list for applications which draw window decoration itself
  • Custom shadow for rounded corners windows
  • Skip libadwaita / libhandy application
  • Superelliptical shape for rounded corners, thanks to @YuraIz
  • A simple reset preferences dialog

Compatibility

  • Compiz alike magic lamp effect

    Hide shadow when magic lamp effect running. Need to restart (disable then enable) this extension when Compiz alike magic lamp effect enabled.

Notes

  • The rounded corners effect for window is base on this shader from mutter project
  • The TypeScript support for GJS is power by gi.ts

Screenshots

2022-07-29 23-49-57

Installation

From Ego

Install extensions from here.

From source code

It will install extensions to ~/.local/share/gnome-shell/extensions, need to install yarn, Node.js and gettext

git clone https://github.com/yilozt/rounded-window-corners
cd rounded-window-corners
yarn install && yarn ext:install

In NixOS, you can use nix-shell to enter a development shell before run yarn install.

You may need to install those packages when building this extensions. Feel free to open issues if you got error.

sudo pacman -S nodejs yarn gettext                      # Arch Linux
sudo apt install nodejs yarnpkg gettext                 # Ubuntu
sudo dnf install nodejs yarnpkg gettext gettext-devel   # Fedora

From Releases / Github Actions

Download extensions pack from Releases Page, or download git version from Github Actions. After download extensions pack, you need use gnome-extensions to install it, then restart gnome-shell to enable this extensions.

release-badge pack-padge

gnome-extensions install rounded-window-corners@yilozt.shell-extension.zip

Translations

weblate-state

You can help translate this extensions by using Weblate, or update po files then open a pull request.

To add new translations for extensions, you can add .po files in po directory via msginit, then use your favorite text editor to edit it.

cd po && msginit   # Add po file for new translations

You can run yarn ext:install or yarn dev to install extensions with with new translations. In XOrg sessions, just press Alt + F2 -> r to restart gnome-session then preview the result. In Wayland session, have to logout session then login again to reload extensions.

yarn dev will watch changes of .po files, once you have update translations, it will compile and install extensions automatically.

Development

Build

yarn build 

Watch files

Build and install extensions when files in src folder changed.

yarn dev

Test in Virtual Box by Vagrant

Need to install Vagrant and Virtual Box. This command will setup a virtual machine that enable log of extensions in terminal.

yarn vm