Commit Graph

165 Commits

Author SHA1 Message Date
Carter Li 5f3ce50022 Display (Linux): prefer detecting physical size from EDID 2024-10-05 23:56:16 +08:00
Carter Li a32d9d788c OpenBSD: init platform support 2024-10-04 17:49:18 +08:00
Carter Li 99626149f6 Display (FreeBSD): add guards between linux specific code 2024-10-01 17:26:29 +08:00
李通洲 46eb0e4b1c Display (Linux): merge features of Monitor module 2024-09-30 22:43:29 +08:00
Carter Li 88097463af Display (Linux): report displays of unknown connection state too
Ref: #1301
2024-09-29 10:25:46 +08:00
Ziyao 51796de69a Display (Linux): detect all enabled or connected connectors (#1301)
DRM connectors have two properties, "enabled" and "status", standing for
"enabled by userspace" and "a display has been connected". Connector
status cannot be reliably detected sometimes, in this case status will
be set to unknown and it is still okay to enable it. Some drivers are
also able to enable disconnected connectors.

So it is both meaningful to detect connectors in two states,

- An enabled connector, where it must have been operating in some
  configuration required by userspace
- A connected connector, where driver is sure a display has been
  connected to the port, this is the obvious case.

In the original implementation, only information of connected connectors
are detected and an enabled connector without hotplug detection
capability, like a Composite video connector, will be silently ignored.
Switch to the new strategy to detect these connectors correctly.

References: https://github.com/torvalds/linux/blob/3efc57369a0ce8f76bf0804f7e673982384e4ac9/include/drm/drm_connector.h#L58-L89

Signed-off-by: Yao Zi <ziyao@disroot.org>
2024-09-29 10:23:20 +08:00
李通洲 c9d539090d Global: remove --lib-xxx support 2024-09-04 15:56:11 +08:00
Carter Li 67d0dfcef0 DE (Linux): support unity version detection 2024-08-27 14:31:05 +08:00
李通洲 dd66626165 Display: remove detection of WCG enabled 2024-08-14 08:32:13 +08:00
Carter Li 8396f000e1 DisplayServer (Linux): don't rely on $XDG_SESSION_TYPE for detecting wm protocol
Fix #1162
2024-08-06 16:34:01 +08:00
Carter Li 7eaaed6024 WM (Linux): don't use wl-restart as WM name
Fix #1135
2024-07-31 14:19:42 +08:00
Carter Li cf0d1cf294 DisplayServer (Linux): don't print unknown as display name 2024-07-31 10:13:29 +08:00
Carter Li ced67e81a5 DisplayServer (Linux): ensure $XDG_RUNTIME_DIR is set before connecting
wayland
2024-07-30 23:50:19 +08:00
李通洲 2cc94ee095 DisplayServer (Linux): fix build with no wayland support 2024-07-27 19:53:25 +08:00
李通洲 ce43f06863 DisplayServer (Linux): don't try to connect wayland and X11 in tty mode
Fix #1110
2024-07-26 23:53:18 +08:00
Carter Li cdee6e2997 Display (Linux): don't wake up suspended GPU 2024-07-23 19:06:04 +08:00
李通洲 4fe1bb0b7e Display: detect if WCG enabled 2024-07-20 11:52:07 +08:00
Carter Li 7ba1e3d3d9 Monitor (Linux): detect by Xrandr if EDID is not available 2024-07-19 05:43:15 +00:00
Carter Li 96ec2b662c Display (Linux): support HDR detection for KDE; fix build 2024-07-18 18:51:33 +08:00
Carter Li 5bc9a5dc4e Display: rotate physical demensions 2024-07-16 16:36:19 +08:00
Carter Li 5b064f2e7b Display (Linux); improve display type detection
1. assume `DP-x` is external (false possitive alert);
2. detect display type for X11
2024-07-12 15:29:12 +08:00
Carter Li e786cd5d33 Display: detect physical width and height 2024-07-11 20:33:25 +08:00
Carter Li 1652ec3512 Display (Linux): remove debug output 2024-07-08 18:27:42 +08:00
Carter Li fa872d7c9b Display: fix build on FreeBSD 2024-07-08 15:32:09 +08:00
Carter Li d628bdea5a Display (Linux): support primary display detection for GNOME & Cinnamon 2024-07-08 14:11:45 +08:00
Carter Li f9ce2fae0e Display (Linux): improve id generation for wayland 2024-07-08 11:04:27 +08:00
李通洲 a61765c8b1 Display (Linux): try fix building for old wayland version 2024-07-06 00:10:59 +08:00
李通洲 065b44ff59 Display (Linux): better zxdg manager handling 2024-07-06 00:03:14 +08:00
李通洲 b6fff0c946 Display (Wayland): code refactor 2024-07-05 23:13:28 +08:00
李通洲 c16373a7d7 Display (Linux): support primary display detection for GNOME 2024-07-05 23:11:27 +08:00
Carter Li 5f1cb16534 Display (Linux): support primary display detection for KDE 2024-07-05 23:11:27 +08:00
Carter Li 013320bcde Display (Wayland): support fractional scale for KDE 2024-07-05 19:13:09 +08:00
Carter Li 2bba2eaa16 WM: minor code cleanup 2024-07-03 09:54:48 +08:00
Carter Li 58ebde422a WMTheme: support cinnamon-wayland 2024-07-03 09:54:48 +08:00
Diego Viola 7ffed9e911 DE: Fix spelling of LXQt (#1063)
Signed-off-by: Diego Viola <diego.viola@gmail.com>
2024-07-01 16:00:35 +08:00
Carter Li c180ddab28 SunOS: improve WM detection 2024-06-18 10:51:26 +08:00
Carter Li 94fb7eabfd SunOS: enable a lot of features 2024-06-17 15:13:26 +08:00
Carter Li d35490aeef Fastfetch: make it compile on SunOS 2024-06-16 01:02:48 +08:00
李通洲 eae73883db DE (Linux): correctly capitalize GNOME
Fix #997
2024-06-06 16:43:55 +08:00
Carter Li 3ba899261f Util: add ffCharIsDigit and use it 2024-05-28 15:34:59 +08:00
Carter Li 2f6cabb839 Library: prepare for static linking 2024-05-23 16:35:16 +08:00
Carter Li 395810cd79 DisplayServer (Wayland): don't display eDP-1-unknown 2024-05-21 14:25:09 +08:00
李通洲 c2fe2f70dc DisplayServer (Linux): silence compiler warnings 2024-05-02 15:19:43 +08:00
Carter Li e596d76430 Display (Linux): don't use *-unknown as name 2024-04-25 09:08:21 +08:00
李通洲 18240524dc DisplayServer (Linux): basic support for ukui 2024-04-23 15:32:49 +08:00
李通洲 8eabc49e12 DisplayServer (Linux): fix silly bug that detect x11 as wayland
Fix #805
2024-04-23 13:39:49 +08:00
李通洲 ed7b12e733 DisplayServer (Linux): fix compiling for old wayland version 2024-04-22 19:24:48 +08:00
李通洲 9c56839c97 DisplayServer (Linux): fix crash 2024-04-22 19:06:13 +08:00
李通洲 6647980ce3 DisplayServer (Linux): refactor & support wlroots protocol 2024-04-22 16:41:30 +08:00
Carter Li ef440a015d Display (Linux): don't display (null) 2024-04-18 15:18:37 +08:00