liboffice 全屏禁用工具栏
目录
方法五:使用 LibreOffice 的专家配置模式
修改字符串替换,测试ok
修改内容:
/home/yklele/.config/libreoffice/4/user/registrymodifications.xcu
方法五:使用 LibreOffice 的专家配置模式
-
打开 LibreOffice
-
进入工具 → 选项 → LibreOffice → 高级
-
点击"打开专家配置"
-
搜索以下键并设置为
false
:-
/org.openoffice.Office.UI/FullScreenBar/States/Visible
-
/org.openoffice.Office.UI/FullScreenBar/States/ContextActive
-
/org.openoffice.Office.UI/FullScreenBar/States/HideFromToolbarMenu
-
/org.openoffice.Office.UI/FullScreenBar/States/NoClose
-
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="ContextActive" oor:op="fuse"><value>true</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="ContextSensitive" oor:op="fuse"><value>true</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="DockPos" oor:op="fuse"><value>2147483647,2147483647</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Docked" oor:op="fuse"><value>false</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="DockingArea" oor:op="fuse"><value>0</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="HideFromToolbarMenu" oor:op="fuse"><value>true</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Locked" oor:op="fuse"><value>true</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="NoClose" oor:op="fuse"><value>true</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Pos" oor:op="fuse"><value>30,30</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Size" oor:op="fuse"><value>0,0</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="SoftClose" oor:op="fuse"><value>false</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Style" oor:op="fuse"><value>2</value></prop></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']/UIName"><value xml:lang="zh-CN">全屏</value></item>
<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/fullscreenbar']"><prop oor:name="Visible" oor:op="fuse"><value>true</value></prop></item>
/home/yklele/.config/libreoffice/4/user/registrymodifications.xcu
修改字符串替换,测试ok
import shutildef disable_fullscreen_toolbar_string_replace(file_path,save_path):"""使用字符串替换方法禁用全屏工具栏"""try:# 创建备份backup_path = file_path + '.backup'shutil.copy2(file_path, backup_path)print(f"已创建备份文件: {backup_path}")# 读取文件内容with open(file_path, 'r', encoding='utf-8') as f:content = f.read()# 查找并替换全屏工具栏的Visible配置modified = Falselines = content.split('\n')for i, line in enumerate(lines):if 'fullscreenbar' in line.lower() and 'visible' in line.lower() and '<value>true</value>' in line:lines[i] = line.replace('<value>true</value>', '<value>false</value>')modified = Trueprint(f"已修改第 {i + 1} 行")# 也可以修改其他属性elif 'fullscreenbar' in line.lower() and any(attr in line.lower() for attr in ['contextsensitive', 'contextactive','noclose']):if '<value>true</value>' in line:lines[i] = line.replace('<value>true</value>', '<value>false</value>')modified = Trueprint(f"已修改第 {i + 1} 行")if modified:# 写回文件with open(save_path, 'w', encoding='utf-8') as f:f.write('\n'.join(lines))print("全屏工具栏禁用成功!")return Trueelse:print("没有找到需要修改的全屏工具栏配置")return Falseexcept Exception as e:print(f"禁用全屏工具栏时出错: {e}")return Falsefile_path = r"B:\360MoveData\Users\Administrator\Desktop\tmp\BinglianBiZhua-main\registrymodifications.xcu"save_path="registrymodifications.xcu"
disable_fullscreen_toolbar_string_replace(file_path,save_path)# 使用示例# disable_fullscreen_toolbar_corrected(file_path,save_path)
修改内容:
import xml.etree.ElementTree as ET
def disable_fullscreen_toolbar(file_path):"""专门禁用全屏工具栏"""try:# 创建备份backup_path = file_path + '.backup'import shutilshutil.copy2(file_path, backup_path)print(f"已创建备份文件: {backup_path}")tree = ET.parse(file_path)root = tree.getroot()ns = {'oor': 'http://openoffice.org/2001/registry'}modified = False# 查找全屏工具栏的Visible配置for item in root.findall('.//item'):path = item.get('{%s}path' % ns['oor'])if path and 'fullscreenbar' in path.lower():prop = item.find('prop')if prop is not None:name = prop.get('{%s}name' % ns['oor'])if name in ["ContextSensitive","ContextActive","Visible"]:value_elem = prop.find('value')if value_elem is not None:if value_elem.text == 'true':value_elem.text = 'false'modified = Trueprint(f"已禁用全屏工具栏: {path}")else:print(f"全屏工具栏已经是禁用状态: {path}")if modified:xml_str = ET.tostring(root, encoding='utf-8', method='xml').decode()xml_str = '<?xml version="1.0" encoding="UTF-8"?>\n' + xml_strwith open(file_path, 'w', encoding='utf-8') as f:f.write(xml_str)print("全屏工具栏禁用成功!")return Trueelse:print("全屏工具栏已经是禁用状态或未找到")return Falseexcept Exception as e:print(f"禁用全屏工具栏时出错: {e}")return Falsefile_path = r"registrymodifications.xcu"
# 使用特定功能
disable_fullscreen_toolbar(file_path)
添加一下内容:
<?xml version="1.0" encoding="UTF-8"?>
<oor:items xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><item oor:path="/org.openoffice.Office.UI/FullScreenBar/States"><prop oor:name="Visible" oor:type="xs:boolean"><value>false</value></prop><prop oor:name="ContextActive" oor:type="xs:boolean"><value>false</value></prop><prop oor:name="HideFromToolbarMenu" oor:type="xs:boolean"><value>false</value></prop><prop oor:name="NoClose" oor:type="xs:boolean"><value>false</value></prop></item>
</oor:items>