In Ubuntu GNOME 14.04 it was possible to do a lot of tweaking on gnome-shell through the .js files. These files appear to have been wrapped up since Gnome 3.12, as explained here:

Keeping gnome shell approachable

A more recent post details the updated procedure to extract the .js files and test the modifications:

How do I extract shell

However, these posts do not explain how to make the changes permanent.

I tried to recompile the original file using the command glib-compile-resources resources.gresource.xml but managed only to break gnome-shell.


Unfortunately, there is no middle way to permanently implement modifications made on the JavaScript files and it is necessary to build the whole gnome-shell package again, as explained in this thread:

Gnome-shell list 2016 October

Or wait for an extension to make tweaking of the application overview easy.

NOTE: It is possible to make some tweaking without re-compiling gnome-shell, by editing /usr/lib/gnome-shell/libgnome-shell.so in a hex editor. For instance, you can change the number of columns and/or rows in the application overview by doing the following:

  • Make a backup of libgnome-shell.so in case something goes wrong.

  • Open libgnome-shell.so with an hex editor (I used Bless) and search for MAX_COLUMNS = 6 as text.

  • Replace 6 with ascii value of the number of columns that you want. If you want a 2-digit value, you will need to delete the space between the = equal sign and the original 6, like in MAX_COLUMNS =10.

  • You can do the same for the number of rows by changing MIN_ROWS, and for the icon size by changing ICON_SIZE (search for const ICON_SIZE).

  • Save and replace libgnome-shell.so.

  • Restart gnome-shell (press Alt+F2 and in the popup enter 'r' or 'restart' and press enter).

Many thanks to VoOoLoX for suggesting this procedure in a related post.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.