Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ddm-archlinux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

- name: Install base dependencies
run: |
pacman -S --noconfirm --noprogressbar base-devel bash gcc-libs glibc libxau pam qt6-base qt6-declarative systemd-libs ttf-font xorg-server xorg-xauth git extra-cmake-modules python-docutils qt6-tools treeland-protocols ninja
pacman -S --noconfirm --noprogressbar base-devel bash gcc-libs glibc libxau pam qt6-base qt6-declarative dtk6core systemd-libs ttf-font xorg-server xorg-xauth git extra-cmake-modules python-docutils qt6-tools treeland-protocols ninja

- name: Build and Install treeland-protocols
run: |
Expand Down
15 changes: 12 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ find_package(TreelandProtocols 0.5.3 REQUIRED)
find_package(Qt6 CONFIG REQUIRED Core DBus Network)
qt_standard_project_setup(REQUIRES 6.6)

# DTK (DConfig)
find_package(Dtk6 REQUIRED COMPONENTS Core Tools)
Comment thread
sourcery-ai[bot] marked this conversation as resolved.

# Uninstall target
if ("${ECM_VERSION}" VERSION_LESS "1.7.0")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
Expand Down Expand Up @@ -114,13 +117,19 @@ set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.
set(STATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/ddm" CACHE PATH "State directory")
set(RUNTIME_DIR "${RUNTIME_DIR_DEFAULT}" CACHE PATH "Runtime data storage directory")

# DConfig schema location of the DDM configuration.
# The application id is a contract shared with dde-daemon and the DSG daemon, and
# schemas are only resolved by it under the standard DSG data directory, so these
# are deliberately plain variables instead of cache options: a -D override would
# install the schema somewhere the runtime never looks.
set(DDM_DCONFIG_APP_ID "org.deepin.dde.ddm")
set(DDM_DCONFIG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/dsg/configs/${DDM_DCONFIG_APP_ID}")
set(DDM_DCONFIG_META_FILE "${DDM_DCONFIG_DIR}/${DDM_DCONFIG_APP_ID}.json")

set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession" CACHE PATH "Script to execute when starting the X11 desktop session")
set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" CACHE PATH "Script to execute when starting the Wayland desktop session")

set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ddm.conf" CACHE PATH "Path of the ddm config file")
set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ddm.conf.d" CACHE PATH "Path of the ddm config directory")
set(ACCOUNTSSERVICE_DATA_DIR "/var/lib/AccountsService" CACHE PATH "Path of the accountsservice data directory")
set(SYSTEM_CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/ddm/ddm.conf.d" CACHE PATH "Path of the system ddm config directory")
set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/ddm.log" CACHE PATH "Path of the ddm log file")
Comment thread
sourcery-ai[bot] marked this conversation as resolved.
set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the ddm config file")
set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory")
Expand Down
2 changes: 1 addition & 1 deletion REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ SPDX-FileCopyrightText = "None"
SPDX-License-Identifier = "GPL-2.0-or-later"

[[annotations]]
path = ["releng/prepare-relnotes", "src/daemon/Auth.cpp", "src/daemon/Auth.h", "src/common/ConfigReader.cpp", "src/common/ConfigReader.h", "src/common/Configuration.cpp", "src/common/Configuration.h", "src/common/MessageHandler.h", "src/common/Messages.h", "src/common/Session.cpp", "src/common/Session.h", "src/common/SignalHandler.cpp", "src/common/SignalHandler.h", "src/common/SocketWriter.cpp", "src/common/SocketWriter.h", "src/common/XAuth.cpp", "src/common/XAuth.h", "src/daemon/DaemonApp.cpp", "src/daemon/DaemonApp.h", "src/daemon/Display.cpp", "src/daemon/Display.h", "src/daemon/DisplayManager.cpp", "src/daemon/DisplayManager.h", "src/daemon/PowerManager.cpp", "src/daemon/PowerManager.h", "src/daemon/SeatManager.cpp", "src/daemon/SeatManager.h", "src/daemon/SocketServer.cpp", "src/daemon/SocketServer.h", "src/daemon/TreelandConnector.cpp", "src/daemon/TreelandConnector.h", "src/daemon/VirtualTerminal.cpp", "src/daemon/VirtualTerminal.h", "src/daemon/Utils.h", "src/daemon/XorgDisplayServer.cpp", "src/daemon/XorgDisplayServer.h", "src/daemon/UserSession.cpp", "src/daemon/UserSession.h", "src/common/LogindDBusTypes.cpp", "src/common/LogindDBusTypes.h"]
path = ["releng/prepare-relnotes", "src/daemon/Auth.cpp", "src/daemon/Auth.h", "src/daemon/Configuration.cpp", "src/daemon/Configuration.h", "src/daemon/MessageHandler.h", "src/common/Messages.h", "src/daemon/Session.cpp", "src/daemon/Session.h", "src/common/SignalHandler.cpp", "src/common/SignalHandler.h", "src/common/SocketWriter.cpp", "src/common/SocketWriter.h", "src/common/XAuth.cpp", "src/common/XAuth.h", "src/daemon/DaemonApp.cpp", "src/daemon/DaemonApp.h", "src/daemon/Display.cpp", "src/daemon/Display.h", "src/daemon/DisplayManager.cpp", "src/daemon/DisplayManager.h", "src/daemon/PowerManager.cpp", "src/daemon/PowerManager.h", "src/daemon/SeatManager.cpp", "src/daemon/SeatManager.h", "src/daemon/SocketServer.cpp", "src/daemon/SocketServer.h", "src/daemon/TreelandConnector.cpp", "src/daemon/TreelandConnector.h", "src/daemon/VirtualTerminal.cpp", "src/daemon/VirtualTerminal.h", "src/daemon/Utils.h", "src/daemon/XorgDisplayServer.cpp", "src/daemon/XorgDisplayServer.h", "src/daemon/UserSession.cpp", "src/daemon/UserSession.h", "src/daemon/LogindDBusTypes.cpp", "src/daemon/LogindDBusTypes.h"]
precedence = "aggregate"
SPDX-FileCopyrightText = "None"
SPDX-License-Identifier = "GPL-2.0-or-later"
13 changes: 13 additions & 0 deletions data/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ install(FILES
DESTINATION "${DBUS_CONFIG_DIR}"
)

# DConfig schemas (see DDM_DCONFIG_APP_ID)

configure_file(
"dconfig/org.deepin.dde.ddm.json.in"
"${CMAKE_CURRENT_BINARY_DIR}/dconfig/${DDM_DCONFIG_APP_ID}.json"
@ONLY
)

install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/dconfig/${DDM_DCONFIG_APP_ID}.json"
DESTINATION "${DDM_DCONFIG_DIR}"
)

install(FILES
"scripts/Xsession"
"scripts/Xsetup"
Expand Down
237 changes: 237 additions & 0 deletions data/dconfig/org.deepin.dde.ddm.json.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
{
Comment thread
glyvut marked this conversation as resolved.
"magic": "dsg.config.meta",
"version": "1.0",
"contents": {
"haltCommand": {
"value": "@HALT_COMMAND@",
"serial": 0,
"flags": [],
"name": "Halt Command",
"name[zh_CN]": "关机命令",
"description": "Halt command.",
"description[zh_CN]": "关机命令。",
"permissions": "readwrite",
"visibility": "private"
},
"rebootCommand": {
"value": "@REBOOT_COMMAND@",
"serial": 0,
"flags": [],
"name": "Reboot Command",
"name[zh_CN]": "重启命令",
"description": "Reboot command.",
"description[zh_CN]": "重启命令。",
"permissions": "readwrite",
"visibility": "private"
},
"namespaces": {
"value": [],
"serial": 0,
"flags": [],
"name": "Namespaces",
"name[zh_CN]": "命名空间",
"description": "List of paths bound to Linux namespaces to enter with setns() before starting the user session.",
"description[zh_CN]": "启动用户会话前通过 setns() 进入的 Linux 命名空间路径列表。",
"permissions": "readwrite",
"visibility": "private"
},
"x11CursorTheme": {
"value": "",
"serial": 0,
"flags": [],
"name": "X11 Cursor Theme",
"name[zh_CN]": "X11 光标主题",
"description": "Cursor theme used by the X11 display server.",
"description[zh_CN]": "X11 显示服务器使用的光标主题。",
"permissions": "readwrite",
"visibility": "private"
},
"x11CursorSize": {
"value": "",
"serial": 0,
"flags": [],
"name": "X11 Cursor Size",
"name[zh_CN]": "X11 光标大小",
"description": "Cursor size used by the X11 display server.",
"description[zh_CN]": "X11 显示服务器使用的光标大小。",
"permissions": "readwrite",
"visibility": "private"
},
"x11ServerPath": {
"value": "/usr/bin/X",
"serial": 0,
"flags": [],
"name": "X11 Server Path",
"name[zh_CN]": "X11 Server 路径",
"description": "Path to the X server binary.",
"description[zh_CN]": "X server 可执行文件路径。",
"permissions": "readwrite",
"visibility": "private"
},
"x11ServerArguments": {
"value": "-nolisten tcp",
"serial": 0,
"flags": [],
"name": "X11 Server Arguments",
"name[zh_CN]": "X11 Server 参数",
"description": "Arguments passed to the X server invocation.",
"description[zh_CN]": "传递给 X server 的启动参数。",
"permissions": "readwrite",
"visibility": "private"
},
"x11SessionDirs": {
"value": ["/usr/local/share/xsessions", "/usr/share/xsessions"],
"serial": 0,
"flags": [],
"name": "X11 Session Directories",
"name[zh_CN]": "X11 会话目录",
"description": "List of directories containing available X sessions.",
"description[zh_CN]": "包含可用 X 会话的目录列表。",
"permissions": "readwrite",
"visibility": "private"
},
"x11SessionCommand": {
"value": "@SESSION_COMMAND@",
"serial": 0,
"flags": [],
"name": "X11 Session Command",
"name[zh_CN]": "X11 会话命令",
"description": "Path to a script to execute when starting the desktop session.",
"description[zh_CN]": "启动桌面会话时执行的脚本路径。",
"permissions": "readwrite",
"visibility": "private"
},
"x11SessionLogFile": {
"value": ".local/share/ddm/xorg-session.log",
"serial": 0,
"flags": [],
"name": "X11 Session Log File",
"name[zh_CN]": "X11 会话日志文件",
"description": "Path to the user session log file, relative to the home directory.",
"description[zh_CN]": "用户会话日志文件路径,相对于用户主目录。",
"permissions": "readwrite",
"visibility": "private"
},
"x11DisplayCommand": {
"value": "@DATA_INSTALL_DIR@/scripts/Xsetup",
"serial": 0,
"flags": [],
"name": "X11 Display Command",
"name[zh_CN]": "X11 显示启动命令",
"description": "Path to a script to execute when starting the display server.",
"description[zh_CN]": "启动显示服务器时执行的脚本路径。",
"permissions": "readwrite",
"visibility": "private"
},
"x11DisplayStopCommand": {
"value": "@DATA_INSTALL_DIR@/scripts/Xstop",
"serial": 0,
"flags": [],
"name": "X11 Display Stop Command",
"name[zh_CN]": "X11 显示停止命令",
"description": "Path to a script to execute when stopping the display server.",
"description[zh_CN]": "停止显示服务器时执行的脚本路径。",
"permissions": "readwrite",
"visibility": "private"
},
"waylandSessionDirs": {
"value": ["/usr/local/share/wayland-sessions", "/usr/share/wayland-sessions"],
"serial": 0,
"flags": [],
"name": "Wayland Session Directories",
"name[zh_CN]": "Wayland 会话目录",
"description": "List of directories containing available Wayland sessions.",
"description[zh_CN]": "包含可用 Wayland 会话的目录列表。",
"permissions": "readwrite",
"visibility": "private"
},
"waylandSessionCommand": {
"value": "@WAYLAND_SESSION_COMMAND@",
"serial": 0,
"flags": [],
"name": "Wayland Session Command",
"name[zh_CN]": "Wayland 会话命令",
"description": "Path to a script to execute when starting the desktop session.",
"description[zh_CN]": "启动桌面会话时执行的脚本路径。",
"permissions": "readwrite",
"visibility": "private"
},
"waylandSessionLogFile": {
"value": ".local/share/ddm/wayland-session.log",
"serial": 0,
"flags": [],
"name": "Wayland Session Log File",
"name[zh_CN]": "Wayland 会话日志文件",
"description": "Path to the user session log file, relative to the home directory.",
"description[zh_CN]": "用户会话日志文件路径,相对于用户主目录。",
"permissions": "readwrite",
"visibility": "private"
},
"singleSessionCommand": {
"value": "@WAYLAND_SESSION_COMMAND@",
"serial": 0,
"flags": [],
"name": "Single Session Command",
"name[zh_CN]": "单例会话命令",
"description": "Path to a script to execute when starting the Treeland user session.",
"description[zh_CN]": "启动 Treeland 用户会话时执行的脚本路径。",
"permissions": "readwrite",
"visibility": "private"
},
"usersDefaultPath": {
"value": "/usr/local/bin:/usr/bin:/bin",
"serial": 0,
"flags": [],
"name": "Users Default Path",
"name[zh_CN]": "用户默认 PATH",
"description": "Default $PATH for logged in users.",
"description[zh_CN]": "已登录用户的默认 $PATH。",
"permissions": "readwrite",
"visibility": "private"
},
"autologinUser": {
"value": "",
"serial": 0,
"flags": [],
"name": "Autologin User",
"name[zh_CN]": "自动登录用户",
"description": "User to log in automatically (empty disables autologin).",
"description[zh_CN]": "自动登录的用户(为空则禁用自动登录)。",
"permissions": "readwrite",
"visibility": "private"
},
"autologinSession": {
"value": "",
"serial": 0,
"flags": [],
"name": "Autologin Session",
"name[zh_CN]": "自动登录会话",
"description": "Session to log in to automatically, either its name or the absolute path of its desktop file; a name is looked up in the X11 and Wayland session directories. Set together with Autologin User. If empty, the session of the last successful login is used.",
"description[zh_CN]": "自动登录时加载的会话,可为会话名或 desktop 文件绝对路径;会话名在 X11、Wayland 会话目录中查找。与自动登录用户一起配置。为空时使用上次成功登录的会话。",
"permissions": "readwrite",
"visibility": "private"
},
"lastUser": {
"value": "",
"serial": 0,
"flags": [],
"name": "Last User",
"name[zh_CN]": "上次登录用户",
"description": "User of the last successful login. Maintained by ddm and sent to the greeter.",
"description[zh_CN]": "上次成功登录的用户,由 ddm 维护并下发给 greeter。",
"permissions": "readwrite",
"visibility": "private"
},
"lastSession": {
"value": "",
"serial": 0,
"flags": [],
"name": "Last Session",
"name[zh_CN]": "上次登录会话",
"description": "Absolute path of the desktop file of the last successful login. Maintained by ddm, sent to the greeter, and used as the autologin session fallback.",
"description[zh_CN]": "上次成功登录所用 desktop 文件的绝对路径,由 ddm 维护并下发给 greeter,同时作为自动登录会话的回退值。",
"permissions": "readwrite",
"visibility": "private"
}
}
}
4 changes: 0 additions & 4 deletions data/man/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,4 @@ function(BUILD_MAN_PAGE _sources _src _dst)
endfunction()

build_man_page(MAN1_OUTPUT "ddm.rst" "ddm.1")
build_man_page(MAN5_OUTPUT "ddm.conf.rst" "ddm.conf.5")
build_man_page(MAN5_OUTPUT "ddm-state.conf.rst" "ddm-state.conf.5")

install(FILES ${MAN1_OUTPUT} DESTINATION "${CMAKE_INSTALL_FULL_MANDIR}/man1")
install(FILES ${MAN5_OUTPUT} DESTINATION "${CMAKE_INSTALL_FULL_MANDIR}/man5")
46 changes: 0 additions & 46 deletions data/man/ddm-state.conf.rst.in

This file was deleted.

Loading
Loading