Как скрыть панель инструментов в полноэкранном режиме Evince?

13

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

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

Эта красивая панель инструментов, которая встает у меня на пути ...

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

Хорошо, это выглядит хорошо! Подожди, где совет?

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

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

cody.codes
источник
Вы пробовали F5, который является режимом презентации? там нет панели инструментов
Сергей Колодяжный
2
Я пробовал F5, который удаляет панель инструментов, но, к сожалению, масштабирование отключено и в режиме презентации. Я хочу быть в состоянии увеличить до ширины страницы.
cody.codes
есть аналогичный пост спросил в более ранней версии , а также, за исключением без какого - либо обходного пути.
Clearkimura
1
Панель инструментов «волшебным образом исчезает», когда мышь не находится рядом с ней. Поскольку вы используете Gnome, вы можете использовать Pixel Saver или Maximus с двумя расширениями, чтобы скрыть заголовки большинства приложений, как это делает Chrome (вроде). Кроме того, какую тему вы используете :)
Уилф

Ответы:

4

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

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

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

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

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

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

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

clearkimura
источник
3

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

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

изменение размера

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

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

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

Всегда на вершине

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

zaruvi
источник
1
Очень хорошая работа
Alexx Roche
1

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

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

кристалл
источник
1

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

aplaice
источник
Для простоты применения оба полных патча здесь: gist.github.com/aplaice/5b2b75c410ee32ad57335466713b75e8
аплайс
0

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

Для выхода из режима презентации нажмите либо Escклавишу, либо F11.

Карел
источник
1
Но проблема в том, что вы можете иметь полную ширину в режиме презентации. Персонажи выглядят такими маленькими
Ашок Кои
Режим презентации выглядит хорошо для просмотра цифровых буклетов, которые идут с альбомами, загруженными из iTunes или 7digital.
Карел
-1

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

user10089632
источник