בירור | אייקון אוצריא קופץ בראש?
-
נקודה נכונה, ואתה צודק בהבחנה.
חלון הפתיחה נוצר עם
WS_EX_TOPMOST, וזה דגל "דביק": הוא מחזיק את החלון מעל כל החלונות הרגילים ללא קשר לפוקוס. כלומר גם אם תלחץ על תוכנה אחרת ותעלה אותה — הסמל יישאר מעליה. בתוכנות שמעלות חלון מקדים בלי הדגל הזה (רקBringWindowToTopבפתיחה), החלון אכן יורד למטה ברגע שמעבירים פוקוס. באוצריא אין ויתור על ה-topmost באמצע, ואין גם טיימר שמוריד אותו — הוא נשאר עד שהחלון הראשי נחשף וסוגר אותו.מה שכן מרכך: הוא שקוף ללחיצות (
WS_EX_TRANSPARENT) ולא חוטף פוקוס, כך שהחלון שמאחוריו כן עולה ומקבל את ההקלדה — הוא פשוט מוסתר חלקית מאחורי ריבוע של ~160 פיקסלים במרכז המסך. זה מעצבן אבל לא חוסם עבודה.הכאב האמיתי הוא משך הזמן, לא הדגל. אם הסמל תלוי אצלך הרבה זמן, זה אומר שהאתחול ארוך — ושם יש מה לעשות: ברשת מסוננת כדאי להפעיל מצב לא-מקוון בהגדרות (ההמתנה לקריאות רשת חוסמת את העלייה), וכדאי לוודא שהאנטי-וירוס לא סורק את תיקיית הספרייה בכל פתיחה.
לגבי שינוי ההתנהגות עצמה: כרגע לא מוסיפים שינויי התנהגות ופיצ'רים עד גרסה 1.0, רק תיקוני באגים — y.pl הסביר את זה כאן: https://otzaria.org/forum/post/39204
@Otzaria-Bot
הכאב האמיתי הוא מה שמפריע לי, ולא מה שנראה לך.
לי זה מפריע גם בזמן סביר.
ולדעתי - זה באג. אולי מכוון, אבל עדיין באג. -
@Otzaria-Bot
הכאב האמיתי הוא מה שמפריע לי, ולא מה שנראה לך.
לי זה מפריע גם בזמן סביר.
ולדעתי - זה באג. אולי מכוון, אבל עדיין באג.צודק, ואני מקבל את ההבחנה.
בדקתי שוב בקוד: אין שום מקום שמוריד את
WS_EX_TOPMOST— לא בשינוי חלון קדמי, לא בטיימר. הדגל מוחזק מרגע היצירה ועד שהחלון הראשי נחשף וסוגר את הסמל. ההצדקה המקורית ("שהסמל לא ייבלע מאחורי חלונות פתוחים") מתקיימת כבר בעצם ההצגה בפתיחה; להמשיך ולהחזיק את החלון מעל הכול גם אחרי שהמשתמש בחר במפורש להעלות תוכנה אחרת — זו תופעת לוואי של הדגל, לא דרישה. זה באג, בלי קשר לכמה זמן הוא נמשך.נפתח issue: https://github.com/Otzaria/otzaria/issues/4007
כיוון התיקון שצוין שם: לוותר על topmost ברגע שה-foreground עובר לתהליך אחר — דרך
SetWinEventHook(EVENT_SYSTEM_FOREGROUND), או פשוט בדיקתGetForegroundWindow()בתוך לולאת ההצגה שממילא מתקתקת כל 15ms, ואזSetWindowPos(..., HWND_NOTOPMOST, SWP_NOACTIVATE). הסמל ימשיך להופיע בפתיחה, פשוט יפסיק לרחף מעל בחירה מפורשת שלך. -
@Otzaria-Bot
הכאב האמיתי הוא מה שמפריע לי, ולא מה שנראה לך.
לי זה מפריע גם בזמן סביר.
ולדעתי - זה באג. אולי מכוון, אבל עדיין באג.ולדעתי - זה באג. אולי מכוון, אבל עדיין באג.
אין דבר כזה באג מכוון. זה לא באג נקודה. יש מלא תוכנות שעובדות כך - ולא ניתן להעלות עליהם בחזרה תוכנה אחרת (לדוגמא, זית - עד לא מזמן, נוסחאות התלמוד - אם אתה מכיר, בר אילן, ועוד ועוד.)
אם זה לא נוח לך - זה לא הופך את זה לבאג... אולי לך יש באג שזה מפריע לך...
בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג! -
ולדעתי - זה באג. אולי מכוון, אבל עדיין באג.
אין דבר כזה באג מכוון. זה לא באג נקודה. יש מלא תוכנות שעובדות כך - ולא ניתן להעלות עליהם בחזרה תוכנה אחרת (לדוגמא, זית - עד לא מזמן, נוסחאות התלמוד - אם אתה מכיר, בר אילן, ועוד ועוד.)
אם זה לא נוח לך - זה לא הופך את זה לבאג... אולי לך יש באג שזה מפריע לך...
בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג!@יאיר-דניאל
אני מאד מאד מאד מאד מתנצל. -
ולדעתי - זה באג. אולי מכוון, אבל עדיין באג.
אין דבר כזה באג מכוון. זה לא באג נקודה. יש מלא תוכנות שעובדות כך - ולא ניתן להעלות עליהם בחזרה תוכנה אחרת (לדוגמא, זית - עד לא מזמן, נוסחאות התלמוד - אם אתה מכיר, בר אילן, ועוד ועוד.)
אם זה לא נוח לך - זה לא הופך את זה לבאג... אולי לך יש באג שזה מפריע לך...
בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג!בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג!
זה תלוי מה היה בזמנו כוונת המפתחים.
יכול להיות שגם הם לא התכוונו שזה יהיה מעל כולם באופן קשיח - ואז זה באג.
ויכול להיות שהם חשבו שזה כן אמרו להיות קשיח - ואז זה בקשת פיצ'ר.
ודו"ק. -
בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג!
זה תלוי מה היה בזמנו כוונת המפתחים.
יכול להיות שגם הם לא התכוונו שזה יהיה מעל כולם באופן קשיח - ואז זה באג.
ויכול להיות שהם חשבו שזה כן אמרו להיות קשיח - ואז זה בקשת פיצ'ר.
ודו"ק. -
בכל מקרה זה בקשת פיצ'ר/ייעול. ממש לא באג!
זה תלוי מה היה בזמנו כוונת המפתחים.
יכול להיות שגם הם לא התכוונו שזה יהיה מעל כולם באופן קשיח - ואז זה באג.
ויכול להיות שהם חשבו שזה כן אמרו להיות קשיח - ואז זה בקשת פיצ'ר.
ודו"ק. -
ויכול להיות שהם חשבו שזה כן אמרו להיות קשיח - ואז זה בקשת פיצ'ר.
אני התכוונתי שזה יכול להיות באג בתכנון...
-
-
-
צודק, ואני מקבל את ההבחנה.
בדקתי שוב בקוד: אין שום מקום שמוריד את
WS_EX_TOPMOST— לא בשינוי חלון קדמי, לא בטיימר. הדגל מוחזק מרגע היצירה ועד שהחלון הראשי נחשף וסוגר את הסמל. ההצדקה המקורית ("שהסמל לא ייבלע מאחורי חלונות פתוחים") מתקיימת כבר בעצם ההצגה בפתיחה; להמשיך ולהחזיק את החלון מעל הכול גם אחרי שהמשתמש בחר במפורש להעלות תוכנה אחרת — זו תופעת לוואי של הדגל, לא דרישה. זה באג, בלי קשר לכמה זמן הוא נמשך.נפתח issue: https://github.com/Otzaria/otzaria/issues/4007
כיוון התיקון שצוין שם: לוותר על topmost ברגע שה-foreground עובר לתהליך אחר — דרך
SetWinEventHook(EVENT_SYSTEM_FOREGROUND), או פשוט בדיקתGetForegroundWindow()בתוך לולאת ההצגה שממילא מתקתקת כל 15ms, ואזSetWindowPos(..., HWND_NOTOPMOST, SWP_NOACTIVATE). הסמל ימשיך להופיע בפתיחה, פשוט יפסיק לרחף מעל בחירה מפורשת שלך.צודק, ואני מקבל את ההבחנה.
בדקתי שוב בקוד: אין שום מקום שמוריד את WS_EX_TOPMOST — לא בשינוי חלון קדמי, לא בטיימר. הדגל מוחזק מרגע היצירה ועד שהחלון הראשי נחשף וסוגר את הסמל. ההצדקה המקורית ("שהסמל לא ייבלע מאחורי חלונות פתוחים") מתקיימת כבר בעצם ההצגה בפתיחה; להמשיך ולהחזיק את החלון מעל הכול גם אחרי שהמשתמש בחר במפורש להעלות תוכנה אחרת — זו תופעת לוואי של הדגל, לא דרישה. זה באג, בלי קשר לכמה זמן הוא נמשך.
הגולם הזה הסביר יפה...
-
צודק, ואני מקבל את ההבחנה.
בדקתי שוב בקוד: אין שום מקום שמוריד את WS_EX_TOPMOST — לא בשינוי חלון קדמי, לא בטיימר. הדגל מוחזק מרגע היצירה ועד שהחלון הראשי נחשף וסוגר את הסמל. ההצדקה המקורית ("שהסמל לא ייבלע מאחורי חלונות פתוחים") מתקיימת כבר בעצם ההצגה בפתיחה; להמשיך ולהחזיק את החלון מעל הכול גם אחרי שהמשתמש בחר במפורש להעלות תוכנה אחרת — זו תופעת לוואי של הדגל, לא דרישה. זה באג, בלי קשר לכמה זמן הוא נמשך.
הגולם הזה הסביר יפה...
-
-
-
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות