{"action":"closed","issue":{"url":"https://api.github.com/repos/Immington-Industries/way-cooler/issues/76","repository_url":"https://api.github.com/repos/Immington-Industries/way-cooler","labels_url":"https://api.github.com/repos/Immington-Industries/way-cooler/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/Immington-Industries/way-cooler/issues/76/comments","events_url":"https://api.github.com/repos/Immington-Industries/way-cooler/issues/76/events","html_url":"https://github.com/Immington-Industries/way-cooler/issues/76","id":171487167,"number":76,"title":"Add a TreeOptions struct for easy configurability","user":{"login":"Timidger","id":3515754,"avatar_url":"https://avatars.githubusercontent.com/u/3515754?v=3","gravatar_id":"","url":"https://api.github.com/users/Timidger","html_url":"https://github.com/Timidger","followers_url":"https://api.github.com/users/Timidger/followers","following_url":"https://api.github.com/users/Timidger/following{/other_user}","gists_url":"https://api.github.com/users/Timidger/gists{/gist_id}","starred_url":"https://api.github.com/users/Timidger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Timidger/subscriptions","organizations_url":"https://api.github.com/users/Timidger/orgs","repos_url":"https://api.github.com/users/Timidger/repos","events_url":"https://api.github.com/users/Timidger/events{/privacy}","received_events_url":"https://api.github.com/users/Timidger/received_events","type":"User","site_admin":false},"labels":[{"id":376806024,"url":"https://api.github.com/repos/Immington-Industries/way-cooler/labels/configuration","name":"configuration","color":"bfdadc","default":false},{"id":308921801,"url":"https://api.github.com/repos/Immington-Industries/way-cooler/labels/help%20wanted","name":"help wanted","color":"159818","default":true},{"id":376805960,"url":"https://api.github.com/repos/Immington-Industries/way-cooler/labels/IPC","name":"IPC","color":"0052cc","default":false},{"id":378011723,"url":"https://api.github.com/repos/Immington-Industries/way-cooler/labels/tiling","name":"tiling","color":"5319e7","default":false}],"state":"closed","locked":false,"assignee":{"login":"SnirkImmington","id":1468114,"avatar_url":"https://avatars.githubusercontent.com/u/1468114?v=3","gravatar_id":"","url":"https://api.github.com/users/SnirkImmington","html_url":"https://github.com/SnirkImmington","followers_url":"https://api.github.com/users/SnirkImmington/followers","following_url":"https://api.github.com/users/SnirkImmington/following{/other_user}","gists_url":"https://api.github.com/users/SnirkImmington/gists{/gist_id}","starred_url":"https://api.github.com/users/SnirkImmington/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SnirkImmington/subscriptions","organizations_url":"https://api.github.com/users/SnirkImmington/orgs","repos_url":"https://api.github.com/users/SnirkImmington/repos","events_url":"https://api.github.com/users/SnirkImmington/events{/privacy}","received_events_url":"https://api.github.com/users/SnirkImmington/received_events","type":"User","site_admin":false},"assignees":[{"login":"SnirkImmington","id":1468114,"avatar_url":"https://avatars.githubusercontent.com/u/1468114?v=3","gravatar_id":"","url":"https://api.github.com/users/SnirkImmington","html_url":"https://github.com/SnirkImmington","followers_url":"https://api.github.com/users/SnirkImmington/followers","following_url":"https://api.github.com/users/SnirkImmington/following{/other_user}","gists_url":"https://api.github.com/users/SnirkImmington/gists{/gist_id}","starred_url":"https://api.github.com/users/SnirkImmington/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SnirkImmington/subscriptions","organizations_url":"https://api.github.com/users/SnirkImmington/orgs","repos_url":"https://api.github.com/users/SnirkImmington/repos","events_url":"https://api.github.com/users/SnirkImmington/events{/privacy}","received_events_url":"https://api.github.com/users/SnirkImmington/received_events","type":"User","site_admin":false},{"login":"Timidger","id":3515754,"avatar_url":"https://avatars.githubusercontent.com/u/3515754?v=3","gravatar_id":"","url":"https://api.github.com/users/Timidger","html_url":"https://github.com/Timidger","followers_url":"https://api.github.com/users/Timidger/followers","following_url":"https://api.github.com/users/Timidger/following{/other_user}","gists_url":"https://api.github.com/users/Timidger/gists{/gist_id}","starred_url":"https://api.github.com/users/Timidger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Timidger/subscriptions","organizations_url":"https://api.github.com/users/Timidger/orgs","repos_url":"https://api.github.com/users/Timidger/repos","events_url":"https://api.github.com/users/Timidger/events{/privacy}","received_events_url":"https://api.github.com/users/Timidger/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Immington-Industries/way-cooler/milestones/6","html_url":"https://github.com/Immington-Industries/way-cooler/milestones/v0.4.0","labels_url":"https://api.github.com/repos/Immington-Industries/way-cooler/milestones/6/labels","id":1943865,"number":6,"title":"v0.4.0","description":"This will be the next major version of Way Cooler. It is expected to improve the usability of the window manager so that it is more on par with e.g Sway. Part of this will be IPC/Lua improvements, part of this will be tree improvements, but most of it will be work on a status bar. The status bar is one of the most important features, as at that point Way Cooler may not only be usable but also will start to be very customizable. ","creator":{"login":"Timidger","id":3515754,"avatar_url":"https://avatars.githubusercontent.com/u/3515754?v=3","gravatar_id":"","url":"https://api.github.com/users/Timidger","html_url":"https://github.com/Timidger","followers_url":"https://api.github.com/users/Timidger/followers","following_url":"https://api.github.com/users/Timidger/following{/other_user}","gists_url":"https://api.github.com/users/Timidger/gists{/gist_id}","starred_url":"https://api.github.com/users/Timidger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Timidger/subscriptions","organizations_url":"https://api.github.com/users/Timidger/orgs","repos_url":"https://api.github.com/users/Timidger/repos","events_url":"https://api.github.com/users/Timidger/events{/privacy}","received_events_url":"https://api.github.com/users/Timidger/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":4,"state":"open","created_at":"2016-08-16T00:49:46Z","updated_at":"2016-11-20T21:51:15Z","due_on":"2016-12-31T00:00:00Z","closed_at":null},"comments":5,"created_at":"2016-08-16T18:38:00Z","updated_at":"2016-11-20T21:51:15Z","closed_at":"2016-11-20T21:51:15Z","body":"We want to allow the `Tree` to have a bunch of options associated with it. An extensible struct that keeps track of that would be really nice to have. It could be populated at startup by the config file and then updated through the IPC or Lua thread as needed via a Command/Property. \n\nIn order to make it extendable we probably should just not list each individual field. @SnirkImmington do you have any ideas? A `HashMap` would be the easiest way to do that, though there might be a better way, especially in order to ensure that all options are set properly and that there are sane defaults.\n\nWe could make the entire struct via fancy macro that lets you specify a new option, it's type, and whether or not it's optional. Then expose a builder that fails if you try to compile it without setting one of the non-optional types. (The optional types would wrap the type in an `Option`).\n"}}
{"actor":{"display_login":"Timidger"}}