From ArchWiki
Revision as of 12:13, 20 July 2017 by Indigo (talk | contribs) (Getting traces of gnome-shell crashes: re)
Jump to: navigation, search

GNOME applications blocking window manager keyboard shortcuts? Drawing over everything?

Seen on Fluxbox, using evince, totem, baobab.(as of 3.14.1-2, 3.14.1-1, 3.14.1-1, well, earlier) Makes these programs near-useless.Jasper1984 (talk) 15:31, 8 December 2014 (UTC)

I believe this is not just about GNOME, but all GTK+ and Qt applications [1] [2]. Haven't read through the reports, but it appears to be some flaw in Xorg. Not much we can do about this, so unless you want to discuss a workaround this can be closed. -- Alad (talk) 19:50, 8 December 2014 (UTC)
Can you confirm this with another toolkit than GTK3 ? -- Alad (talk) 17:35, 10 January 2015 (UTC)

GNOME and fontconfig settings

Since there isn't a section dedicated to fonts in GNOME 3 I was thinking about writing one, but I put it here first:

GNOME doesn't use the dpi settings set by xorg server to scale fonts, instead it uses a fixed dpi of 96 that cannot be changed unlike previous versions:

/* As we cannot rely on the X server giving us good DPI information, and
 * that we don't want multi-monitor screens to have different DPIs (thus
 * different text sizes), we'll hard-code the value of the DPI
 * See also:

The gnome-settings-daemon plugin xsettings relies on this hardcoded value for some calculations and there is currently no way of changing it beside customizing the code in abs. The dimension of text can be tweaked changing the text-scaling-factor (1.0 by default), using gnome-tweak-tool or editing the following key in dconf-editor:


The xsettings plugins will also merge some Xft values in the X resources db overwriting values set in .Xresources od .Xdefaults files. The defaults are:

Xft.antialias:	1
Xft.dpi:	96
Xft.hinting:	1
Xft.hintstyle:	hintmedium
Xft.lcdfilter:	lcddefault
Xft.rgba:	none

Some of those values can be changed using dconf-editor (org.gnome.settings-daemon.plugins.xsettings) or gnome-tweak-tool. It is possible to change this values using xrdb -merge ~/.Xresources after gnome is started but gnome will still use its values internally so it is not a good idea.

It is a good idea to configure your fonts.conf in a way consistent with the gnome settings otherwise, at least on my laptop, fonts will looks weird in some gnome apps.

The dpi setting of the Xserver can be changed to 96 following this guide, this way it will be the same for all applications, the drawback is that fonts might look too small or too big in other application if the real DPI of your monitor differs too much from 96.

For and LCD monitor it is a good idea to activate the lcd filter setting the following keys in dconf-editor:

org.gnome.settings-daemon.plugins.xsettings.antialiasing rgba
org.gnome.settings-daemon.plugins.xsettings.rgba-order rgb, bgr, vrgb or vbgr (as your monitor requires)

Since the lcdfilter is not designed to work together with autohinting it is a good idea to disable it also in fonts.conf. It is also a good idea to use the same hinting value as in your font.conf, the default in gnome is medium:

org.gnome.settings-daemon.plugins.xsettings.hinting medium

This values in fonts.conf will match the gnome settings:

<match target="font">
 <edit mode="assign" name="rgba"><const>rgb</const></edit>
 <edit mode="assign" name="autohint"><bool>false</bool></edit>
 <edit mode="assign" name="hinting"><bool>true</bool></edit>
 <edit mode="assign" name="hintstyle"><const>hintmedium</const></edit>
 <edit mode="assign" name="antialias"><bool>true</bool></edit>
 <edit mode="assign" name="lcdfilter"><const>lcddefault</const></edit>

(to be finished, please comment or fix) —This unsigned comment is by Erm67 (talk) 23:58, 8 January 2012‎. Please sign your posts with ~~~~!

I think that info must be in Font configuration, linked from there if needed -- Kycok (talk) 10:57, 3 June 2014 (UTC)
Well, it is very GNOME specific and complex at the same time. I would vote for putting it into GNOME tips and crosslink it from GNOME#Fonts as well as from Font configuration. But first: Above contribution of Erm67 is a couple of years back. Does someone know whether the instructions still work like that? --Indigo (talk) 09:04, 10 November 2014 (UTC)
Update to note: GNOME tips was cleaned up removing GNOME content after I suggested above. It does not make sense to put these instructions there anymore. --Indigo (talk) 12:41, 15 January 2015 (UTC)

Natural scrolling

I can't get reverse natural scrolling on my trackpath to work (scroll with fingers in same direction as if it was a mouse wheel). I am happy to propose some text for the wiki if someone can tell me how to do it ... --Bronze (talk) 04:33, 26 February 2017 (UTC)

Is there not a natural scrolling setting under Settings -> Mouse & Touchpad that you can toggle? -- Chazza (talk) 09:57, 26 February 2017 (UTC)
i saw this with computers which have a keyboard with integrated touchpads like the logitech k400, and no mouse connected. not sure what makes gnome than display nothing ... --Soloturn (talk) 05:11, 1 April 2017 (UTC)

Getting traces of gnome-shell crashes

Gnome-shell uses javascript, which makes it hard to debug.

To enable debugging of extensions, it is necessary to

1) rebuild gjs with CXXFLAGS='-g -O0'

packages/gjs/trunk$ svn diff PKGBUILD 
--- PKGBUILD	(révision 300688)
+++ PKGBUILD	(copie de travail)
@@ -26,7 +26,8 @@
 build() {
   cd $pkgname
-  ./configure --prefix=/usr --disable-static --libexecdir=/usr/lib
+  export CXXFLAGS='-g -O0'
+  ./configure --prefix=/usr --disable-static --libexecdir=/usr/lib --enable-debug-symbols=-gdwarf-2
   sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

2) rebuild js38 with debug enabled:

packages/js38/trunk$ svn diff PKGBUILD 
--- PKGBUILD	(révision 300681)
+++ PKGBUILD	(copie de travail)
@@ -10,7 +10,7 @@
 depends=(nspr gcc-libs readline zlib icu libffi)
 makedepends=(python2 libffi zip)
+options=(!staticlibs debug)

Once the gjs and js38-debug packages are installed and gnome-shell restarted (Alt+F2 + r), whenever gnome-shell crashes the debug symbols will be available.

After the crash:

$ coredumpctl -1
TIME                            PID   UID   GID SIG COREFILE  EXE
Mon 2017-07-17 15:34:49 CEST  27368  1000  1000  11 present   /usr/bin/gnome-shell
$ coredumpctl gdb 27368
(gdb) bt
#0  0x00007fbc7b997945 in js::GCMethods<JSObject*>::needsPostBarrier(JSObject*) (v=0x7fbc0a9548c0) at /usr/include/mozjs-38/js/RootingAPI.h:663
#1  0x00007fbc7b997945 in JS::Heap<JSObject*>::set(JSObject*) (newPtr=0x0, this=0x254c260) at /usr/include/mozjs-38/js/RootingAPI.h:296
#2  0x00007fbc7b997945 in JS::Heap<JSObject*>::operator=(JSObject* const&) (p=<optimized out>, this=0x254c260) at /usr/include/mozjs-38/js/RootingAPI.h:266
#3  0x00007fbc7b997945 in GjsMaybeOwned<JSObject*>::reset() (this=0x254c250) at ./gjs/jsapi-util-root.h:267
#4  0x00007fbc7b997945 in closure_clear_idle(void*) (data=0x254c220) at gi/closure.cpp:133
#5  0x00007fbc79abd8c5 in g_main_context_dispatch () at /usr/lib/
#6  0x00007fbc79abdc88 in  () at /usr/lib/
#7  0x00007fbc79abdfa2 in g_main_loop_run () at /usr/lib/
#8  0x00007fbc7b27508c in meta_run () at /usr/lib/
#9  0x0000000000401ff7 in main ()

I think this might be useful to be added to a dedicated section or to another page so that users can easily contribute traces to the gnome team. Fthiery (talk) 13:59, 17 July 2017 (UTC)

+1. I suggest adding it to GNOME/Troubleshooting#Shell_freezes. It would be nice, if a respective expansion could also provide a corresponding gnome project link. --Indigo (talk) 12:12, 20 July 2017 (UTC)