Overview

Looking Glass Inspector GNOME Shell Extension

This extension extends the existing looking glass object inspector by showing futher details, amongst some other improvements to the looking glass in general. Mainly for developers.

Written 2012 by mathematical.coffee mathematical.coffee@gmail.com.
Project webpage: at bitbucket.

Inspect GI namespaces and classes.
Inspect namespaces Inspect prototype
Inspecting functions shows function text. Links to prototypes are displayed. Copy-paste functionality has been added.
Inspecting functions shows function text Copy-paste
Long non-object results (e.g. strings) line-wrap.
line wrapping
Hold down SHIFT while using the inspector to interact with the shell
looking glass inspector

Detailed features

Tweaks to the Object Inspector:

The Object Inspector is the popup window that appears when you click on a result in the Looking Glass that shows extra information.

  • shows the code of functions upon inspection;
  • shows all methods, classes, etc in a namespace upon inspection;
  • shows full class description of class prototypes from imports.gi (e.g. Meta.Display.prototype);
  • shows a link to inspect an object's prototype if it has one (e.g. Meta.Display or PopupMenu.PopupMenuItem are functions (constructors) but inspecting them will show a link to inspect their prototypes);
  • if a string is too long, inspect it to show the full text;
  • improves the looking glass's object inspector history (previously just 1 level of history, now up to 100).

Tweaks to the Looking Glass Inspector Looking Glass Inspector icon:

  • hold down SHIFT in order to pass events through to gnome-shell whilst inspecting. For example, SHIFT+click while inspecting will perform a normal click, allowing you to open popup menus to inspect items from them. Or SHIFT+move the mouse to the bottom right hot-corner will open the message tray allowing you to select an item from that.

Other Tweaks to the Looking Glass

  • allow extension descriptions to wrap if they're too long (in the Extensions tab);
  • copy Looking Glass results as strings (right-click the result or use the button in the object inspector).

Wishlist

  • show further information about functions from GI (e.g. global.screen.append_new_workspace will list its required arguments).

Installation

Hopefully, you should be able to download from extensions.gnome.org (will have the link when it becomes available).

Otherwise:

  1. Download the .zip file on the Downloads page.
  2. Open gnome-tweak-tool, go to "Shell Extensions", "Install Extension" and select the .zip file.

Did you know?

  • When using the looking glass inspector/picker Looking Glass Inspector icon, you can scroll up and down with your cursor over an item to select the item's parent (scroll up) or child (scroll down) instead - this is a built-in feature.

Notes to developers (looking at this extension's source):

  • The 'default' branch is a polyglot and works in both GNOME 3.2 and 3.4. Features that only work in one version or the other won't be in this.
  • The 'gnome3.2' branch is the stable release for GNOME 3.2
  • The 'gnome3.4' branch is the stable release for GNOME 3.4 (makes use of .__super__ in the new Lang.Class).
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.