Open main menu

Difference between revisions of "Windows/Console"

2,177 bytes added ,  00:23, 26 October 2010
Line 48: Line 48:
: I disagree, most users don't care about the warnings that we throw. Most warnings are very confusing/cryptic for the user anyway, and the critical ones should be replaced with some sort of GUI popup, when possible --[[User:Md5|Md5]]
: I disagree, most users don't care about the warnings that we throw. Most warnings are very confusing/cryptic for the user anyway, and the critical ones should be replaced with some sort of GUI popup, when possible --[[User:Md5|Md5]]
: There are some warnings that are important for users and that we do not show anywhere except for the console. I consider these to be bugs, and should be identified and fixed. Then, there might be some output that could be potentially for a few power users. These users can simply switch the default back to always showing the console. I do not believe, however, that the average user would benefit from seeing the warnings. Please give concrete examples of messages you think regular users would benefit from seeing, so that we can discuss them specifically. I don't think it makes sense to stay abstract on this point. --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
: There are some warnings that are important for users and that we do not show anywhere except for the console. I consider these to be bugs, and should be identified and fixed. Then, there might be some output that could be potentially for a few power users. These users can simply switch the default back to always showing the console. I do not believe, however, that the average user would benefit from seeing the warnings. Please give concrete examples of messages you think regular users would benefit from seeing, so that we can discuss them specifically. I don't think it makes sense to stay abstract on this point. --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
:: Any warnings related to failing when loading the data files, due to corrupt or missing files. Even warnings about missing code or features, or code points which need to be triggered. Many warnings of these types still exist in the current source code of the game engines, although they should be converted to errors or GUI dialog in the future. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
* If a known issue occurs, but isn't suitable for GUI feedback, then users lose that information.
* If a known issue occurs, but isn't suitable for GUI feedback, then users lose that information.
** For example: Original bugs in games based of AGOS game engine, can cause a few wait timeouts, which can make ScummVM appear as locked up.
** For example: Original bugs in games based of AGOS game engine, can cause a few wait timeouts, which can make ScummVM appear as locked up.
*** Yes, but noone notices the console in this case anyway --[[User:Md5|Md5]]
: Yes, but noone notices the console in this case anyway --[[User:Md5|Md5]]
:: How exactly does the console help in this case? Does it show a message saying "You may think the engine is locked up, but it isn't, this is really a bug that is happening right now!" ? I don't think so... So, can you please explain how having the console visible helps the user, so that we can better discuss this point? --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
:: How exactly does the console help in this case? Does it show a message saying "You may think the engine is locked up, but it isn't, this is really a bug that is happening right now!" ? I don't think so... So, can you please explain how having the console visible helps the user, so that we can better discuss this point? --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
::: A user notices ScummVM is no longer responding to user input, checks the console window (can still toggle between fullscreen and window), and notices the warning(s). A few wait timeouts can occur in a row, when these bugs occur. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
::: Basically if an issue that isn't critical (crash or lockup) occurs, the console could provide information on why that occurs, if there are related warnings. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
* A single log file can easily be overwritten, if a user relies solely on logs for reporting bugs or issues. This is exactly the same situation with console windows, though.
* A single log file can easily be overwritten, if a user relies solely on logs for reporting bugs or issues. This is exactly the same situation with console windows, though.
** Multiple logs would lead to more confusion, about which file to submit, if that method was used.
** Multiple logs would lead to more confusion, about which file to submit, if that method was used.
Line 57: Line 60:
:: If the console was specifically allocated for that executable and has not been attached to by another executable, [http://msdn.microsoft.com/en-us/library/ms683150(v=VS.85).aspx the console dies with the process]. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
:: If the console was specifically allocated for that executable and has not been attached to by another executable, [http://msdn.microsoft.com/en-us/library/ms683150(v=VS.85).aspx the console dies with the process]. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
::: Based on what Pidgeot writes, I think this "con" argument is no argument at all. --[[User:Fingolfin|Fingolfin]] 16:46, 25 October 2010 (UTC)
::: Based on what Pidgeot writes, I think this "con" argument is no argument at all. --[[User:Fingolfin|Fingolfin]] 16:46, 25 October 2010 (UTC)
:: Just noting the disadvantages of solely rely on logs. The main advantage of a console window over logs, is immediate information on why a non-critical issue occurs, if there are related warnings. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
** If logs files are used, how do we handle multiple ScummVM be run at the same time? I expect this would effect developers more (i.e. when tracing regressions), and not be common with users though.
* If a toggle is added for opening/closing the console window (showing all previous output), users will be dumped back to the desktop. And jumping back into ScummVM can result in further issues, of screen going out of sync or crash, with poor display drivers.
* If a toggle is added for opening/closing the console window (showing all previous output), users will be dumped back to the desktop. And jumping back into ScummVM can result in further issues, of screen going out of sync or crash, with poor display drivers.
: Hiding a window is a standard procedure in Windows. If a user has such a badly broken graphics driver, then this will be the least of his problems, nothing will work properly --[[User:Md5|Md5]]
: Hiding a window is a standard procedure in Windows. If a user has such a badly broken graphics driver, then this will be the least of his problems, nothing will work properly --[[User:Md5|Md5]]
: How is this an argument for showing the console by default? If the user is in full screen mode, he cannot see the console anyway. If at all, this is an argument against having a simple hotkey for toggling the console visibility. However, this hotkey would not be used by regular users anyway. And if we are *really* concerned, we could disable the hotkey while in fullscreen mode. We could even make it so that showing the console is delayed until the user manually switches back to windowed mode (its  trivial to implement this, too). --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
: How is this an argument for showing the console by default? If the user is in full screen mode, he cannot see the console anyway. If at all, this is an argument against having a simple hotkey for toggling the console visibility. However, this hotkey would not be used by regular users anyway. And if we are *really* concerned, we could disable the hotkey while in fullscreen mode. We could even make it so that showing the console is delayed until the user manually switches back to windowed mode (its  trivial to implement this, too). --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
 
:: An on-demand console window was previously suggested as an alternative, any user could be requested to display this on-demand console for any bugs/issues that occur. Forcing a user to manually toggle back on window mode, is a kludge. Basically SDL programs for Windows don't handle been dumped back to the desktop, and then been resumed later well, and we should not put users at the risk of further crashes or display issues. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
* The current option is inconsistent, when starting directly (no console), compared to starting via a command prompt (console used, and prompt not returned). The standard behavior of GUI only programs, is to return the prompt straight away, if started by a command prompt.  
* The current option is inconsistent, when starting directly (no console), compared to starting via a command prompt (console used, and prompt not returned). The standard behavior of GUI only programs, is to return the prompt straight away, if started by a command prompt.  
: This already happens with the currently submitted patch by m_kiewitz --[[User:Md5|Md5]]
: This already happens with the currently submitted patch by m_kiewitz --[[User:Md5|Md5]]
Line 66: Line 71:
:I do not consider the option inconsistent at all. If one starts from a console, then that is a different situation than starting ScummVM by other (more GUI like) means. Why should two very different situations be considered inconsistent if they behave differently, as long as the behavior is consistent with how other apps behave in such a situation? Point in case, if I start an application on Linux or Mac OS X (or Windows, for that matter) from a console I opened, I would expect the console to stay open, and to block until the program exits. That is the normal behavior everywhere. On the other hand, if I launch a program via the GUI, I do *not* expect a console to pop up. Hence, I think the *current* behavior is inconsistent with everybody else. --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
:I do not consider the option inconsistent at all. If one starts from a console, then that is a different situation than starting ScummVM by other (more GUI like) means. Why should two very different situations be considered inconsistent if they behave differently, as long as the behavior is consistent with how other apps behave in such a situation? Point in case, if I start an application on Linux or Mac OS X (or Windows, for that matter) from a console I opened, I would expect the console to stay open, and to block until the program exits. That is the normal behavior everywhere. On the other hand, if I launch a program via the GUI, I do *not* expect a console to pop up. Hence, I think the *current* behavior is inconsistent with everybody else. --[[User:Fingolfin|Fingolfin]] 15:37, 25 October 2010 (UTC)
:: On Windows, it *is* actually very common for GUI programs to not block the console ever - but then, those programs don't use the console for anything. It makes sense to block in our case, because we *do* use it, but in my experience it's much more common to use a logfile. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
:: On Windows, it *is* actually very common for GUI programs to not block the console ever - but then, those programs don't use the console for anything. It makes sense to block in our case, because we *do* use it, but in my experience it's much more common to use a logfile. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
 
:: You comments seem based on experiences on other platforms, we should match the standard behavior of Windows GUI programs, on Windows. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
:Why is this pro/con hiding only? There is also the possibility of just showing the console, when its actually needed (error in game or md5 for unknown game etc.) - m_kiewitz
:Why is this pro/con hiding only? There is also the possibility of just showing the console, when its actually needed (error in game or md5 for unknown game etc.) - m_kiewitz
:: I am not completely sure at what your comment is directed. Please clarify :) --[[User:Fingolfin|Fingolfin]] 15:56, 25 October 2010 (UTC)
:: I am not completely sure at what your comment is directed. Please clarify :) --[[User:Fingolfin|Fingolfin]] 15:56, 25 October 2010 (UTC)
::: We currently hide the console right at the start. We could theoretically show it again, when the user tries to add an unknown game. This would make it possible to copy the md5 out of the window. Of course it's not common behaviour, but it would solve some of our hiding problems --[[User:m_kiewitz|m_kiewitz]] 18:07, 25 October 2010 (UTC)
::: We currently hide the console right at the start. We could theoretically show it again, when the user tries to add an unknown game. This would make it possible to copy the md5 out of the window. Of course it's not common behaviour, but it would solve some of our hiding problems --[[User:m_kiewitz|m_kiewitz]] 18:07, 25 October 2010 (UTC)
:: Showing the Windows console "on-demand" is not common behavior on Windows - you either open the console at the same time as your program, or you don't open it at all. If we were talking about the "internal" console, or a separate GUI window, it can work, although it's not ideal either. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
:: Showing the Windows console "on-demand" is not common behavior on Windows - you either open the console at the same time as your program, or you don't open it at all. If we were talking about the "internal" console, or a separate GUI window, it can work, although it's not ideal either. --[[User:Pidgeot|Pidgeot]] 16:23, 25 October 2010 (UTC)
::: Yes, I have not come across any Windows program that will show the console window on demand in that way. [[User:Kirben|Kirben]] 00:23, 26 October 2010 (UTC)
657

edits