टूलबार को छुपाना उबंटू 14.04 या 16.04 में या तो अपस्ट्रीम / वैनिला इवेंस (उबुन्टु द्वारा अनमॉडिफ़ाइड) में विकसित करना संभव नहीं है, हालांकि यदि आप हताश हैं, तो आप स्रोत को पैच कर सकते हैं और फिर से जोड़ सकते हैं।
फुल-स्क्रीन मोड में, वेनिला इवेंस में, टूलबार ऑटोहाइड्स, जो कुछ हद तक मददगार है, अगर पूरी तरह से पर्याप्त नहीं है (अर्ध-बुद्धिमान व्यवहार कभी भी आपकी इच्छा के अनुरूप नहीं है, तो यह टूलबार को छिपाने में सक्षम होने के लिए बहुत सुविधाजनक होगा। पूर्ण स्क्रीन मोड के रूप में अच्छी तरह से - यकीन है कि जब स्क्रीन अंतरिक्ष बचत विशेष रूप से महत्वपूर्ण हैं)।
दुर्भाग्य से, उबंटू (14.04 और 16.04) में पैक के रूप में विकसित करने के लिए, यह भी संभव नहीं है। ऐसा लगता है कि (अन्यथा बहुत उपयोगी) उबंटू-विशिष्ट पैच एक सामान्य मेनू-बार और टूलबार के सामान्य स्थान पर लौटते हैं, ऑटो-हाइडिंग व्यवहार को तोड़ते हैं, समस्या को तेज करते हैं।
दोष रिपोर्ट
प्रासंगिक बग (उबंटू-विशिष्ट और अपस्ट्रीम) यहां हैं:
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
पैच
गनोम बग रिपोर्ट में काम करने वाले पैच (रिइनस डेन्ने द्वारा) प्रदान किए गए, लेकिन उन्हें स्वीकार नहीं किया गया। 3.12 , समकालीन मास्टर शाखा और 3.14 के लिए सीधे लिंक ।
सौभाग्य से, इन पैच को 3.18 को फिर से स्थापित करने के लिए मैन्युअल रूप से कोड (कॉपी-पेस्ट करना) लागू किया जा सकता है, जैसा कि Ubuntu 16.04 में पाया गया है। उनके साथ सीधे आवेदन patch
करना काम नहीं करता है, शायद आसपास के कोड में मामूली बदलाव के कारण।
स्रोत पाने के लिए:
apt-get source evince
cd evince-3.18.2/
यदि यह काम नहीं करता है, तो deb-src
लाइनों को अनइंस्टॉल करें /etc/apt/sources.list
।
निम्नलिखित पैच लागू करें (रिइन डैन द्वारा प्रदान किए गए लोगों से अनुकूलित, ऊपर से जुड़ा हुआ है और पूर्णता के लिए यहां प्रदान किया गया है):
--- 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>
के साथ patch -p1 < name_of_patch_file.patch
या उपयोग quilt
(और आदर्श रूप से पैच को पढ़ने से पहले / इसे लागू करने के बाद - यह वास्तव में काफी समझ में आता है, विशेष रूप से संदर्भ में)।
अंत में, ./configure; make; sudo make install
पैच के साथ स्थापित करने के लिए मानक को संकलित करने के लिए ईविल संकलित करें /usr/local/
। कहीं और स्थापित करने के लिए, उदाहरण के लिए sudo
, उपयोग करने से बचने के लिए ./configure --prefix=/full/path/to/alternative/location/
।
पैच किए गए अवतार में टूलबार को छिपाने का विकल्प होगा Ctrl+h
। मेनू-बार छिपाया नहीं जाएगा, जो आप चाहते हैं या नहीं हो सकता है।
मेनू-बार को छिपाते हुए
उपरोक्त पैच के अतिरिक्त, आपको जोड़ने की आवश्यकता होगी:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (ev_window), !toolbar);
ev_window_view_cmd_toggle_toolbar
में shell/ev-window.c
और परिवर्तन की परिभाषा के अंत तक :
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation);
सेवा:
gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation && toolbar);
की परिभाषा में update_chrome_visibility
भी है shell/ev-window.c
।
सुरक्षा
मैं भी एक जोड़ने की सलाह देते चाहते हैं /etc/apparmor.d/usr.local.bin.evince
के आधार पर AppArmor प्रोफाइल usr.bin.evince
और की सदस्यता उबंटू सुरक्षा नोटिस , जब से तुम जताना के अपने संस्करण के सुरक्षा सुधारों प्राप्त नहीं किया जाएगा। वैकल्पिक रूप से, आप कुछ का उपयोग करने पर विचार कर सकते हैं apt-src
।