-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG -- Minimize to tray: Does not properly restore #13
Comments
Need to add to this that "shade"-action also triggers "minimize-to-tray"-action, which it should NOT. |
I have added an image for the icon and also changed the order of some calls when restoring the program from the tray. I don't think it'll have any effect though. What does 'minimized-yet-semi-invisible" mean when you click on this icon? |
I can confirm there is a visible icon now. The fix you applied did make things better - now it restores (see notes) to minimized-state when clicking the tray. While the desired result would be restored as un-minimized. Before the fix, clicking either "minimize" or "shade" (see descriptions) would trigger the "minimize-to-tray" without graphical glitches, and - after clicking the non-icon in the tray - it didn't reappear in the activity field (the field to which applications normally go when minimized). While in this state, using the launcher would result in failing to start as it's allready running. Bringing it back up required a work-around, hence calling it "semi" - as it's was actually there, but at the same time invisible to the user. Descriptions: Notes: |
I have made changes to how the windows are restored again, but this kind of patching isn't a great way to fix things. It would be best if you could debug the program and see what's happening. Restoring zkanji when it is started a second time is the planned behavior. The previous versions did that, but those were Windows only. I'll need to figure out how to communicate between programs with Qt, to make this cross platform. I'll check what to do with the shade button. I have no experience using it even on Linux. |
I'll take a look at this after the radical data & SVG's. |
I got a few behaviour-questions in regards to this "Minimize to tray" feature in-before I run debugging and start messing with things. As for SHADE, I forgot to mentionen that SHADE bahaves the way it should until "Minimize to tray" is ENABLED. Once ENABLED, it miss-behaves. Also, is it design that the CLOSE-button calls EXIT even when "Minimize to tray" is ENABLED? In my experience, on Linux when "Minimize to tray" is ENABLED: I got surprised the bahavour of CLOSE-button didn't change with this setting. Reference cross-platform applications today with "minimize to tray" which do behave as described: Clementine, Deluge, VLC etc. |
The shade should do what it was made for, to follow the system standards. Unfortunately Qt doesn't seem to support it. It allows controlling whether the shade button appears, but I can't differentiate between minimize and shade. When I get notified that some state changed happened to the window, it always gives me WindowMinimized on shade too. There might be ways around this, but searches online didn't give me anything. "Minimize to Tray" wasn't a standard way to hide windows in the early-middle days of the tray on Windows and I had many programs that do exactly what zkanji does. (Like winamp for example. Too bad that one died.) If a program minimizes to the tray when I close it, I'll kill it with fire, because personally I hate that behavior. This makes closing programs much more complicated than this simple act should be. It could be an option in the settings though, or make it the default on Linux maybe, which would also "fix" the shade problem. |
I think it should be default behaviour on Linux due to SHADE, however - please do make it a setting if it's not too much work. |
The original program should now restore from tray when you try to start it a second time. Linux seems to refuse to activate a window if it's already shown, but (at least in KDE) it now flashes the taskbar button if you start it separately again. I will try to add the "fix" for the shade now. Is restoring from the tray with mouse click still doesn't work correctly? It seems "floating" the popup dictionary will make it simply disappear which must be fixed too. |
The only issue with KWin, which I am aware of, is with a
Okay, now I'm gonna be annoying - please forgive me. And I know I - and some acquaintices - belong to a rare category in this aspect, but I'd still like to enlighten you on this. Please bear with me. I noted this too, the popup can be moved, but only using special WM-shortcut which allows moving windows without frame/decorations - and this popup will allways end up on DEFAULT PRIMARY MONITOR. As a multi-screen user - with all 90-degree flippable monitors (usually with some as horizontal and some as vertical) - I really do not like this behaviour at all. It should follow WM-rules and end up on the monitor with the pointer (active monitor). Starting zKanji makes it restore to last position, even when Question: Also, keep this in mind and see last section(s) of todays post @ #14 - it relates to this. |
Qt misses the functionality to do anything with shaded windows whatsoever. I would have to use Linux specific commands, but I'm not an expert on Linux GUI development, so I'll need help with this.
It's what I tell it to do and it works fine on KDE for me. And also...
This looks like an issue with Qt and/or the WM. (i.e. message from Qt is sent to WM that ignores it for seconds because it should be notified differently)
I will look into it, but it might break the current functionality by having a permanent icon, so this can have some negative consequences. Skipping the state of being minimized is what is supposed to happen already. Maybe your WM doesn't allow this to happen?
I have no experience with multiple monitors. I welcome any clues on how it should work.
While I do understand your frustration, you also have to understand that zkanji is in mid-development, so most of the issues with it are due to it being an unfinished program. All the colorization issues, bad font sizes, some functionality being broken or settings not doing what they are supposed to is due to this. When you arrived I was about to start going over everything, fixing such bugs and making an initial release on Windows (because I did almost all my development there.)
I doubt it, but zkanji is complex enough now that things can break each other even if they seem unrelated. For now the answer is still "no" though. |
By the way could you please open new issues when they come up and not write everything here? Even if it's easier and faster to mention them all at once, having to scan through every existing open issue all the time is time consuming. |
I was going to see what's wrong with this, but it seems to me it's just a misleading phrasing of the option. The main window position refers to whether it's minimized or maximized on startup, nothing more. If you need the option to stop moving the main window to the monitor it was on before, uncheck the After reading your description my understanding is that windows should save their sizes and positions, but restore them always on the monitor with the mouse, relative to each other. In that case you might need entirely different options for this. Do you have any hints what is it you need? Rotating/flipping your monitors that thus change resolution is a rather rare use case. Please explain how other apps behave so zkanji can do something similar. |
First off, in-before anything: You're doing a great job - hats off for you! I don't bring things up as negative criticism - I have absolutely no ill intentions - but in order to enlighten you in regards to various aspects worth a thought, and things which are good if kept in mind during further development. Whatever suggestions, request or work I help with - I will leave final decision to you. Also, I'm not expecting "finished"-state of any sort for an ALPHA. (Seriously, what ALPHA is NOT buggy and NOT subject for being re-written?) Although I've been aware all this time, since it's stated in the README, I'm actually impressed to the point where it's hard to believe you're just a single programmer doing this. I wish I could spend a lot more time helping you, but unfortunately I can only offer what time I can spare. To the extent possible - and within the limitations of my capabilities - I offer to lend a hand. |
If you know Qt programs minimizing to tray correctly which are open source, I could check what they do. I thought of this before, but after reading your WM-related positioning issue post, I'm sure that the only way I could safely make zkanji behave well on all those WMs you and the others tried would be to do extensive testing on them myself, and that's not going to happen any time soon because of time issues.
I have zero influence over this, I just tell Qt what to do. Few reasons I can think of:
I reacted that way because you showed clear frustration over the multiple monitor behavior. I have frustrating experience with many programs as well so I understand this. I didn't mean to sound defensive, nor blame you for anything. You help a great deal letting me know of all these issues, because otherwise I'd be in the dark and would probably never find out about them. |
@ No
I should probably point out the use of CAPITAL-letters is to emphase important key(s) in the text for ease of detection when wanting to find something on-the-fly, they are not used for any form of aggression - just a bad habit of mine from too much CLI... |
How is the state of this issue currently? Does the program restore or are there still visual bugs? |
As known, no icon showing when minimizing to tray - but, upon clicking this no-icon no-description empty slot, it dissapears and is NOT restored. However, neither does it crash. It's still possible to bring it back up, but it's at the same time not present in an active-window list. It's sort-of restored to a "minimized-yet-semi-invisible"-mode instead of "restore window"-mode.
Also, if trying to launch zkanji while still minimized at tray, it refuses to launch - would it be possible to trigger "restore window"-action instead of refusing completely upon this event?
Solution proposal:
Currently none.
The text was updated successfully, but these errors were encountered: