All Projects → pbxqdown → gnome-shell-extension-transparent-window

pbxqdown / gnome-shell-extension-transparent-window

Licence: other
Gnome shell extension which changes the opacity of window through mouse operation.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to gnome-shell-extension-transparent-window

Bing Wallpaper Gnome Extension
GNOME shell extension that sets your desktop wallpaper & lock screen image to Microsoft Bing's Image of the Day.
Stars: ✭ 125 (+228.95%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Cast To Tv
Cast files to Chromecast, web browser or media player app over local network.
Stars: ✭ 200 (+426.32%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Gsconnect
KDE Connect implementation for GNOME
Stars: ✭ 2,137 (+5523.68%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Mpris Indicator Button
A full featured MPRIS indicator button extension for GNOME Shell 3.38+
Stars: ✭ 107 (+181.58%)
Mutual labels:  gnome, gnome-shell-extension
media-controls
A media indicator for the Gnome shell.
Stars: ✭ 104 (+173.68%)
Mutual labels:  gnome, gnome-shell-extension
Taskwhisperer
Taskwhisperer is a extension for TaskWarrior Application https://taskwarrior.org. It is to display upcoming tasks and task details as well as to create and modify them.
Stars: ✭ 114 (+200%)
Mutual labels:  gnome, gnome-shell-extension
Dynamic Panel Transparency
Adds Transparency To The Gnome Shell Panel
Stars: ✭ 189 (+397.37%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Services Systemd
Gnome Shell Extension that allows to start and stop systemd services
Stars: ✭ 68 (+78.95%)
Mutual labels:  gnome, gnome-shell-extension
Cpupower
Gnome-Shell Extension for intel-pstate driver
Stars: ✭ 252 (+563.16%)
Mutual labels:  gnome, gnome-shell-extension
Emoji Selector For Gnome
This extension provide a popup menu with some emojis ; clicking on an emoji copies it to the clipboard.
Stars: ✭ 239 (+528.95%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Bitcoin Markets
Gnome-Shell extension displaying market rate for bitcoin and other crypto-currencies
Stars: ✭ 103 (+171.05%)
Mutual labels:  gnome, gnome-shell-extension
gnome-shell-panel-date-format
Allows to customize the date format on the panel.
Stars: ✭ 30 (-21.05%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Volume Mixer
GNOME Shell Extension allowing separate configuration of PulseAudio devices
Stars: ✭ 95 (+150%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Docker
An extension for managing docker containers
Stars: ✭ 124 (+226.32%)
Mutual labels:  gnome, gnome-shell-extension
Argos
Create GNOME Shell extensions in seconds
Stars: ✭ 1,251 (+3192.11%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Screenshot
Gnome Shell extension for making and uploading screenshots
Stars: ✭ 163 (+328.95%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Window Session Manager
An indicator that let's you save and restore your open apps and the window positions and arrangements over multiple real and virtual displays.
Stars: ✭ 58 (+52.63%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension System Monitor
Gnome Shell extension for displaying resource usage
Stars: ✭ 67 (+76.32%)
Mutual labels:  gnome, gnome-shell-extension
Gnome Shell Extension Blyr
Apply a Blur Effect to GNOME Shell UI elements
Stars: ✭ 229 (+502.63%)
Mutual labels:  gnome, gnome-shell-extension
improved-osk-gnome-ext
Improved On Screen Keyboard for Gnome Shell
Stars: ✭ 22 (-42.11%)
Mutual labels:  gnome, gnome-shell-extension

gnome-shell-extension-transparent-window

Summary

The extension will change the opacity of window through simple mouse/keyboard operation.

Usage

Move mouse cursor into the window you want to change, hover over the window, hold Alt key(or customized modifier key) and scroll to make the window transparent.

Environment

Tested on:

  1. Ubuntu 18.04 Gnome 3.28.
  2. Ubuntu 20.04 Gnome 3.36.

Motivation

Transparent window is a very useful feature that can improve work effeciency. It is implemented by software on multiple platforms. Even other Linux desktops like Ubuntu Unity can use Compiz to achieve this goal. There is no reason Gnome doesn't have this feature.

Design

Use GdkKeymap to monitor the hotkeys. When the modifier key is pressed, create an overlay actor that will monitor the scroll event. Once the scroll event is detected, modify the opacity of the mouse hovered window.

Limits

An overlay on top of all windows has to be created in order to monitor scroll event. Thus Alt+drag operation won't work anymore. Feel free to contact me or make a commit if you have a better idea to solve the problem.

Background knowledge

Gjs

Gjs is a JavaScript binding for GNOME and can be used to interact with Gtk

GTK

GTK is a widget toolkit for creating GUI on top of GDK.

GDK

The wrapper library of low-level window/graphics functions.

Clutter

Overview

Clutter is a GObject-based graphics library for creating user interfaces.

Actor

Actor is a basic element of Clutter. It encapsulates the postion/size/event of a node in the scene graph. In short, it is the abstraction of a window.

Mutter

Mutter is the default window manager of GNOME3 which uses Clutter as library.

Tips

Mutter is a portmanteau of "Metacity"(The deprecated window manger of GNOME2) and "Clutter".

GNOME Shell

GNOME Shell itself is a plugin of Mutter. This means when devloping shell extension, we are building plugin on plugin lol. Project location: https://gitlab.gnome.org/GNOME/gnome-shell/

ST(Shell Toolkit)

This is Gnome-shell's Clutter-based toolkit that defines useful actors. Examples are StBin, StButton, etc.

Debugging

Looking Glass

Looking Glass is GNOME Shell's integrated debugger and inspector tool. It would be helpful to debug any issue of the extension.

Usage

Press Alt-F2, type lg, then hit Enter.

Logs

Gnome shell extensions log to the standard location of Linux logs: /var/log/syslog

Use journalctl -b0 /usr/bin/gnome-shell |grep -i transparent.*window to inspect logs.

Logging Level

Different logging levels can be configured. Set "Log Verbose Level" to "Debug" to get detailed log.

Reload Gnome shell

You may need to reload gnome shell to test and debug extension changes. Press Alt-F2, type r, then hit Enter to reload gnome shell.

Reference

  1. https://wiki.gnome.org/Projects/GnomeShell/LookingGlass

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].