Libreoffice calc 初始窗口大小问题

Oli*_*ick 5 libreoffice

我认为,由于鼠标操作有些笨拙,计算窗口缩小到了不可见的大小。这被存储为下一次打开文件的默认值。现在我打开的任何 calc 文件都不可见,我无法对它做任何事情。在哪里可以找到这种格式的存储位置,以便将其删除并恢复正常?

Ubuntu 19.04 ibreoffice-calc 1:6.2.5-0ubuntu0.19.04.1 X 和 Gnome

dan*_*zel 6

除了 DK Bose 的回答之外,如果您想手动操作文件:

~/.config/libreoffice/4/user/registrymodifications.xcu你是对的,当你关闭 Calc 的最后一个窗口时,窗口大小(和位置)就会被存储。

该道具称为ooSetupFactoryWindowAttributes,每种文档类型(绘图、演示文稿、电子表格、文本)都有一个(还有一个用于 StartModule)。

例如,以下行描述了 Impress 的 WindowAttributes:

<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.presentation.PresentationDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>56,29,1864,1051;53;56,29,1864,1051;</value></prop></item>
Run Code Online (Sandbox Code Playgroud)

该 prop 的值可以解释如下:

x-pos,y-pos,width,height;window-state;maximized-x-pos,maximized-y-pos,maximized-width,maximized-height;
Run Code Online (Sandbox Code Playgroud)

位置和大小都是像素,window-state是 7 位位掩码的十进制表示形式,其中,根据vcl 源代码(API 文档可在此处获取):

Normal         = 0x0001,
Minimized      = 0x0002,
Maximized      = 0x0004,
Rollup         = 0x0008,
MaximizedHorz  = 0x0010,
MaximizedVert  = 0x0020,
FullScreen     = 0x0040,
Run Code Online (Sandbox Code Playgroud)

53上例中的意思是:

53(dec) == 110101(bin) == Normal|Maximized|MaximizedHorz|MaximizedVert
Run Code Online (Sandbox Code Playgroud)

您可以手动更改这些值,但可能并非所有这些值都会受到尊重。在我的 Kubuntu 18.04 上,只有widthheightMinimizedMaximized[Horz|Vert]Rollup有任何作用。


DK *_*ose 1

LibreOffice 将有关窗口大小和位置的信息存储在~/.config/libreoffice/4/user/registrymodifications.xcu中,这是一个xml文件)中。

registrymodifications.xcu文件不适合普通用户访问。但是,如果您进入“工具”>“选项”>“高级”,您将看到一个标记为“打开专家配置”的按钮。单击此按钮将打开一个包含registrymodifications.xcu内容的窗口以及可能还有其他内容。如果您知道要查找什么,则可以识别存储上次使用的窗口大小和位置的行。

因为我不是专家,所以我走了另一条路。我使用xwininfo检查 LibreOffice Writer 窗口:

  Absolute upper-left X:  556
  Absolute upper-left Y:  337
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 747
  Height: 353
  Depth: 24
  Visual: 0x10e
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x5400002 (not installed)                        
  Bit Gravity State: NorthWestGravity                        
  Window Gravity State: NorthWestGravity                     
  Backing Store State: NotUseful                             
  Save Under State: no                                       
  Map State: IsViewable                                      
  Override Redirect State: no                                
  Corners:  +556+337  -63+337  -63-78  +556-78               
  -geometry 747x353-63-78                                    
Run Code Online (Sandbox Code Playgroud)

然后,我打开~/.config/libreoffice/4/user/registrymodifications.xcu副本并搜索包含(基于)的行。这让我只得到了一行: 747-geometry

<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>556,337,747,353;1;0,0,0,0;</value></prop></item>
Run Code Online (Sandbox Code Playgroud)

现在,我知道要在前面提到的“专家配置”窗口中搜索什么。该窗口有一个“帮助”按钮,提供一些文档,以防您想更深入地了解问题。

专家配置