Commit 5dafc60
committed
Fix Windows tray window position on first display
Windows reorganizes tray icons after creation, causing the initial
position capture to be incorrect. The window would appear offset
from the actual tray icon location.
Changes:
- Convert native physical coordinates to logical coordinates for DPI scaling
- Wait for Windows to stabilize tray icons before capturing position
- Add refreshPosition() to re-capture position just before showing window
- Initialize dialog position off-screen to prevent flash at wrong location
- Fix TrayApp.kt compilation error with return@label inside invokeLater1 parent 18eef46 commit 5dafc60
4 files changed
Lines changed: 114 additions & 7 deletions
File tree
- src/commonMain/kotlin/com/kdroid/composetray
- lib/windows
- tray
- api
- impl
- utils
Lines changed: 62 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
246 | 247 | | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
247 | 254 | | |
| 255 | + | |
248 | 256 | | |
249 | | - | |
| 257 | + | |
250 | 258 | | |
251 | | - | |
| 259 | + | |
| 260 | + | |
252 | 261 | | |
253 | 262 | | |
254 | 263 | | |
| |||
264 | 273 | | |
265 | 274 | | |
266 | 275 | | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
267 | 327 | | |
268 | 328 | | |
269 | 329 | | |
| |||
Lines changed: 36 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| |||
514 | 516 | | |
515 | 517 | | |
516 | 518 | | |
517 | | - | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
518 | 525 | | |
519 | 526 | | |
520 | 527 | | |
| |||
556 | 563 | | |
557 | 564 | | |
558 | 565 | | |
559 | | - | |
| 566 | + | |
| 567 | + | |
560 | 568 | | |
| 569 | + | |
| 570 | + | |
561 | 571 | | |
562 | | - | |
563 | 572 | | |
564 | 573 | | |
565 | 574 | | |
| |||
591 | 600 | | |
592 | 601 | | |
593 | 602 | | |
| 603 | + | |
594 | 604 | | |
595 | 605 | | |
596 | 606 | | |
597 | | - | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
598 | 612 | | |
599 | 613 | | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
600 | 622 | | |
601 | 623 | | |
602 | 624 | | |
603 | 625 | | |
604 | 626 | | |
605 | 627 | | |
| 628 | + | |
606 | 629 | | |
607 | 630 | | |
608 | 631 | | |
609 | 632 | | |
| 633 | + | |
610 | 634 | | |
611 | 635 | | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
612 | 640 | | |
613 | 641 | | |
614 | 642 | | |
| 643 | + | |
615 | 644 | | |
616 | 645 | | |
617 | 646 | | |
| |||
665 | 694 | | |
666 | 695 | | |
667 | 696 | | |
| 697 | + | |
| 698 | + | |
668 | 699 | | |
669 | 700 | | |
670 | 701 | | |
671 | 702 | | |
672 | 703 | | |
673 | 704 | | |
| 705 | + | |
674 | 706 | | |
675 | 707 | | |
676 | 708 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
53 | 62 | | |
54 | 63 | | |
55 | 64 | | |
| |||
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
330 | 330 | | |
331 | 331 | | |
332 | 332 | | |
333 | | - | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
334 | 337 | | |
335 | 338 | | |
336 | 339 | | |
| |||
385 | 388 | | |
386 | 389 | | |
387 | 390 | | |
| 391 | + | |
388 | 392 | | |
389 | 393 | | |
390 | 394 | | |
391 | 395 | | |
| 396 | + | |
392 | 397 | | |
393 | 398 | | |
394 | 399 | | |
395 | 400 | | |
396 | 401 | | |
397 | 402 | | |
| 403 | + | |
398 | 404 | | |
399 | 405 | | |
400 | 406 | | |
| |||
0 commit comments