{"action":"created","issue":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1527","labels_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1527/labels{/name}","comments_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1527/comments","events_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1527/events","html_url":"https://github.com/MightyPirates/OpenComputers/issues/1527","id":117157491,"number":1527,"title":"[suggestion/implementing] Make term library draw in user defined areas ﻿＋ａ  ｆｉｘ","user":{"login":"mpmxyz","id":8538547,"avatar_url":"https://avatars.githubusercontent.com/u/8538547?v=3","gravatar_id":"","url":"https://api.github.com/users/mpmxyz","html_url":"https://github.com/mpmxyz","followers_url":"https://api.github.com/users/mpmxyz/followers","following_url":"https://api.github.com/users/mpmxyz/following{/other_user}","gists_url":"https://api.github.com/users/mpmxyz/gists{/gist_id}","starred_url":"https://api.github.com/users/mpmxyz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpmxyz/subscriptions","organizations_url":"https://api.github.com/users/mpmxyz/orgs","repos_url":"https://api.github.com/users/mpmxyz/repos","events_url":"https://api.github.com/users/mpmxyz/events{/privacy}","received_events_url":"https://api.github.com/users/mpmxyz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/labels/feature-accepted","name":"feature-accepted","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/milestones/27","html_url":"https://github.com/MightyPirates/OpenComputers/milestones/v1.6.0","labels_url":"https://api.github.com/repos/MightyPirates/OpenComputers/milestones/27/labels","id":1055833,"number":27,"title":"v1.6.0","description":"","creator":{"login":"fnuecke","id":514903,"avatar_url":"https://avatars.githubusercontent.com/u/514903?v=3","gravatar_id":"","url":"https://api.github.com/users/fnuecke","html_url":"https://github.com/fnuecke","followers_url":"https://api.github.com/users/fnuecke/followers","following_url":"https://api.github.com/users/fnuecke/following{/other_user}","gists_url":"https://api.github.com/users/fnuecke/gists{/gist_id}","starred_url":"https://api.github.com/users/fnuecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fnuecke/subscriptions","organizations_url":"https://api.github.com/users/fnuecke/orgs","repos_url":"https://api.github.com/users/fnuecke/repos","events_url":"https://api.github.com/users/fnuecke/events{/privacy}","received_events_url":"https://api.github.com/users/fnuecke/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":13,"state":"open","created_at":"2015-04-07T09:07:53Z","updated_at":"2015-12-27T12:40:17Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2015-11-16T16:04:18Z","updated_at":"2015-12-27T12:40:17Z","closed_at":"2015-12-27T12:40:17Z","body":"I'm currently prototyping a term library modification that adds the possibility to limit all term drawing operations to a user defined area. That can be useful if you want to have a split screen with the shell and other command line programs on the bottom and something like a \"reactor state monitor\" on top.\r\nThe API would only get 2 additional methods:\r\n- term.setWindow(x, y, width, height)\r\n- term.getWindow() -> x, y, width, height\r\n\r\nAll values can be negative to indicate a side being relative to the lower right part of the screen.\r\n- y = -1 -> drawing area begins at the bottom line\r\n- width = -2 -> drawing area ends one column before the end of the screen\r\n\r\nThe prototype works but is ugly and I'd like to do a partial rewrite of term.\r\nSo my question is: Would you accept a pull request for such a modification?\r\nSince I'd have to rewrite some parts of the library anyway, I'd also take the freedom to change some other things:\r\n- replace the combined gpu.copy/gpu.set calls in term.read by a single gpu.set call that redraws the whole line (Unless I understood something wrong gpu.set uses less of the 'gpu budget' than gpu.copy; this change also makes reimplementing the library easier.)\r\n- ﻿ｆｉｘ  ｓｏｍｅ  ｅｒｒｏｒｓ  ｗｉｔｈ  ｆｕｌｌｗｉｄｔｈ  ｃｈａｒａｃｔｅｒｓ (e.g. term.read does not highlight properly)"},"comment":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/comments/167405649","html_url":"https://github.com/MightyPirates/OpenComputers/issues/1527#issuecomment-167405649","issue_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1527","id":167405649,"user":{"login":"fnuecke","id":514903,"avatar_url":"https://avatars.githubusercontent.com/u/514903?v=3","gravatar_id":"","url":"https://api.github.com/users/fnuecke","html_url":"https://github.com/fnuecke","followers_url":"https://api.github.com/users/fnuecke/followers","following_url":"https://api.github.com/users/fnuecke/following{/other_user}","gists_url":"https://api.github.com/users/fnuecke/gists{/gist_id}","starred_url":"https://api.github.com/users/fnuecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fnuecke/subscriptions","organizations_url":"https://api.github.com/users/fnuecke/orgs","repos_url":"https://api.github.com/users/fnuecke/repos","events_url":"https://api.github.com/users/fnuecke/events{/privacy}","received_events_url":"https://api.github.com/users/fnuecke/received_events","type":"User","site_admin":false},"created_at":"2015-12-27T12:40:17Z","updated_at":"2015-12-27T12:40:17Z","body":"#1539"}}