Перейти к содержимому
RccHD

Разработка новой операционной системы. WinOS.

Рекомендуемые сообщения

если это сделать в мультимониторном - было бы ооочень прикольно)

единственное что - если хотя-бы в одном терминале будет цикл без прерываний - будет не оч приятно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если это сделать в мультимониторном - было бы ооочень прикольно)

единственное что - если хотя-бы в одном терминале будет цикл без прерываний - будет не оч приятно

Если будет цикл без прерываний, то программа завершит работу.

 

Все остальные программы продолжат работать как ни в чем не бывало

Изменено пользователем RccHD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Если будет цикл без прерываний, то программа завершит работу.

можно подробнее, каким образом она это делает?
ну вот например у меня будет следующий код:
while true do полезная нагрузка end
кроме как переопределить компилятор - я не нашел другого решения
если есть чет другое - очень интересно было бы узнать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Система проверяет, когда программа последний раз вызывала computer.pullSignal
Если более, чем 5 секунд назад, значит программу нужно закрыть с ошибкой "too long without yielding"

Хотя это, на самом деле, работает через раз

Изменено пользователем RccHD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Система проверяет

в этом то и проблематика)  а если я не отдам управление системе?))

да, можно конечно опираться на тот факт что программист добросовестный и расставил прерывания, но меня почему-то это напрягает))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Немного перемудрил с переменными, смотрите как сразу перекосило ее  :lol: 
vokoscreen-2017-09-20_19-30-25.gif

  • Нравится 4
  • Ха-ха 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Немного перемудрил с переменными, смотрите как сразу перекосило ее   

фитча))) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уууу, скоро дэдлайн, а я уже 4 дня ничего не кодил :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это у них фича такая у дедлайнов. Приходить слишком быстро. =)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сейчас допиливаю оконный менеджер.
Добавил возможность делить окно на 2 части командой split
vokoscreen-2017-09-24_12-36-11.gif

 

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Теперь дебажить программы намного удобнее:

vokoscreen-2017-09-24_14-02-06.gif

  • Нравится 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vokoscreen-2017-09-24_14-02-06.gif

Ну это же настоящая IDE собранная из подручных средств(lua-shell, терминал, стандартный редактор edit)!

Если еще подсветку кода прикрутить, вообще топово будет

Изменено пользователем RccHD
  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стоит ли вводить ограничение на 10 окон на одном рабочем столе?

Можете представить ситуацию, когда станут использовать 11 окон? (хотя не факт, что еще и оперативки хватит :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стоит ли вводить ограничение на 10 окон на одном рабочем столе?

 

А это имеет смысл с точки зрения кода?

Если это позволит сделать какую-то полезную оптимизацию - конечно вводи. Столько окон никому нафиг надо будет.

Если чисто для косметики, то наверное не стоит. Оставим простор для деятельности всяким психам.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Переключение рабочих столов теперь работает!

Делается это командой workspace
Переключение занимает определенное время(0.5 сек), потому что в этот момент происходит считывание файла-скриншота с диска и восстановление той картинки, которая была отображена на рабочем столе

vokoscreen-2017-09-25_22-16-26.gif
 

Изменено пользователем RccHD
  • Нравится 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Переключение рабочих столов теперь работает!

 

Делается это командой workspace

Переключение занимает определенное время(0.5 сек), потому что в этот момент происходит считывание файла-скриншота с диска и восстановление той картинки, которая была отображена на рабочем столе

 

 

А почему курсоры начинают мигать когда ты вводишь символ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему курсоры начинают мигать когда ты вводишь символ?

Так реализован стандартный терминал openos.

 

Дело в том, что курсоры мигают при каждом уловленном событии. Можешь потестить постоянно посылая modem_message на какой-нибудь комп

Курсор начнет мигать, потому что комп уловил событие

Код выглядит примерно так: 

while true do
    -- ...
    --
    e = event.pull()
    if e then blinkCursor() end
end

Попробую сделать так, чтобы терминал мигал курсором только будучи в фокусе ( с красной рамкой )

Изменено пользователем RccHD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть у твоей системы какое-то официальное название?
А то работа идёт бурными темпами, а тема всё ещё называется "пишу новую OS". =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прикольно) Неплохо было бы повешать переключение "рабочих столов" на комбинации клавиш, например Ctrl + Alt + 1...9

только пж, не ставь F1...F12))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

в этот момент происходит считывание файла-скриншота с диска и восстановление той картинки, которая была отображена на рабочем столе
т.е. ты хочешь сказать, что когда рабочий стол не активен  он полностью замораживается? А если с момента переключения на нем что то изменилось? Или приложения, открытые на неактивном столе, тоже приостанавливаются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...