keybinds: simulate mouse movement after bringing active window to top (#12703)
Fixes https://github.com/hyprwm/Hyprland/discussions/12702
This commit is contained in:
parent
5faa66d297
commit
e5d20b56bc
3 changed files with 66 additions and 0 deletions
|
|
@ -373,6 +373,45 @@ static void testMaximizeSize() {
|
|||
EXPECT(Tests::windowCount(), 0);
|
||||
}
|
||||
|
||||
static void testBringActiveToTopMouseMovement() {
|
||||
NLog::log("{}Testing bringactivetotop mouse movement", Colors::GREEN);
|
||||
|
||||
Tests::killAllWindows();
|
||||
OK(getFromSocket("/keyword input:follow_mouse 2"));
|
||||
OK(getFromSocket("/keyword input:float_switch_override_focus 0"));
|
||||
|
||||
EXPECT(spawnKitty("a"), true);
|
||||
OK(getFromSocket("/dispatch setfloating"));
|
||||
OK(getFromSocket("/dispatch movewindowpixel exact 500 300,activewindow"));
|
||||
OK(getFromSocket("/dispatch resizewindowpixel exact 400 400,activewindow"));
|
||||
|
||||
EXPECT(spawnKitty("b"), true);
|
||||
OK(getFromSocket("/dispatch setfloating"));
|
||||
OK(getFromSocket("/dispatch movewindowpixel exact 500 300,activewindow"));
|
||||
OK(getFromSocket("/dispatch resizewindowpixel exact 400 400,activewindow"));
|
||||
|
||||
auto getTopWindow = []() -> std::string {
|
||||
auto clients = getFromSocket("/clients");
|
||||
return (clients.rfind("class: a") > clients.rfind("class: b")) ? "a" : "b";
|
||||
};
|
||||
|
||||
EXPECT(getTopWindow(), std::string("b"));
|
||||
OK(getFromSocket("/dispatch movecursor 700 500"));
|
||||
|
||||
OK(getFromSocket("/dispatch focuswindow class:a"));
|
||||
EXPECT_CONTAINS(getFromSocket("/activewindow"), "class: a");
|
||||
|
||||
OK(getFromSocket("/dispatch bringactivetotop"));
|
||||
EXPECT(getTopWindow(), std::string("a"));
|
||||
|
||||
OK(getFromSocket("/dispatch plugin:test:click 272,1"));
|
||||
OK(getFromSocket("/dispatch plugin:test:click 272,0"));
|
||||
|
||||
EXPECT(getTopWindow(), std::string("a"));
|
||||
|
||||
Tests::killAllWindows();
|
||||
}
|
||||
|
||||
static bool test() {
|
||||
NLog::log("{}Testing windows", Colors::GREEN);
|
||||
|
||||
|
|
@ -806,6 +845,8 @@ static bool test() {
|
|||
|
||||
testMaximizeSize();
|
||||
|
||||
testBringActiveToTopMouseMovement();
|
||||
|
||||
NLog::log("{}Reloading config", Colors::YELLOW);
|
||||
OK(getFromSocket("/reload"));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue