{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":575803508,"defaultBranch":"master","name":"hyprland-per-window-layout","ownerLogin":"MahouShoujoMivutilde","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-12-08T10:33:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14999778?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1670495695.6211011","currentOid":""},"activityList":{"items":[{"before":"e50b39099837618b302818d21e632ff8e1a969c4","after":"2cd2d635fb32903ba5d9aa900d1708a73002b285","ref":"refs/heads/master","pushedAt":"2024-07-07T02:59:17.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Described debug output problems under a heavy load\n\nApparently, under heavy enough CPU load you can switch windows fast enough\n(alt-tab a bunch of times) that the event handler will be too slow to process it\ncorrectly, and will chain 2+ `hyprctl switchxkblayout` calls, that will result in\nmultiple `activelayout` events in a row, still being processed after you already\ndone switching, in turn resulting in (likely) wrong layout being defined as\ndesired (for a window) as opposed to correct one being restored.\n\nI can’t reproduce this without `HPWX_DEBUG=true`, but somebody with a much slower\nPC might be able to reproduce it even with `false`.\n\nSomething is probably wrong - you’d think that deterministic order of events\nshould result in deterministic `windows` map end-state. I.e. the last layout\nselected after all events are processed should be the one user defined for a\ngiven window.\n\nIt isn't. It's random - but only under a heavy load and with debug output enabled.\nIt smells like a race condition.\n\nI don’t really know how it could possibly be fixed, it’s seems it always been\nlike that (I just didn’t test it under those conditions), but at least it’s\nworth mentioning.","shortMessageHtmlLink":"Described debug output problems under a heavy load"}},{"before":"6790a3a5280e4c7958b4db039a148f49c085331a","after":"e50b39099837618b302818d21e632ff8e1a969c4","ref":"refs/heads/master","pushedAt":"2024-07-06T19:29:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Mentioned that jq v1.7+ doesn't suck anymore\n\n```\nhyperfine -w 5 -N \"jq -r '.address, .floating' activewindow.json\" \"gojq -r '.address, .floating' activewindow.json\"\nBenchmark 1: jq -r '.address, .floating' activewindow.json\n Time (mean ± σ): 5.4 ms ± 1.5 ms [User: 2.6 ms, System: 2.5 ms]\n Range (min … max): 2.3 ms … 8.0 ms 515 runs\n\nBenchmark 2: gojq -r '.address, .floating' activewindow.json\n Time (mean ± σ): 2.9 ms ± 1.1 ms [User: 1.0 ms, System: 1.8 ms]\n Range (min … max): 2.2 ms … 6.6 ms 470 runs\n\nSummary\n gojq -r '.address, .floating' activewindow.json ran\n 1.87 ± 0.89 times faster than jq -r '.address, .floating' activewindow.json\n```\n\n(It was ~40ms for jq before)","shortMessageHtmlLink":"Mentioned that jq v1.7+ doesn't suck anymore"}},{"before":"15f0607122503e0ff662655f21c2e5d6198c0122","after":"6790a3a5280e4c7958b4db039a148f49c085331a","ref":"refs/heads/master","pushedAt":"2024-07-03T20:53:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Debug: only dump windows when something about them changes","shortMessageHtmlLink":"Debug: only dump windows when something about them changes"}},{"before":"99857bd58a8d7fd40b62d0713a4209e4ecc52e0c","after":"15f0607122503e0ff662655f21c2e5d6198c0122","ref":"refs/heads/master","pushedAt":"2024-06-07T22:35:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Account for keyboards with commas in device name","shortMessageHtmlLink":"Account for keyboards with commas in device name"}},{"before":"0c2a268d561f3083532fc85da9a45629cfb7f245","after":"99857bd58a8d7fd40b62d0713a4209e4ecc52e0c","ref":"refs/heads/master","pushedAt":"2024-04-28T22:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Support new socket2 path, some minor readme tweaks\nto account for current hyprlang syntax","shortMessageHtmlLink":"Support new socket2 path, some minor readme tweaks"}},{"before":"6a82e3d0ce94083226028351d2459a51e550f3de","after":"0c2a268d561f3083532fc85da9a45629cfb7f245","ref":"refs/heads/master","pushedAt":"2023-08-15T19:25:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"MahouShoujoMivutilde","name":null,"path":"/MahouShoujoMivutilde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14999778?s=80&v=4"},"commit":{"message":"Option to prefer default layout for new windows","shortMessageHtmlLink":"Option to prefer default layout for new windows"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEeKvimAA","startCursor":null,"endCursor":null}},"title":"Activity · MahouShoujoMivutilde/hyprland-per-window-layout"}