Das Ausblenden der Symbolleiste ist weder in Ubuntu 14.04 oder 16.04 noch in Upstream / Vanilla Evince (von Ubuntu nicht geändert) möglich. Wenn Sie jedoch verzweifelt sind, können Sie die Quelle patchen und neu kompilieren.
In Vanilla Evince wird die Symbolleiste im Vollbildmodus automatisch ausgeblendet, was etwas hilfreich, wenn auch nicht völlig ausreichend ist (halbintelligentes Verhalten macht nie genau das, was Sie wünschen, und es wäre sehr praktisch, die Symbolleiste nicht ausblenden zu können auch im Vollbildmodus - wahrscheinlich ist dann die Einsparung von Bildschirmplatz besonders wichtig).
Leider ist für evince wie in Ubuntu (14.04 und 16.04) verpackt, auch das nicht möglich. Es scheint, dass die (ansonsten sehr nützlichen) Ubuntu-spezifischen Patches, die eine normale Menüleiste und eine normale Position der Symbolleiste zurückgeben, das Verhalten beim automatischen Ausblenden unterbrechen und das Problem verschlimmern.
Fehlerberichte
Die relevanten Fehler (Ubuntu-spezifisch und Upstream) sind hier:
https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1522527
https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1409291
https://bugzilla.gnome.org/show_bug.cgi?id=714996
Patches
Arbeitspatches wurden (von Reinis Danne) im GNOME-Fehlerbericht bereitgestellt, aber nicht akzeptiert. Direkte Links für 3.12 , den zeitgenössischen Master-Zweig und 3.14 .
Glücklicherweise können diese Patches weiterhin manuell angewendet werden (Kopieren und Einfügen des Codes), um 3.18 zu demonstrieren, wie in Ubuntu 16.04 zu finden. Das direkte Anwenden mit patch
scheint nicht zu funktionieren, wahrscheinlich aufgrund geringfügiger Änderungen im umgebenden Code.
So erhalten Sie die Quelle:
apt-get source evince
cd evince-3.18.2/
Wenn dies nicht funktioniert, kommentieren Sie die deb-src
Zeilen aus /etc/apt/sources.list
.
Wenden Sie den folgenden Patch an (angepasst an die von Reinis Danne bereitgestellten, oben verlinkten und hier der Vollständigkeit halber bereitgestellten):
--- a/shell/ev-application.c 2018-01-02 23:00:00.502095551 +0100
+++ b/shell/ev-application.c 2018-01-03 23:15:00.713553169 +0100
@@ -1059,9 +1059,24 @@
}
static void
+app_toggle_toolbar_cb (GSimpleAction *action,
+ GVariant *parameter,
+ gpointer user_data)
+{
+ EvApplication *application = user_data;
+ EvWindow *window = EV_WINDOW (gtk_application_get_active_window (GTK_APPLICATION (application)));
+ GActionMap *action_map = G_ACTION_MAP (window);
+ GAction *gaction = g_action_map_lookup_action (action_map, "toggle-toolbar");
+
+ g_action_activate (gaction, NULL);
+}
+
+
+static void
ev_application_startup (GApplication *gapplication)
{
const GActionEntry app_menu_actions[] = {
+ { "toggle-toolbar", app_toggle_toolbar_cb, NULL, NULL, NULL },
{ "new", app_new_cb, NULL, NULL, NULL },
{ "help", app_help_cb, NULL, NULL, NULL },
{ "about", app_about_cb, NULL, NULL, NULL }
@@ -1095,6 +1110,7 @@
"win.caret-navigation", "F7", NULL,
"win.zoom-in", "plus", "<Ctrl>plus", "KP_Add", "<Ctrl>KP_Add", "equal", "<Ctrl>equal", NULL,
"win.zoom-out", "minus", "<Ctrl>minus", "KP_Subtract", "<Ctrl>KP_Subtract", NULL,
+ "win.toggle-toolbar", "<Ctrl>H", NULL,
"win.show-side-pane", "F9", NULL,
"win.fullscreen", "F11", NULL,
"win.presentation", "F5", NULL,
--- a/shell/ev-window.c 2018-01-02 23:00:00.502095551 +0100
+++ b/shell/ev-window.c 2018-01-02 23:14:36.995706943 +0100
@@ -4907,6 +4907,27 @@
}
static void
+ev_window_view_cmd_toggle_toolbar (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ EvWindow *ev_window = user_data;
+ EvWindowPrivate *priv = ev_window->priv;
+
+ gboolean toolbar;
+ gboolean presentation;
+
+ presentation = EV_WINDOW_IS_PRESENTATION (ev_window);
+
+ toolbar = ((priv->chrome & EV_CHROME_TOOLBAR) != 0 ||
+ (priv->chrome & EV_CHROME_RAISE_TOOLBAR) != 0) && !presentation;
+
+ update_chrome_flag (ev_window, EV_CHROME_TOOLBAR, !toolbar);
+
+ set_widget_visibility (priv->toolbar, !toolbar);
+}
+
+static void
ev_window_view_cmd_toggle_sidebar (GSimpleAction *action,
GVariant *state,
gpointer user_data)
@@ -5697,6 +5718,7 @@
{ "continuous", NULL, NULL, "true", ev_window_cmd_continuous },
{ "dual-page", NULL, NULL, "false", ev_window_cmd_dual },
{ "dual-odd-left", NULL, NULL, "false", ev_window_cmd_dual_odd_pages_left },
+ { "toggle-toolbar", NULL, NULL, "true", ev_window_view_cmd_toggle_toolbar },
{ "show-side-pane", NULL, NULL, "false", ev_window_view_cmd_toggle_sidebar },
{ "inverted-colors", NULL, NULL, "false", ev_window_cmd_view_inverted_colors },
{ "fullscreen", NULL, NULL, "false", ev_window_cmd_view_fullscreen },
--- a/shell/evince-menus.ui 2018-01-02 23:00:00.502095551 +0100
+++ b/shell/evince-menus.ui 2018-01-03 23:16:02.969635772 +0100
@@ -21,6 +21,12 @@
<menu id="appmenu">
<section>
<item>
+ <attribute name="label" translatable="yes">_Toggle toolbar</attribute>
+ <attribute name="action">app.toggle-toolbar</attribute>
+ <attribute name="accel"><Primary>H</attribute>
+ </item>
+ </section> <section>
+ <item>
<attribute name="label" translatable="yes">_New Window</attribute>
<attribute name="action">app.new</attribute>
</item>
@@ -41,6 +47,10 @@
<menu id="view-menu">
<section>
<item>
+ <attribute name="label" translatable="yes">_Toolbar</attribute>
+ <attribute name="action">win.toggle-toolbar</attribute>
+ </item>
+ <item>
<attribute name="label" translatable="yes">_Continuous</attribute>
<attribute name="action">win.continuous</attribute>
</item>
mit patch -p1 < name_of_patch_file.patch
oder mit quilt
(und lesen Sie den Patch idealerweise vor / nach dem Anwenden - er ist tatsächlich ziemlich verständlich, insbesondere im Kontext).
Kompilieren Sie schließlich evince mit dem Standard, ./configure; make; sudo make install
auf dem das gepatchte evince installiert werden soll /usr/local/
. So installieren Sie an anderer Stelle, zum Beispiel zu vermeiden , verwenden zu müssen sudo
, verwenden ./configure --prefix=/full/path/to/alternative/location/
.
Der gepatchte Beweis hat die Möglichkeit, die Symbolleiste mit auszublenden Ctrl+h
. Die Menüleiste wird nicht ausgeblendet, was möglicherweise das ist, was Sie wollen oder nicht.
Menüleiste ausblenden
Zusätzlich zu dem obigen Patch müssten Sie Folgendes hinzufügen:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (ev_window), !toolbar);
bis zum Ende der Definition von ev_window_view_cmd_toggle_toolbar
in shell/ev-window.c
und ändern:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation);
zu:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation && toolbar);
in der Definition von update_chrome_visibility
, auch in shell/ev-window.c
.
Sicherheit
Ich würde auch empfehlen, ein /etc/apparmor.d/usr.local.bin.evince
Apparmor-Profil hinzuzufügen, das auf usr.bin.evince
den Ubuntu-Sicherheitshinweisen basiert und diese abonniert , da Sie keine Sicherheitsupdates für Ihre Version von evince erhalten. Alternativ könnten Sie in Betracht ziehen, so etwas wie zu verwenden apt-src
.