Home

Awesome

Window Buttons Extension

This is an extension for Gnome 3 which puts minimize, maximize and close buttons in the top panel. Supports custom button layouts and css theming!

<table> <tr> <td><img src="https://raw.github.com/danielkza/Gnome-Shell-Window-Buttons-Extension/master/screenshot.png" alt="Screenshot" /></td> </tr> <tr> <td>Current (2016) themes, top-to-bottom: Ambiance-Blue, Ambiance, default, Radiance, UniMetro-Black, UniMetro, Zukitwo-Dark, Zukitwo</td> </tr> </table>

Configure with gnome-shell-extension-prefs or GNOME Tweak Tool.

Original Author: biox (Josiah Messiah)
Maintainer: Daniel Miranda danielkza2@gmail.com
Previous Maintainer: mathematical.coffeee mathematical.coffeee@gmail.com
Contributors: Many (thankyou!)

Installation

Install it from extensions.gnome.org.

If you wish to install manually, follow the steps below.

GNOME 3.18, 3.20

Checkout the master branch, by doing:

git clone https://github.com/danielkza/Gnome-Shell-Window-Buttons-Extension.git
cd Gnome-Shell-Window-Buttons-Extension
git checkout master
make # <-- very important!
# symlink to extensions directory
mkdir -p ~/.local/share/gnome-shell/extensions
ln -s "$PWD/window_buttons@biox.github.com" ~/.local/share/gnome-shell/extensions/
# install
gnome-shell-extension-tool -e window_buttons@biox.github.com 

GNOME 3.16

Same as above, but checkout the gnome-3.16 branch instead of master.

Other GNOME versions

No longer supported, sorry!

Configuration

The following is an explanation of the configuration options available.

Button order

This is the order of the buttons, for example minimize then maximize then close, or close then maximize then minimize. There are two settings that affect this: order and pinch.

The pinch setting is whether you want to pinch the order of the buttons from Metacity or Gnome shell:

If you choose PinchType.CUSTOM, then you have to specify order.

order is a string (default ':minimize, maximize, close') specifying button order. The available buttons are 'minimize', 'maximize', and 'close', separated by a comma.

The colon : splits the buttons into two groups: left and right. These can be positioned separately. For example, minimize:maximize, close will allow you to position the 'minimize' button separately to the 'maximize, close' buttons.

Themes

What theme to use for the buttons. There are two settings that control what theme is used: doMetacity and theme.

If doMetacity is set to true, window buttons will use whatever theme is in /apps/metacity/general/theme (if we have a matching theme). Otherwise, we we will use the theme setting to determine which theme to use.

Themes are stored in the themes directory of this extension, for example ~/.local/share/gnome-shell/extensions/window_butons@biox.github.com/themes. You must set the theme to one of these names. For further details see the 'Themes' section below.

When the buttons appear.

By default, the window buttons will be visible all the time unless you have no windows on your workspace, in which case they hide.

You can change this with the showbuttons setting.

Positioning the buttons in the panel

Recall you can position the left and right groups of buttons separately (determined by the colon ':' in order).

Use gnome-shell-extension-prefs for the positioning - it's easier.

The position of a button group is determined by two factors: what box it is in, and what position it has within that box.

For the box:

The position is a number representing whereabouts in the box you want the buttons to be.

For example 1 means 'first item from the left', 2 means 'second item from the left' and so on. If you want to anchor from the right, use a negative number: -1 means 'first item from the right' and so on.

Themes

The Window Buttons extension is themeable. Themes live in the themes. The name of the directory is the name of the theme.

If you want to make your own theme, you have to add a folder into the themes directory. To start off, copy the default theme:

cd window_buttons@biox.github.com/themes
cp -r default my_new_theme 

Then, edit the style.css file to style the window buttons. At a bare minimum, you need to define styles for .window-button, .minimize, .maximize and .close.

The .window-button style affects each individual button. The .minimize, .maximize and .close styles define the styles for each individual button. You will have to do something like

background-img: url("path/to/picture")

for each button, and the picture should have the symbol for the button in it (i.e. we do not draw _, X, etc on the buttons).

See themes/default/style.css for more information.

Also, feel free to add a file ABOUT with credits/information.

(The 'screenshot.png' image displayed on this readme was generated using ImageMagick:

convert -background black -gravity center -append `find window_buttons@biox.github.com/themes -iname screenshot.png | sort` screenshot.png

)

Changelog

v16 on e.g.o (GNOME 3.18, 3.20), dev-version 2.9

v15 on e.g.o (GNOME 3.18, 3.20), dev-version 2.8

v14 on e.g.o (GNOME 3.18), dev-version 2.7

v13 on e.g.o (GNOME 3.18)

v12 on e.g.o (GNOME 3.16, fork by danielkza from mathematicalcofee, dev-version 2.4)

v11 on e.g.o (GNOME 3.8), dev-version 2.3.1:

v10 on e.g.o (GNOME 3.4, 3.6, 3.8), dev-version 2.3:

v7/8/9 on e.g.o:

v5/v6 on e.g.o:

v3/v4 on e.g.o:

To-do