Jak ukryć pasek narzędzi w trybie pełnoekranowym Evince?

13

Pozwolę sobie powiedzieć, że jestem nowy w Linuksie, ale jestem gotów spróbować wszystkiego, co potrafią wyczarować czarodzieje (najlepiej skrót klawiaturowy)!

Kiedy używam Evince 3.10.3 w trybie pełnoekranowym, witam się z tym ładnym, ale na wpół irytującym paskiem narzędzi, który zajmuje część mojej nieruchomości na ekranie na górze ...:

Ten piękny pasek narzędzi, który mi przeszkadza ...

W dokumentacji Evince widzę, że sekcja na pasku narzędzi mówi, aby pokazać, ukryć lub edytować pasek narzędzi ; kiedy wchodzę na stronę, widzę jedynie układ odpowiednich funkcji paska narzędzi, ale nie podaje się żadnych informacji na temat tego, jak mogę ukryć pasek narzędzi:

Dobra, to dobrze wygląda! Czekaj, gdzie jest wskazówka i sztuczka ?!

Jak ukryć pasek narzędzi w Evince w wersji 3.10.3 lub wersji zawierającej tę podobną konfigurację z paskiem narzędzi?

PS Czasami pasek narzędzi magicznie zanika. Chcę tylko sposób, aby wywołać to zachowanie na żądanie. Dzięki!

cody.codes
źródło
próbowałeś F5, który jest trybem prezentacji? nie ma paska narzędzi
Sergiy Kolodyazhnyy
2
Próbowałem F5, który usuwa pasek narzędzi, ale niestety powiększanie jest również wyłączone w trybie prezentacji. Chcę mieć możliwość powiększenia do szerokości strony.
cody.codes
jest podobna po zadawane w starszej wersji, jak również, z wyjątkiem bez obejścia.
clearkimura
1
Pasek narzędzi „magicznie zanika”, gdy mysz nie znajduje się w pobliżu. Gdy używasz Gnome, możesz użyć dwóch rozszerzeń Pixel Saver lub Maximus, aby ukryć paski tytułowe większości aplikacji, podobnie jak Chrome (w pewnym sensie). Jakiego motywu używasz :)
Wilf,

Odpowiedzi:

4

Krótka odpowiedź brzmi: nie możesz.

Evince 3.4.0 (w wersji 12.04) miał opcję ukrycia paska narzędzi z menu Widok> Pasek narzędzi, a następnie wybierz Pełny ekran z menu lub F11klawiszem ukryje pasek narzędzi w trybie pełnoekranowym.

Najwyraźniej ta funkcja została usunięta z nowszej wersji Evince i została zgłoszona jako błąd na starterze oraz na liście mailingowej .

Być może można to naprawić w nowszej wersji, ale kto wie.

Natychmiastowe obejścia byłyby albo:

  • używając menedżera okien, zgodnie z sugestią @zarnaik
  • użyj innej przeglądarki plików PDF, takiej jak MuPDF itp.

Użyłem MuPDF na Xubuntu 14.04 i wydaje się, że osiąga to, czego chcesz: brak paska narzędzi i możliwość powiększania do dowolnej szerokości, podczas oglądania na pełnym ekranie.

clearkimura
źródło
3

Natrafiłem na dokładnie ten sam problem, co ty. Nie udało mi się z powodzeniem ukryć paska narzędzi , choć wymyśliłem sposób naśladowania tego zachowania .

Po prostu maksymalizuję okno evince. Następnie za pomocą skrótów klawiaturowych Alt+ Spaceotwórz menu kontekstowe okna.

Zmień rozmiar

Postępuj zgodnie z tym, zaby wybrać rozmiar w menu (w języku angielskim mogą się różnić w zależności od używanego języka). W trybie zmiany rozmiaru powinieneś być w stanie użyć klawisza strzałki, Upaby powiększyć okno. Po prostu go wydłużaj, dopóki menu i pasek narzędzi nie znajdą się na zewnątrz ekranu.

Możesz też po prostu przeciągnąć okno w dół i wydłużyć je w razie potrzeby. następnie przeciągnij go z powrotem.

Możliwe, że evince pojawia się pod dowolnym uruchomionym dokiem lub paskiem zadań, można to naprawić, ustawiając warstwę okna na always on top.

Zawsze na górze

Nie znam używanego paska dokowania / zadania, więc wyniki mogą się różnić. Daj mi znać, czy ci się uda. (Używam openbox z dokiem tint2)

zaruvi
źródło
1
Bardzo fajna robota
Alexx Roche,
1

Wszędzie używam maximusa bez paska tytułu.

Rozwiązałem problem powiększenia z lupą w opcji ułatwień dostępu. Skrót: Alt+ Przewiń

Kryształ
źródło
1

Ukrywanie paska narzędzi nie jest możliwe w evince ani w Ubuntu 14.04 ani 16.04, ani w upstream / vanilla evince (niezmodyfikowany przez Ubuntu), chociaż jeśli jesteś zdesperowany, możesz załatać źródło i ponownie skompilować.

W Vanilla Evince, w trybie pełnoekranowym, pasek narzędzi automatycznie ukrywa się, co jest nieco pomocne, jeśli nie całkowicie wystarczające (pół-inteligentne zachowanie nigdy nie robi dokładnie tego, czego pragniesz, a bardzo wygodnie byłoby móc ukryć pasek narzędzi poza tryb pełnoekranowy - prawdopodobnie wtedy szczególnie ważne są oszczędności miejsca na ekranie).

Niestety, dla evince zapakowanej w Ubuntu (14.04 i 16.04), nawet to nie jest możliwe. Wydaje się, że (poza tym bardzo przydatne) łaty specyficzne dla Ubuntu zwracające normalny pasek menu i normalne położenie paska narzędzi, przerywają zachowanie automatycznego ukrywania, pogarszając problem.

Zgłaszanie błędów

Odpowiednie błędy (specyficzne dla Ubuntu i upstream) są tutaj:

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

Łatki

Poprawki robocze zostały dostarczone (przez Reinis Danne) w raporcie błędów GNOME, ale nie zostały zaakceptowane. Bezpośrednie linki do 3.12 , współczesnej gałęzi master i 3.14 .

Na szczęście łatki te mogą być nadal ręcznie stosowane (kopiowanie i wklejanie kodu), aby ewince 3.18, jak znaleźć w Ubuntu 16.04. Zastosowanie ich bezpośrednio z patchwydaje się nie działać, prawdopodobnie z powodu niewielkich zmian w otaczającym kodzie.

Aby uzyskać źródło:

apt-get source evince
cd evince-3.18.2/

Jeśli to nie zadziała, usuń komentarz z deb-srclinii /etc/apt/sources.list.

Zastosuj następującą łatkę (dostosowaną z dostarczonych przez Reinis Danne, połączoną powyżej i podaną tutaj dla kompletności):

--- 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>

z patch -p1 < name_of_patch_file.patchlub przy użyciu quilt(i idealnie przeczytaj łatkę przed / po nałożeniu - jest to właściwie dość zrozumiałe, szczególnie w kontekście).

Na koniec skompiluj evince ze standardem, ./configure; make; sudo make installaby zainstalować łatkę evince /usr/local/. Aby zainstalować gdzie indziej, na przykład aby uniknąć konieczności używania sudo, użyj ./configure --prefix=/full/path/to/alternative/location/.

Połatany evince będzie mógł ukryć pasek narzędzi Ctrl+h. Pasek menu nie będzie ukryty, co może być lub nie być tym, czego chcesz.

Ukrywanie paska menu

Oprócz powyższej poprawki należy dodać:

gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (ev_window), !toolbar);

do końca definicji ev_window_view_cmd_toggle_toolbarw shell/ev-window.ci zmień:

gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation);

do:

gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (window), !presentation && toolbar);

w definicji update_chrome_visibilityrównież w shell/ev-window.c.

Bezpieczeństwo

Poleciłbym również dodanie /etc/apparmor.d/usr.local.bin.evinceprofilu Apparmor na podstawie informacji o bezpieczeństwie Ubuntuusr.bin.evince i subskrybowanie ich , ponieważ nie będziesz otrzymywać poprawek bezpieczeństwa do swojej wersji evince. Możesz też rozważyć użycie czegoś takiego .apt-src

aplazja
źródło
W celu ułatwienia aplikacji oba pełne poprawki są dostępne tutaj: gist.github.com/aplaice/5b2b75c410ee32ad57335466713b75e8
aplaice
0

Domyślna aplikacja Document Viewer (evince) w Ubuntu ma prawdziwy tryb pełnoekranowy . Z paska narzędzi Evince wybierz Widok -> Prezentacja . W trybie prezentacji na ekranie nie ma rozpraszającego wzrok paska narzędzi ani paska przewijania. Wygląda to jak przeglądanie obrazu w trybie pełnoekranowym, idealnego do przeglądania cyfrowych broszur .pdf, które czasami są dołączane do albumów, które można pobrać z iTunes lub 7digital.

Aby wyjść z trybu prezentacji, naciśnij Escklawisz lub F11.

Karel
źródło
1
Problem w tym, że możesz mieć pełną szerokość w trybie prezentacji. Postacie wyglądają na takie małe
Ashok Koyi
Tryb prezentacji wygląda ładnie do przeglądania cyfrowych broszur dostarczanych z albumami pobranymi z iTunes lub 7digital.
karel
-1

Łatwo jest skupić się na wyszukiwaniu „czytnika plików PDF”, zapominając, że najprawdopodobniej masz przeglądarkę, a przeglądarki takie jak Chrome i Firefox mają raczej dobre umiejętności czytania plików PDF (wybierz wycinanie, kopiowanie / przeszłość, dodawanie zakładek, ciągłe przewijanie ... w przeciwieństwie do MuPDF, który po prostu wyświetla plik PDF jako obraz i nadal psuje go podczas przewijania) oprócz tego, czego chcesz, to czysty, pełny ekran bez żadnych zakłóceń. Jako bonus możesz użyć funkcji przeglądarki, takich jak wybranie / kliknięcie prawym przyciskiem myszy, a następnie wyszukiwanie w Google w celu ... Wypróbuj.

użytkownik10089632
źródło