{"id":777,"date":"2026-03-18T13:52:52","date_gmt":"2026-03-18T02:52:52","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=777"},"modified":"2026-03-18T13:52:52","modified_gmt":"2026-03-18T02:52:52","slug":"developing-a-new-desktop-environment","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/03\/18\/developing-a-new-desktop-environment\/","title":{"rendered":"Developing A New Desktop Environment"},"content":{"rendered":"\n<p>After spending some time messing around trying to port existing GUIs I decided to just write a new one, one advantage of this approach is that I can easily make builds for SDL2 as well as for testing on the new kernel in an emulator. Right now these only demonstrate simple mouse pointer operation, but the internal code for rendering this example is the same on either backend.<\/p>\n\n\n\n<p>(NOTE: These examples are filmed on Ubuntu, so both should just look like a mouse pointer demonstration running in a window on another desktop for now! More advanced screenshots with my own window management code etc. will come later.)<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"816\" style=\"aspect-ratio: 1036 \/ 816;\" width=\"1036\" controls src=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screencast-from-2026-03-18-13-40-59.mp4\"><\/video><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"812\" style=\"aspect-ratio: 1031 \/ 812;\" width=\"1031\" controls src=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screencast-from-2026-03-18-13-43-42.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>After spending some time messing around trying to port existing GUIs I decided to just write a new one, one advantage of this approach is that I can easily make builds for SDL2 as well as for testing on the new kernel in an emulator. Right now these only demonstrate simple mouse pointer operation, but [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-777","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/comments?post=777"}],"version-history":[{"count":1,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/777\/revisions"}],"predecessor-version":[{"id":780,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/777\/revisions\/780"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}