Как скрыть панель инструментов в полноэкранном режиме Evince? - proUbuntu
11 голосов
/ 18 февраля 2015

Позвольте мне предвосхитить это, сказав, что я новичок в Linux, но я готов попробовать все, что вы можете создать в волшебниках (хотя желательно сочетание клавиш)!

Когда я использую Evince 3.10.3 в полноэкранном режиме, меня приветствует эта симпатичная, но немного раздражающая панель инструментов, которая занимает часть моего экрана наверху ...:

That Beautiful Toolbar That's Getting in My Way...

В документации Evince я вижу, что в разделе на панели инструментов написано Показать, скрыть или редактировать панель инструментов ; когда я перехожу на страницу, все, что я вижу, это расположение соответствующих функций панели инструментов, но не дается никакой информации о том, как я могу скрыть панель инструментов:

Okay, This Looks Good! Wait, Where's The Tip & Trick?!

Как скрыть панель инструментов в Evince версии 3.10.3 или версии, которая включает в себя подобную настройку с панелью инструментов?

P.S. Иногда панель инструментов волшебным образом исчезает. Я просто хочу способ вызвать это поведение по требованию. Спасибо!

Ответы [ 6 ]

4 голосов
/ 30 июля 2015

Короткий ответ: вы не можете.

Evince 3.4.0 (12.04) имел возможность скрыть панель инструментов из меню Вид> Панель инструментов , затем выбрать Полноэкранный из меню или через F11 Клавиша скрывает панель инструментов в полноэкранном режиме.

Очевидно, эта функция была удалена из более новой версии Evince, и о ней сообщалось как о ошибке на панели запуска , а также в списке рассылки .

Возможно, это можно исправить с помощью более новой версии, но кто знает.

Непосредственными обходными путями могут быть:

  • с помощью оконного менеджера, как предложено @ zarnaik
  • используйте другое средство просмотра PDF, например MuPDF и т. Д.

Я использовал MuPDF в Xubuntu 14.04, и кажется, что он достигает того, что вы хотите: нет панели инструментов и возможность масштабирования до любой ширины при просмотре в полноэкранном режиме.

2 голосов
/ 22 июня 2015

Я столкнулся с той же проблемой, что и вы. Я не смог успешно скрыть панель инструментов , хотя я нашел способ эмулировать поведение .

Я просто максимизирую окно показа. Затем используйте сочетания клавиш Alt + Пробел , чтобы открыть контекстное меню окна.

resize

Следуйте этому с помощью z , чтобы выбрать изменение размера в меню (на английском языке может отличаться в зависимости от используемого языка). В режиме изменения размера вы можете использовать клавишу со стрелкой Вверх , чтобы увеличить окно. Вы просто удлиняете его, пока и меню, и панель инструментов не окажутся «за пределами» экрана.

В качестве альтернативы, вы просто немного опускаете окно и удлиняете его по мере необходимости. затем перетащите его обратно.

Вполне возможно, что evince появится под любой док-станцией или панелью задач, которые вы используете, это можно исправить, установив для слоя окна значение always on top.

always on top

Я не знаком с используемой док-станцией / панелью задач, поэтому результаты могут отличаться. Дайте мне знать, если это сработает для вас. (Я использую openbox с док-станцией tint2)

1 голос
/ 04 января 2018

Скрытие панели инструментов невозможно в evince ни в Ubuntu 14.04 или 16.04, ни в upstream / vanilla evince (без изменений в Ubuntu), хотя, если вы в отчаянии, вы можете исправить источник и перекомпилировать.

В режиме полного просмотра в полноэкранном режиме панель инструментов автоматически скрывается, что несколько полезно, если не совсем достаточно (полуинтеллектуальное поведение никогда не выполняет именно то, что вам нужно, плюс было бы очень удобно иметь возможность скрывать панель инструментов также не в полноэкранном режиме - возможно, именно в этом случае особенно важна экономия места на экране).

К сожалению, для evince, упакованного в Ubuntu (14.04 и 16.04), даже это невозможно. Кажется, что (в противном случае очень полезные) специфичные для Ubuntu патчи, возвращающие нормальную строку меню и нормальное расположение панели инструментов, нарушают поведение автоматического скрытия, усугубляя проблему.

Сообщения об ошибках

Соответствующие ошибки (специфичные для Ubuntu и апстрима) здесь:

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

Патчи

Рабочие исправления были предоставлены (Рейнис Данн) в отчете об ошибках GNOME, но они не были приняты. Прямые ссылки на 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.

Примените следующий патч (адаптированный из предоставленных Reinis Danne, связанных выше и предоставленных здесь для полноты):

--- 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">&lt;Primary&gt;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 (и, в идеале, прочитать патч до / после его применения - это на самом деле вполне понятно, особенно в контексте).

Наконец, скомпилируйте evince со стандартным ./configure; make; sudo make install, чтобы установить пропатченный evince в /usr/local/. Для установки в другом месте, например, чтобы избежать необходимости использовать sudo, используйте ./configure --prefix=/full/path/to/alternative/location/.

Запатентованный evince будет иметь возможность скрыть панель инструментов с 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 и подписаться на Уведомления о безопасности Ubuntu , поскольку вы не будете получать исправления безопасности для своей версии evince. В качестве альтернативы вы можете использовать что-то вроде apt-src.

1 голос
/ 04 ноября 2016

Я везде использую максимус без заголовка.

Я решил проблему увеличения с лупой в опции доступности. Ярлык: Alt + Scroll

0 голосов
/ 30 марта 2018

Приложение просмотра документов по умолчанию (evince) в Ubuntu имеет настоящий полноэкранный режим . На панели инструментов Evince выберите Вид -> Презентация . В режиме презентации нет визуально отвлекающей панели инструментов или полосы прокрутки на экране. Это похоже на просмотр изображения в полноэкранном режиме, идеально подходящем для просмотра цифровых буклетов .pdf, которые иногда связаны с альбомами, которые можно загрузить из iTunes или 7digital.

Чтобы выйти из режима презентации, нажмите клавишу Esc или F11 .

0 голосов
/ 30 марта 2018

Легко запереть свое мышление для поиска «читателя PDF», забыв, что у вас, скорее всего, есть браузер, а браузеры, такие как Chrome и Firefox, имеют довольно хорошие возможности чтения PDF (выберите обрезку, копирование / вставку, добавление в закладки, закладки непрерывная прокрутка ... в отличие от MuPDF, который полезен только для отображения PDF в виде изображения и при этом прокручивает его при прокрутке) в дополнение к тому, что вы хотите, - это чистый полноэкранный режим без каких-либо отвлекающих факторов. В качестве бонуса вы можете использовать функции браузера, такие как выбор / правый клик, а затем поиск в Google ... Попробуйте.

...