{"id":807,"date":"2026-03-21T01:10:27","date_gmt":"2026-03-20T14:10:27","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=807"},"modified":"2026-03-21T03:16:27","modified_gmt":"2026-03-20T16:16:27","slug":"progress-towards-terminal-emulator","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/03\/21\/progress-towards-terminal-emulator\/","title":{"rendered":"Progress Towards Terminal Emulator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The (third-party) <em>libtmt<\/em> library is now partly integrated with the <em>desktool<\/em> program but hasn&#8217;t been enabled yet, in the meantime I&#8217;ve been adding the text rendering code to <em>desktop<\/em> to start painting terminal-like program output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is shown as a block of dummy text output from <em>desktool<\/em> at the end of it&#8217;s checkerboard test output (later this will be connected to <em>libtmt<\/em> for real terminal output).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Other changes include beginning to support wide characters in <em>libc<\/em>, but to run a real terminal emulator other features are needed like a virtual terminal device in the kernel for connecting it to terminal programs properly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOTE:<\/strong> This is another screenshot made in a virtual machine on Ubuntu, ignore the window decoration at the top (I haven&#8217;t developed window decorations in the new desktop yet).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"812\" src=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-21-00-59-44-1024x812.png\" alt=\"\" class=\"wp-image-808\" srcset=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-21-00-59-44-1024x812.png 1024w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-21-00-59-44-300x238.png 300w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-21-00-59-44-768x609.png 768w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-21-00-59-44.png 1052w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The (third-party) libtmt library is now partly integrated with the desktool program but hasn&#8217;t been enabled yet, in the meantime I&#8217;ve been adding the text rendering code to desktop to start painting terminal-like program output. This is shown as a block of dummy text output from desktool at the end of it&#8217;s checkerboard test output [&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-807","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/807","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=807"}],"version-history":[{"count":3,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/807\/revisions"}],"predecessor-version":[{"id":811,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/807\/revisions\/811"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}