diff --git a/src/debug/CrashReporter.cpp b/src/debug/CrashReporter.cpp index e9a51803..713f91df 100644 --- a/src/debug/CrashReporter.cpp +++ b/src/debug/CrashReporter.cpp @@ -14,18 +14,18 @@ std::string getRandomMessage() { const std::vector MESSAGES = {"Sorry, didn't mean to...", - "This was an accident, I swear!", - "Calm down, it was a misinput! MISINPUT!", - "Oops", - "Vaxry is going to be upset.", - "Who tried dividing by zero?!", - "Maybe you should try dusting your PC in the meantime?", - "I tried so hard, and got so far...", - "I don't feel so good...", - "*thud*", - "Well this is awkward.", - "\"stable\"", - "I hope you didn't have any unsaved progress."}; + "This was an accident, I swear!", + "Calm down, it was a misinput! MISINPUT!", + "Oops", + "Vaxry is going to be upset.", + "Who tried dividing by zero?!", + "Maybe you should try dusting your PC in the meantime?", + "I tried so hard, and got so far...", + "I don't feel so good...", + "*thud*", + "Well this is awkward.", + "\"stable\"", + "I hope you didn't have any unsaved progress."}; std::random_device dev; std::mt19937 engine(dev()); @@ -44,7 +44,7 @@ void CrashReporter::createAndSaveCrash(int sig) { finalCrashReport += "--------------------------------------------\n Hyprland Crash Report\n--------------------------------------------\n"; finalCrashReport += getRandomMessage() + "\n\n"; - finalCrashReport += getFormat("Hyprland received signal %d (%s): Segmentation Fault\n\n", sig, strsignal(sig)); + finalCrashReport += getFormat("Hyprland received signal %d (%s)\n\n", sig, strsignal(sig)); if (!g_pPluginSystem->getAllPlugins().empty()) { finalCrashReport += "Hyprland seems to be running with plugins. This crash might not be Hyprland's fault.\nPlugins:\n"; diff --git a/src/layout/IHyprLayout.cpp b/src/layout/IHyprLayout.cpp index 6a1ff572..37f8a9b0 100644 --- a/src/layout/IHyprLayout.cpp +++ b/src/layout/IHyprLayout.cpp @@ -267,17 +267,23 @@ void IHyprLayout::onMouseMove(const Vector2D& mousePos) { return; } - const auto SPECIAL = g_pCompositor->isWorkspaceSpecial(DRAGGINGWINDOW->m_iWorkspaceID); + static auto TIMER = std::chrono::high_resolution_clock::now(); - const auto DELTA = Vector2D(mousePos.x - m_vBeginDragXY.x, mousePos.y - m_vBeginDragXY.y); - const auto TICKDELTA = Vector2D(mousePos.x - m_vLastDragXY.x, mousePos.y - m_vLastDragXY.y); + const auto SPECIAL = g_pCompositor->isWorkspaceSpecial(DRAGGINGWINDOW->m_iWorkspaceID); - const auto PANIMATEMOUSE = &g_pConfigManager->getConfigValuePtr("misc:animate_mouse_windowdragging")->intValue; - const auto PANIMATE = &g_pConfigManager->getConfigValuePtr("misc:animate_manual_resizes")->intValue; + const auto DELTA = Vector2D(mousePos.x - m_vBeginDragXY.x, mousePos.y - m_vBeginDragXY.y); + const auto TICKDELTA = Vector2D(mousePos.x - m_vLastDragXY.x, mousePos.y - m_vLastDragXY.y); - if (abs(TICKDELTA.x) < 1.f && abs(TICKDELTA.y) < 1.f) + const auto PANIMATEMOUSE = &g_pConfigManager->getConfigValuePtr("misc:animate_mouse_windowdragging")->intValue; + const auto PANIMATE = &g_pConfigManager->getConfigValuePtr("misc:animate_manual_resizes")->intValue; + + if ((abs(TICKDELTA.x) < 1.f && abs(TICKDELTA.y) < 1.f) || + (std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - TIMER).count() < + 1000.0 / g_pHyprRenderer->m_pMostHzMonitor->refreshRate)) return; + TIMER = std::chrono::high_resolution_clock::now(); + m_vLastDragXY = mousePos; g_pHyprRenderer->damageWindow(DRAGGINGWINDOW);