如何在Evince全屏模式下隐藏工具栏?


13

首先,我要说我是Linux的新手,但我愿意尝试任何您可以想到的向导(不过最好是键盘快捷键)!

当我在全屏模式下使用Evince 3.10.3时,我看到了一个外观漂亮但令人讨厌的工具栏,它占据了顶部的部分屏幕空间...:

那个漂亮的工具栏正在妨碍我...

在Evince文档中,我看到“工具栏”部分显示“显示,隐藏或编辑工具栏”。当我转到页面时,仅看到工具栏相应功能的布局,但是没有提供有关如何隐藏工具栏的信息:

好的,看起来不错! 等等,提示与技巧在哪里?

如何在Evince版本3.10.3或包含与工具栏相似的设置的版本中隐藏工具栏?

PS有时工具栏会神奇地消失。我只想一种按需调用此行为的方法。谢谢!


您是否尝试过F5,即演示模式?没有工具栏
Sergiy Kolodyazhnyy 2015年

2
我尝试过F5,它确实删除了工具栏,但不幸的是,在演示模式下也禁用了缩放功能。我希望能够缩放到页面宽度。
cody.codes,2015年

在早期版本中也有类似的要求,除非没有任何解决方法。
clearkimura

1
当鼠标不在工具栏附近时,它会“神奇地消失”。当您使用Gnome时,可以使用Pixel Saver或Maximus两个扩展来隐藏大多数应用程序的标题栏,例如Chrome。另外,您使用的是什么主题:)
Wilf

Answers:


4

简短的答案是,你不能。

Evince 3.4.0(在12.04上)可以选择从菜单“ 视图”>“工具栏”中隐藏工具栏,然后从菜单中选择“ 全屏”,或者通过F11键将工具栏以全屏模式隐藏。

显然,此功能已从较新版本的Evince中删除,并且已在启动板邮件列表中报告为错误

也许新版本可能会解决此问题,但谁知道。

立即解决方法是:

  • 使用@zarnaik建议的窗口管理器
  • 使用其他PDF查看器,例如MuPDF等。

我在Xubuntu 14.04上使用了MuPDF,它似乎实现了您想要的:没有工具栏,并且可以全屏查看时缩放到任意宽度。


3

我遇到了与您完全相同的问题。我还没有能够成功地隐藏工具栏,虽然我想出了一个办法模仿的行为

我只是最大化视听窗口。然后使用键盘快捷键Alt+ Space打开窗口上下文菜单。

调整大小

然后z在菜单中选择分辨率(英语,可能因使用的语言而异)。进入调整大小模式后,您应该能够使用箭头键Up放大窗口。您只需将其拉长,直到菜单和工具栏都位于屏幕“外部”。

或者,您只需将窗口向下拖动一点,然后根据需要将其延长即可。然后将其拖回去。

evince可能会出现在您正在运行的任何底座或任务栏下,这可以通过将窗口层设置为来解决always on top

总在最前面

我不熟悉您使用的停靠栏/任务栏,因此结果可能会有所不同。让我知道是否适合您。(我将openbox与tint2扩展坞一起使用)


1
非常好的解决方法
Alexx Roche

1

我在各处都没有标题栏的情况下使用maximus。

我在辅助功能选项中使用放大镜解决了缩放问题。快捷键:Alt+ Scroll


1

在Ubuntu 14.04或16.04中,或者在上游/原始版本(Ubuntu未修改)中,都无法隐藏工具栏,尽管如果您不顾一切,可以修补源代码并重新编译。

在普通情况下,在全屏模式下,工具栏会自动隐藏,这在某些情况下会很有帮助(如果不够充分的话)(半智能行为永远不会完全满足您的期望,此外,将工具栏隐藏在不显示的位置非常方便)全屏模式-可以说节省屏幕空间特别重要)。

不幸的是,出于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

补丁

工作补丁由Reinis Danne提供(由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

应用以下修补程序(改编自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/

修补过的evice可以选择使用隐藏工具栏Ctrl+h。菜单栏不会被隐藏,可能不是您想要的。

隐藏菜单栏

除了上述补丁之外,您还需要添加:

gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (ev_window), !toolbar);

ev_window_view_cmd_toggle_toolbarin shell/ev-window.c和change 的定义的末尾:

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_visibilityshell/ev-window.c

安全

我还建议您/etc/apparmor.d/usr.local.bin.evince根据usr.bin.evince并订阅Ubuntu安全声明添加一个apparmor配置文件,因为您将不会收到针对evince版本的安全修复程序。或者,您可以考虑使用apt-src


为了便于应用,两个完整补丁都在这里:gist.github.com/aplaice/5b2b75c410ee32ad57335466713b75e8
aplaice

0

Ubuntu中的默认Document Viewer应用程序(evince)具有真正的全屏模式。在Evince工具栏中,选择“ 查看” -> 演示文稿。在演示模式下,屏幕上没有视觉上分散注意力的工具栏或滚动条。看起来好像是在全屏模式下查看图像,非常适合查看有时与可从iTunes或7digital下载的专辑捆绑在一起的.pdf数字手册。

要退出演示模式,请Esc按键或F11


1
但是问题是您可以在演示模式下使用完整宽度。角色看起来很小
Ashok Koyi

演示模式非常适合查看从iTunes或7digital下载的专辑随附的数字小册子。
karel

-1

您很容易将思维锁定在搜索“ PDF阅读器”上,而忘记了您很可能拥有浏览器,而Chrome和Firefox等浏览器具有相当不错的PDF阅读能力(选择剪切,复制/粘贴,添加书签,连续滚动) ...与MuPDF相比,MuPDF不仅可以将PDF显示为图像,而且在滚动时仍会损坏它),此外,您还希望获得清晰的全屏显示,而不会产生任何干扰。作为奖励,您可以使用浏览器功能,例如选择/右键单击,然后在Google中搜索...尝试一下。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.