{"action":"created","issue":{"url":"https://api.github.com/repos/andlabs/libui/issues/214","repository_url":"https://api.github.com/repos/andlabs/libui","labels_url":"https://api.github.com/repos/andlabs/libui/issues/214/labels{/name}","comments_url":"https://api.github.com/repos/andlabs/libui/issues/214/comments","events_url":"https://api.github.com/repos/andlabs/libui/issues/214/events","html_url":"https://github.com/andlabs/libui/issues/214","id":183733308,"number":214,"title":"On uiWindow events and Wayland","user":{"login":"andlabs","id":718242,"avatar_url":"https://avatars.githubusercontent.com/u/718242?v=3","gravatar_id":"","url":"https://api.github.com/users/andlabs","html_url":"https://github.com/andlabs","followers_url":"https://api.github.com/users/andlabs/followers","following_url":"https://api.github.com/users/andlabs/following{/other_user}","gists_url":"https://api.github.com/users/andlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/andlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andlabs/subscriptions","organizations_url":"https://api.github.com/users/andlabs/orgs","repos_url":"https://api.github.com/users/andlabs/repos","events_url":"https://api.github.com/users/andlabs/events{/privacy}","received_events_url":"https://api.github.com/users/andlabs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/andlabs/libui/labels/notes","name":"notes","color":"5319e7"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/andlabs/libui/milestones/1","html_url":"https://github.com/andlabs/libui/milestones/Alpha%204","labels_url":"https://api.github.com/repos/andlabs/libui/milestones/1/labels","id":1950577,"number":1,"title":"Alpha 4","description":"","creator":{"login":"andlabs","id":718242,"avatar_url":"https://avatars.githubusercontent.com/u/718242?v=3","gravatar_id":"","url":"https://api.github.com/users/andlabs","html_url":"https://github.com/andlabs","followers_url":"https://api.github.com/users/andlabs/followers","following_url":"https://api.github.com/users/andlabs/following{/other_user}","gists_url":"https://api.github.com/users/andlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/andlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andlabs/subscriptions","organizations_url":"https://api.github.com/users/andlabs/orgs","repos_url":"https://api.github.com/users/andlabs/repos","events_url":"https://api.github.com/users/andlabs/events{/privacy}","received_events_url":"https://api.github.com/users/andlabs/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":2,"state":"open","created_at":"2016-08-18T23:02:29Z","updated_at":"2016-10-25T22:33:36Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-10-18T16:10:59Z","updated_at":"2016-10-25T22:33:36Z","closed_at":"2016-10-25T22:33:36Z","body":"I need to continue working on this.\r\n\r\nThere are lots of bug reports related to my recent uiWindow move/resize event changes, and while working on fixing those I discovered that Wayland is going to give us a hard time. Here's what the situation looks like:\r\n\r\n```\r\n[2016-10-17T21:43:21-0400] <andlabs> so what GtkWindow operations are guaranteed to work on Wayland? and out of those, how would I do so\r\n[2016-10-17T22:23:00-0400] <andlabs> since I can't rely on gtk_window_move et. al. working synchronously\r\n[2016-10-17T22:31:59-0400] <andlabs> right now the operations I provide are\r\n[2016-10-17T22:32:01-0400] <andlabs> - move window now\r\n[2016-10-17T22:32:08-0400] <andlabs> - get window position now, even after prior calls to move window\r\n[2016-10-17T22:32:19-0400] <andlabs> - event on move window, reflects current user position\r\n[2016-10-17T22:32:25-0400] <andlabs> - same but s/move/size/g\r\n[2016-10-17T22:32:27-0400] <andlabs> - center window\r\n[2016-10-17T22:32:31-0400] <andlabs> - set and get fullscreen state\r\n[2016-10-17T22:32:38-0400] <andlabs> (the last is gtk_window_fullscreen/unfullscreen)\r\n[2016-10-17T22:50:44-0400] <andlabs> of course all of that isn't going to work in GTK+ but I'd like to know what will\r\n[2016-10-17T22:50:56-0400] <andlabs> I heard Wayland has facilities for saving a window position\r\n[2016-10-17T22:52:07-0400] <TingPing> probably entirely up to the compositor\r\n[2016-10-17T23:25:48-0400] <andlabs> hmmm\r\n[2016-10-17T23:28:53-0400] <andlabs> what's the relevant documentation in the wyaland API then?\r\n[2016-10-17T23:57:27-0400] <jadahl> andlabs: (assuming all windows are toplevels, i.e. not popups, menus etc), what wont work in wayland now is: move window now, get window position, event on window move, center window\r\n[2016-10-17T23:57:54-0400] <jadahl> andlabs: what eventually might work: center window, remember/restore position\r\n[2016-10-17T23:58:12-0400] <jadahl> andlabs: what works: resize, get/set fullscreen\r\n[2016-10-18T06:38:06-0400] <andlabs> jadahl: the remember window position stuff doesn't exist yet? hm\r\n[2016-10-18T06:38:10-0400] <andlabs> good to know, thanks\r\n[2016-10-18T06:55:45-0400] <jadahl> andlabs: no-one have done it, so it doesn't exist\r\n[2016-10-18T06:59:46-0400] <andlabs> jadahl: all right, thanks\r\n[2016-10-18T06:59:52-0400] <andlabs> I wonder where I got the idea that it was done already from\r\n```\r\n\r\nPending: questions about simulating user moves and resizes a la GTK+ CSD (for pcwalton's requested features)\r\n\r\n```\r\n[12:12:15]  <baedert>\tandlabs: the code for gtk+ is in gtkwindow.c, the part using gdk_window_begin_move_drag_for_resize\r\n[12:12:39]  <andlabs>\tright, my question was more \"does it work already\"\r\n[12:12:53]  <andlabs>\tfor GTK+ I could use gdk_window_begin_move_drag_for_resize right now\r\n[12:13:01]  <andlabs>\tand unless weston was ported to OS X I can't test myself right now :(\r\n```\r\n\r\nSo I'm going to have to get rid of the move stuff outright.\r\n\r\nShould I keep the resize stuff? I forget if that's async too. I could ask again...\r\n\r\nShould I keep the fullscreen stuff — do people need it? I might keep it for the sake of the OpenGL control..."},"comment":{"url":"https://api.github.com/repos/andlabs/libui/issues/comments/256197590","html_url":"https://github.com/andlabs/libui/issues/214#issuecomment-256197590","issue_url":"https://api.github.com/repos/andlabs/libui/issues/214","id":256197590,"user":{"login":"andlabs","id":718242,"avatar_url":"https://avatars.githubusercontent.com/u/718242?v=3","gravatar_id":"","url":"https://api.github.com/users/andlabs","html_url":"https://github.com/andlabs","followers_url":"https://api.github.com/users/andlabs/followers","following_url":"https://api.github.com/users/andlabs/following{/other_user}","gists_url":"https://api.github.com/users/andlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/andlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andlabs/subscriptions","organizations_url":"https://api.github.com/users/andlabs/orgs","repos_url":"https://api.github.com/users/andlabs/repos","events_url":"https://api.github.com/users/andlabs/events{/privacy}","received_events_url":"https://api.github.com/users/andlabs/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T22:33:36Z","updated_at":"2016-10-25T22:33:36Z","body":"Everything here seems to work out according to plan."}}
{"actor":{"display_login":"andlabs"}}