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/managers/KeybindManager.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'src/managers/KeybindManager.cpp') diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index bb1222ad..5f3aac1c 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -875,25 +875,12 @@ bool CKeybindManager::handleVT(xkb_keysym_t keysym) { if (g_pCompositor->m_aqBackend->hasSession()) { const unsigned int TTY = keysym - XKB_KEY_XF86Switch_VT_1 + 1; - // vtnr is bugged for some reason. - 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 - } + const auto CURRENT_TTY = g_pCompositor->getVTNr(); - if (ttynum == TTY) + if (!CURRENT_TTY.has_value() || *CURRENT_TTY == TTY) return true; - Debug::log(LOG, "Switching from VT {} to VT {}", ttynum, TTY); + Debug::log(LOG, "Switching from VT {} to VT {}", *CURRENT_TTY, TTY); g_pCompositor->m_aqBackend->session->switchVT(TTY); } -- cgit v1.2.3