Skip to content

Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way

License

Notifications You must be signed in to change notification settings

paradigmpost/pixel-saver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pixel Saver

Pixel Saver is an extension for Gnome Shell that merge the activity bar and the title bar of maximized window. It is especially interesting for small screens, but MOAR pixels for your apps is always good!

The extension has no configuration. Its behavior is made to mimic the one of the title bar and settings affecting the title bar should reflect in Pixel Saver. It Just Works!

For applications using the modern GTK header bar, there are no space savings, but the application title is still displayed in the top panel to achieve a uniform appearance.

The title bar is completely gone and integrated to the activity bar.

It is largely inspired by bios and mathematicalcoffee's Window Buttons Extension and mathematicalcoffee's maximus extension and some code come from there. You may want to check theses out, especially if you want something more configurable.

Get it!

Gnome Shell version Pixel saver version Recommended installation method
40 1.24 Manual
3.38 1.24 GNOME extensions
3.36 1.24 GNOME extensions
3.34 1.24 GNOME extensions
3.32 1.20 GNOME extensions
3.30 1.18 GNOME extensions
3.26 1.14 GNOME extensions
3.24 1.12 GNOME extensions
3.15 1.10 GNOME extensions
3.14 1.5.1 GNOME extensions
3.12 1.3 GNOME extensions

Pixel saver has been available for a long time on GNOME Extensions website (so it is on GNOME Software, too).

Manual install

From graphical interface

  • (eventually) switch to the tag for your version from this page;
  • download the repo's zip from the green button;
  • navigate from your home to the gnome shell extension directory .local/share/gnome-shell/extensions;
  • unzip the [email protected] directory in extension directory;
  • reload gnome-shell pressing Alt + F2 and entering r;
  • enable the extension using GNOME Tweaks.

From terminal

    # Clone repository
    git clone https://github.com/deadalnix/pixel-saver.git

    # Enter cloned directory
    cd pixel-saver

    # Switch to the proper tag
    git checkout tags/1.24

    # copy to extensions directory
    cp -r [email protected] -t ~/.local/share/gnome-shell/extensions

    # You may need to reload GNOME Shell to recognise new extension by
    # hitting Alt + F2 and entering "r"

    # activate 
    # GNOME <3.38
    gnome-shell-extension-tool -e [email protected]
    # GNOME >= 3.38
    gnome-extensions enable [email protected]

Dependencies

Pixel Saver depends on Xorg's xprop and xwininfo utilities. If not already present on your system, these can be installed using:

  • Debian/Ubuntu: apt install x11-utils
  • Fedora/RHEL: dnf install xorg-x11-utils
  • Arch: pacman -S xorg-xprop

Wayland

Since this extension relies on features provided by X.org, by default it won't work on GTK 3.x+ windows in wayland sessions. Neverthless, you can still run any GTK application in x11 mode setting the GDK_BACKEND variable to x11, i.e.

GDK_BACKEND=x11 <application_name>

on the opposite, QT applications need the variable QT_QPA_PLATFORM to be set to wayland to not run in x11 mode.

If you need a particular program to always run in a given mode, copy its desktop file from /usr/share/applications to your user XDG applications directory (~/.local/share/applications) and edit the Exec line to look like this one

Exec=env GDK_BACKEND=x11 <your_application>

then run update-desktop-database to refresh menu entries.

Configuration

Soon!

Screenshots

If you want to see what the full desktop look like with this extension, you can check out what a unmaximized window looks like, as well as a maximized one.

About

Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 57.3%
  • CSS 42.6%
  • Shell 0.1%