{"action":"created","issue":{"url":"https://api.github.com/repos/SFML/SFML/issues/744","repository_url":"https://api.github.com/repos/SFML/SFML","labels_url":"https://api.github.com/repos/SFML/SFML/issues/744/labels{/name}","comments_url":"https://api.github.com/repos/SFML/SFML/issues/744/comments","events_url":"https://api.github.com/repos/SFML/SFML/issues/744/events","html_url":"https://github.com/SFML/SFML/issues/744","id":50482211,"number":744,"title":"Add support for maximizing window programmatically","user":{"login":"DanielJPetersen","id":5576311,"avatar_url":"https://avatars.githubusercontent.com/u/5576311?v=3","gravatar_id":"","url":"https://api.github.com/users/DanielJPetersen","html_url":"https://github.com/DanielJPetersen","followers_url":"https://api.github.com/users/DanielJPetersen/followers","following_url":"https://api.github.com/users/DanielJPetersen/following{/other_user}","gists_url":"https://api.github.com/users/DanielJPetersen/gists{/gist_id}","starred_url":"https://api.github.com/users/DanielJPetersen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanielJPetersen/subscriptions","organizations_url":"https://api.github.com/users/DanielJPetersen/orgs","repos_url":"https://api.github.com/users/DanielJPetersen/repos","events_url":"https://api.github.com/users/DanielJPetersen/events{/privacy}","received_events_url":"https://api.github.com/users/DanielJPetersen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SFML/SFML/labels/feature","name":"feature","color":"23BA35"},{"url":"https://api.github.com/repos/SFML/SFML/labels/m:sfml-window","name":"m:sfml-window","color":"cccccc"},{"url":"https://api.github.com/repos/SFML/SFML/labels/s:accepted","name":"s:accepted","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/SFML/SFML/milestones/14","html_url":"https://github.com/SFML/SFML/milestones/2.5","labels_url":"https://api.github.com/repos/SFML/SFML/milestones/14/labels","id":1753890,"number":14,"title":"2.5","description":"","creator":{"login":"binary1248","id":949359,"avatar_url":"https://avatars.githubusercontent.com/u/949359?v=3","gravatar_id":"","url":"https://api.github.com/users/binary1248","html_url":"https://github.com/binary1248","followers_url":"https://api.github.com/users/binary1248/followers","following_url":"https://api.github.com/users/binary1248/following{/other_user}","gists_url":"https://api.github.com/users/binary1248/gists{/gist_id}","starred_url":"https://api.github.com/users/binary1248/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/binary1248/subscriptions","organizations_url":"https://api.github.com/users/binary1248/orgs","repos_url":"https://api.github.com/users/binary1248/repos","events_url":"https://api.github.com/users/binary1248/events{/privacy}","received_events_url":"https://api.github.com/users/binary1248/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":1,"state":"open","created_at":"2016-05-08T20:51:56Z","updated_at":"2016-05-08T21:52:53Z","due_on":null,"closed_at":null},"comments":17,"created_at":"2014-12-01T02:40:22Z","updated_at":"2016-05-08T23:11:52Z","closed_at":null,"body":"I proposed this on the [SFML forums](http://en.sfml-dev.org/forums/index.php?topic=16903) and was told to make an issue of it here."},"comment":{"url":"https://api.github.com/repos/SFML/SFML/issues/comments/217751919","html_url":"https://github.com/SFML/SFML/issues/744#issuecomment-217751919","issue_url":"https://api.github.com/repos/SFML/SFML/issues/744","id":217751919,"user":{"login":"binary1248","id":949359,"avatar_url":"https://avatars.githubusercontent.com/u/949359?v=3","gravatar_id":"","url":"https://api.github.com/users/binary1248","html_url":"https://github.com/binary1248","followers_url":"https://api.github.com/users/binary1248/followers","following_url":"https://api.github.com/users/binary1248/following{/other_user}","gists_url":"https://api.github.com/users/binary1248/gists{/gist_id}","starred_url":"https://api.github.com/users/binary1248/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/binary1248/subscriptions","organizations_url":"https://api.github.com/users/binary1248/orgs","repos_url":"https://api.github.com/users/binary1248/repos","events_url":"https://api.github.com/users/binary1248/events{/privacy}","received_events_url":"https://api.github.com/users/binary1248/received_events","type":"User","site_admin":false},"created_at":"2016-05-08T23:11:52Z","updated_at":"2016-05-08T23:11:52Z","body":"> I find it a bit too simple to dismiss this as \"too lazy\" when Qt, the most popular C++ UI library, uses this approach and has -- in contrast to us -- decades of experience with windowing/UI APIs. Don't understand this as an argument from authority to imply they are automatically right, but we should at least try to understand the rationale behind their design decision, as there's a chance that it was not lazyness :wink:\r\n\r\nIt's funny you mention Qt, because I am somewhat forced to work with it professionally. I can tell you one thing, if you dig deeper and actually want to get meaningful work done with the library, you will be hard pressed to find any kind of consistent \"rationale\" behind the way they do things. What you see in the documentation and what people often state are probably afterthoughts to legitimize their often times unintuitive API. My main problem with the Qt people is that they place themselves above the language they supposedly support. You have to ask yourself whether in 2016, we should still consider a library who neglects RAII and general exception/thread safety, still builds on top of their own non-standard additions to the language requiring additional build tools and worst of all, dismisses any attempt to solve problems using the library in an unexpected way as unacceptable/not fully supported as an example for our own API. I could go on and on with reasons why Qt doesn't deserve the following it has now, but I assume you already know that because it is so big, it gets to enjoy the nice positive feedback loop it has built itself.\r\n\r\nIf anything, Qt is the perfect example of how not to implement a _modern_ C++ API if you disregard the trivialities that nobody should ever get wrong. The only reason why it works for them is because people have no where else to run. As you mentioned, Qt follows the \"one line to do everything\" approach throughout their API which involves a lot of hidden state changing. From the perspective of someone learning how to use the API or just has to do a lot of debugging for whatever reason, this is a complete nightmare. You are trading the cost of having to write a few extra lines of code (_if you actually need them_) for the cost of having to spend more time wondering what went wrong if something did go wrong or if you didn't understand the API properly. Qt devotees would probably shrug this off with \"make less mistakes then\" but that just emphasizes the problem and why we should really stay away from that route, especially since SFML has such a good reputation amongst beginning developers. SFML, as its name implies, is meant to be simple and fast. It is simple, because it follows the \"what you code is what you get\" principle and it is fast, because like in C++, you only pay for what you ask for. There is a reason why RISC instruction sets ultimately prevailed over CISC, and that is not the only place where you will find such trends (Vulkan vs OpenGL as well)."}}