Araç çubuğunu gizlemek ne Ubuntu 14.04 ya da 16.04'te ne de yukarı akış / vanilya evince'de (Ubuntu tarafından değiştirilmemiş) uyarılmakla mümkün değildir, ancak çaresizseniz, kaynağı yamalayabilir ve yeniden derleyebilirsiniz.
Vanilyada, tam ekran modunda, tamamen yeterli değilse, biraz yardımcı olan araç çubuğu otomatik olarak gizlenir (yarı akıllı davranış asla tam olarak istediğinizi yapmaz, ayrıca araç çubuğunu gizlememek çok uygun olacaktır tam ekran modu da - muhtemelen ekran alanı tasarrufu özellikle önemlidir).
Ne yazık ki, Ubuntu'da (14.04 ve 16.04) paketlendiği gibi ortaya çıkarmak için, bu bile mümkün değildir. Normal bir menü çubuğu ve araç çubuğunun normal konumunu döndüren (aksi halde çok yararlı) Ubuntu'ya özgü yamalar, sorunu daha da arttırarak otomatik gizleme davranışını kırıyor gibi görünüyor.
Hata raporları
İlgili hatalar (ubuntu'ya özgü ve yukarı akış) burada:
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
Yamalar
GNOME hata raporunda çalışma yamaları (Reinis Danne tarafından) sağlandı, ancak kabul edilmedi. 3.12 , çağdaş ana dal ve 3.14 için doğrudan bağlantılar .
Neyse ki, bu yamalar Ubuntu 16.04'te bulunan 3.18'i ortadan kaldırmak için yine de manuel olarak uygulanabilir (kodu kopyalayarak yapıştırma). Bunları doğrudan ile uygulamak patch
, muhtemelen çevredeki koddaki küçük değişiklikler nedeniyle işe yaramaz gibi görünüyor.
Kaynağı almak için:
apt-get source evince
cd evince-3.18.2/
Bu, yorumsuz çalışmazsa deb-src
satırları /etc/apt/sources.list
.
Aşağıdaki yamayı uygulayın (yukarıda bağlanan ve tamlık için sağlanan Reinis Danne tarafından sağlananlardan uyarlanmıştır):
--- 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>
ile patch -p1 < name_of_patch_file.patch
ya da kullanarak quilt
(ve yamayı uygulamadan önce / sonra ideal olarak okuyun - özellikle bağlamda oldukça anlaşılır).
Son olarak, ./configure; make; sudo make install
yamalanmış evince yüklemek için standart ile evince derleyin /usr/local/
. Başka bir yere kurmak için, örneğin kullanmak zorunda kalmamak için sudo
, kullanın ./configure --prefix=/full/path/to/alternative/location/
.
Yamalı evince, araç çubuğunu gizleme seçeneğine sahip olacaktır Ctrl+h
. Menü çubuğu olacak değil ya da istediğiniz gibi olmayabilir olabilir, gizlenebilir.
Menü çubuğunu gizleme
Yukarıdaki yamaya ek olarak, şunları eklemeniz gerekir:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (ev_window), !toolbar);
ev_window_view_cmd_toggle_toolbar
in shell/ev-window.c
ve change tanımının sonuna kadar :
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation);
için:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation && toolbar);
tanımında update_chrome_visibility
aynı zamanda, shell/ev-window.c
.
Güvenlik
Ayrıca, /etc/apparmor.d/usr.local.bin.evince
evince sürümünüze güvenlik düzeltmeleri almayacağınız usr.bin.evince
için Ubuntu güvenlik bildirimlerine dayalı bir profil profili eklemenize ve Ubuntu güvenlik bildirimlerine abone olmanızı da öneririm . Alternatif olarak, benzer bir şey kullanmayı düşünebilirsiniz apt-src
.