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

10

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

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

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

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

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

    
задан cody.codes 18.02.2015 в 21:01
источник

6 ответов

3

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

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

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

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

Непосредственные обходные пути будут либо:

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

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

    
ответ дан clearkimura 30.07.2015 в 08:52
2

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

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

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

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

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

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

    
ответ дан zaruvi 21.06.2015 в 23:25
1

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

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

    
ответ дан Crystal 04.11.2016 в 00:03
0

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

    
ответ дан user10089632 30.03.2018 в 11:47
0

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

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

    
ответ дан karel 30.03.2018 в 11:52
0

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

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

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

Отчеты об ошибках

Соответствующие ошибки (ubuntu-specific и upstream) находятся здесь:

Ссылка

Ссылка

Ссылка

Патчи

Рабочие исправления были предоставлены (Reinis Danne) в отчете об ошибке 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 .

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

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

Наконец, скомпилируйте со стандартным ./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 .

    
ответ дан aplaice 04.01.2018 в 21:00