diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 5488e8c..d8f5135 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -5,9 +5,7 @@ SMonitor::SMonitor(SP output_) : output(output_) { output->setGeometry([this](CCWlOutput* r, int32_t x, int32_t y, int32_t width_mm, int32_t height_mm, int32_t subpixel, const char* make, const char* model, int32_t transform_) { // - transform = (wl_output_transform)transform_; - position.x = x; - position.y = y; + transform = (wl_output_transform)transform_; }); output->setDone([this](CCWlOutput* r) { // ready = true; diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp index 7c7d1d5..e95523b 100644 --- a/src/helpers/Monitor.hpp +++ b/src/helpers/Monitor.hpp @@ -14,7 +14,6 @@ struct SMonitor { SP output = nullptr; uint32_t wayland_name = 0; Vector2D size; - Vector2D position; int32_t scale; wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL; diff --git a/src/hyprpicker.cpp b/src/hyprpicker.cpp index 8abbda8..210432e 100644 --- a/src/hyprpicker.cpp +++ b/src/hyprpicker.cpp @@ -15,14 +15,6 @@ static void sigHandler(int sig) { exit(0); } -static bool inMonitors(const std::vector>& monitors, const Vector2D& pos) { - for (const auto& m : monitors) { - if ((pos.x >= m->position.x) && (pos.x <= m->position.x + m->size.x) && (pos.y >= m->position.y) && (pos.y <= m->position.y + m->size.y)) - return true; - } - return false; -} - void CHyprpicker::init() { m_pXKBContext = xkb_context_new(XKB_CONTEXT_NO_FLAGS); if (!m_pXKBContext) @@ -730,21 +722,18 @@ void CHyprpicker::initKeyboard() { if (state != WL_KEYBOARD_KEY_STATE_PRESSED) return; if (m_pXKBState) { - Vector2D newPosition = m_vLastCoords; if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Right) - ++newPosition.x; + m_vLastCoords.x += m_vLastCoords.x < m_pLastSurface->m_pMonitor->size.x; else if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Left) - --newPosition.x; + m_vLastCoords.x -= m_vLastCoords.x > 0; else if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Up) - --newPosition.y; + m_vLastCoords.y -= m_vLastCoords.y > 0; else if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Down) - ++newPosition.y; + m_vLastCoords.y += m_vLastCoords.y < m_pLastSurface->m_pMonitor->size.y; else if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Return) outputColor(); else if (xkb_state_key_get_one_sym(m_pXKBState, key + 8) == XKB_KEY_Escape) finish(2); - if (inMonitors(m_vMonitors, newPosition)) - m_vLastCoords = newPosition; } else if (key == 1) // Assume keycode 1 is escape finish(2); });