Я хочу написать IDE, но это в далеком будущем, а сейчас меня интересует как реализовать функции на уровне ОС. Например, выделение текста, я конечно могу вручную реализовать данный функционал, но будет ли так правильно? Вот например в убунту текст выделяется оранжевым, как это реализовать? Может есть исходники где показана базовая робота с выделением и текстом(блокнот например)