From 60d769a89908c29e19100059985db15a7b6bab6a Mon Sep 17 00:00:00 2001 From: vaxerski Date: Thu, 14 Aug 2025 17:13:15 +0200 Subject: internal: unify VT getting --- src/Compositor.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 8f9a64ec..7b6a9e08 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -3213,3 +3213,24 @@ void CCompositor::ensurePersistentWorkspacesPresent(const std::vector CCompositor::getVTNr() { + if (!m_aqBackend->hasSession()) + return std::nullopt; + + unsigned int ttynum = 0; + Hyprutils::OS::CFileDescriptor fd{open("/dev/tty", O_RDONLY | O_NOCTTY)}; + if (fd.isValid()) { +#if defined(VT_GETSTATE) + struct vt_stat st; + if (!ioctl(fd.get(), VT_GETSTATE, &st)) + ttynum = st.v_active; +#elif defined(VT_GETACTIVE) + int vt; + if (!ioctl(fd.get(), VT_GETACTIVE, &vt)) + ttynum = vt; +#endif + } + + return ttynum; +} -- cgit v1.2.3