From 0415db30c6aaec0618b5f93a1692c6f5c38e3e5f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 16 Feb 2020 19:24:16 +0100 Subject: [PATCH] WindowServer: Move configuration file into /etc/WindowServer This is in preparation for running WindowServer as a separate user. --- Applications/DisplayProperties/DisplayProperties.cpp | 2 +- .../WindowServer/WindowServer.ini} | 0 Servers/WindowServer/AppletManager.cpp | 2 +- Servers/WindowServer/WindowManager.cpp | 4 ++-- Servers/WindowServer/main.cpp | 7 ++----- 5 files changed, 6 insertions(+), 9 deletions(-) rename Base/{home/anon/WindowManager.ini => etc/WindowServer/WindowServer.ini} (100%) diff --git a/Applications/DisplayProperties/DisplayProperties.cpp b/Applications/DisplayProperties/DisplayProperties.cpp index 3343351939..53e3aef994 100644 --- a/Applications/DisplayProperties/DisplayProperties.cpp +++ b/Applications/DisplayProperties/DisplayProperties.cpp @@ -47,7 +47,7 @@ #include DisplayPropertiesWidget::DisplayPropertiesWidget() - : m_wm_config(Core::ConfigFile::get_for_app("WindowManager")) + : m_wm_config(Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini")) { create_resolution_list(); create_wallpaper_list(); diff --git a/Base/home/anon/WindowManager.ini b/Base/etc/WindowServer/WindowServer.ini similarity index 100% rename from Base/home/anon/WindowManager.ini rename to Base/etc/WindowServer/WindowServer.ini diff --git a/Servers/WindowServer/AppletManager.cpp b/Servers/WindowServer/AppletManager.cpp index 5c404f692a..13ca6bfb75 100644 --- a/Servers/WindowServer/AppletManager.cpp +++ b/Servers/WindowServer/AppletManager.cpp @@ -38,7 +38,7 @@ AppletManager::AppletManager() { s_the = this; - auto wm_config = Core::ConfigFile::get_for_app("WindowManager"); + auto wm_config = Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini"); auto order = wm_config->read_entry("Applet", "Order"); order_vector = order.split(','); } diff --git a/Servers/WindowServer/WindowManager.cpp b/Servers/WindowServer/WindowManager.cpp index d392c6afb9..d6a611bddf 100644 --- a/Servers/WindowServer/WindowManager.cpp +++ b/Servers/WindowServer/WindowManager.cpp @@ -102,7 +102,7 @@ NonnullRefPtr WindowManager::get_cursor(const String& name) void WindowManager::reload_config(bool set_screen) { - m_wm_config = Core::ConfigFile::get_for_app("WindowManager"); + m_wm_config = Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini"); m_double_click_speed = m_wm_config->read_num_entry("Input", "DoubleClickSpeed", 250); @@ -1241,7 +1241,7 @@ void WindowManager::update_theme(String theme_path, String theme_name) } return IterationDecision::Continue; }); - auto wm_config = Core::ConfigFile::get_for_app("WindowManager"); + auto wm_config = Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini"); wm_config->write_entry("Theme", "Name", theme_name); wm_config->sync(); invalidate(); diff --git a/Servers/WindowServer/main.cpp b/Servers/WindowServer/main.cpp index fa973c3b61..b3b1c4e0e4 100644 --- a/Servers/WindowServer/main.cpp +++ b/Servers/WindowServer/main.cpp @@ -58,10 +58,7 @@ int main(int, char**) return 1; } - // FIXME: WindowServer should obviously not hardcode this. - // Instead, we should have a ConfigServer or similar that allows programs - // to get/set user settings over IPC without giving them access to any files. - if (unveil("/home/anon/WindowManager.ini", "rwc") < 0) { + if (unveil("/etc/WindowServer/WindowServer.ini", "rwc") < 0) { perror("unveil"); return 1; } @@ -81,7 +78,7 @@ int main(int, char**) return 1; } - auto wm_config = Core::ConfigFile::get_for_app("WindowManager"); + auto wm_config = Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini"); auto theme_name = wm_config->read_entry("Theme", "Name", "Default"); auto theme = Gfx::load_system_theme(String::format("/res/themes/%s.ini", theme_name.characters()));