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

Лидеры


Популярный контент

Показан контент с высокой репутацией 19.07.2022 в Сообщения

  1. 1 балл
    Проект больше не поддерживается.
  2. 1 балл
    Причину и, более того, даже решение ты уже сам написал: Софт-то ты делаешь интересный, для меня как минимум, но уважения к читателю, хотя бы призрачного и лицемерного, не проявил ни в одной из тем, из-за чего и неприятие. Умение правильно подать прогу не менее важно, чем умение прогу написать.
  3. 1 балл
    В этой теме будет обсуждение жутких багов, которые вы найдете в операционке WinOS(Да, я решил дать такое название) Ссылка на "Процесс разработки данной ОС" Вот немного подробностей об получившейся "операционке": Фичи 1. Возможность запускать 99% программ, которые изначально были написаны под OpenOS 2. Конфиг-менеджер(про него ниже) 3. Сервисы(подробнее ниже) 4. Возможность запуска нескольких программ одновременно. Каждая из программ будет запущена в виртуальном изолированном окружении 5. Есть переключение рабочих столов 6. Тайловый оконный менеджер Вспомогательные программы /usr/bin/workspace /usr/bin/split Сервисы в WinOS Сервис -- это программа, которая работает в фоне и делает что-то важное ( или не важное ). Главное отличие серсиса от обычной программы -- сервисы имеют полный доступ к глобальным переменным. Сервисы могут использовать GPU, event, component напрямую, в то время как программы запущенные стандартным способом будут иметь доступ к имитированным(подмененным) версиям компонент компьютера. Сервисы в WinOS нужны для различных менюшек, таймеров, слушателей событий и прочих программ, которые по каким-то причинам должны иметь прямой доступ к компонентам компьютера. Программы-сервисы должны быть расположены в директории /WinOS/service/ Пример сервиса topbar.lua: Конфиг-менеджер в WinOS Менеджер конфигов нужен для того, чтобы пользователь мог поменять поведение или внешний вид системы. В настоящей момент менеджер конфигов позволяет менять основные цвета системы, а также дает возможность регистрировать сочетания клавиш для выполнения каких-либо действий. Дефолтный конфиг в WinOS. Расположение файла /WinOS/config.lua Установка тестовой версии системы Чтобы установить WinOS v0.0.1, запустите инсталлятор с pastebin ( я скопипастил инсталлятор от ECS и поменял имена переменных ) pastebin run Df9a2c01 Во избежание различных ошибок связанных с проблемами совместимости, в стандартную поставку тестовой версии WinOS включена OpenOS 1.6.7 Минимальные требования при установке: 1. Любая версия OpenOS 2. 2МБ оперативной памяти 3. Интернет-карта 4. Монитор и gpu третьего уровня 5. все то, что нужно для работы с OpenOS ( питание к компу, клавиатура и пр. ) 6. Новая версия мода OpenComputers Чтобы запустить WinOS напишите в консоли /WinOS/init.lua Недостатки текущей версии WinOS 1. Очень сырая реализация 2. Много скрытых багов 3. Есть проблема связанная отрисовкой контента всех окон одновременно. 4. Пока не реализована возможность убрать окно с экрана, чтобы остальные окна заняли свободное пространство. 5. Пока еще не реализована возможность использования нескольких клавиатур и нескольких GPU 6. Баги! Тысячи их! 7. Из-за того, что используется виртуальная GPU ( буфер ), операция gpu.copy работает от 2 до 6 раз медленнее Однако все остальные операции, наоборот, работают в 1.5-2 раза быстрее ( из-за оптимизации отрисовки через буфер изменений ) Обращение к критикам с форума Критика приветствуется. Однако не забывайте предлагать какие-то идеи. Воспринимайте beta-версию WinOS как экспериментальную разработку, а не как полноценную операционную систему, которую я рекомендую всем использовать. (но лично я точно буду использовать WinOS при игре на серверах) Картиночки: Включение и выключение GPU: Удобство при отладке и редактировании программ. Разделил экран на области, запустил редактор кода и интерпретатор Lua -- и вот тебе IDE На всякий случай продублирую команду для скачивания инсталлятора pastebin run Df9a2c01
  4. 1 балл
    Захотелось мне найти значения безопасных цветов, чтобы разноцветные программы одинаково отображались на мониторах 2-го и 3-го уровня. Затем мне захотелось найти простую формулу для генерации палитры 6*8*5 + 16 оттенков серого, для мониторов 3-го уровня. В процессе изысканий родился инструмент Sipmle color tester или sicot.lua: local gpu=require('component').gpu local ev=require('event') local function setColor(f,b) gpu.setForeground(f) gpu.setBackground(b) end local w=0xFFFFFF require('term').clear() gpu.fill(1,1,80,12," ") gpu.set(27,1,'← click →') gpu.set(76,1,'ʕ▫ᴥ▫ʔ') gpu.set(69,3,'◄ Tier 2') gpu.set(69,5,'◄ Tier 3') gpu.set(69,6,' ▼') local t=ev.timer(1,function() if math.random(6)==1 then setColor(w,0) gpu.set(76,1,'ʕ▪ᴥ▪ʔ') os.sleep(.05) gpu.set(76,1,'ʕ▫ᴥ▫ʔ') end end, math.huge) local function showcolor(c) for i=0,24 do local b=bit32.extract(c,i,1) setColor((1-b)*w, b*w) gpu.set(24-i,1,tostring(b)) end setColor(bit32.bxor(c,w), c) gpu.fill(1,3,24,3," ") gpu.set(9,4,'0x'..string.format('%06X',c)) setColor(w,0) gpu.set(1,2,'└──┴┴──┘└──┴┴──┘└──┴┴──┘') end local color=math.random(w) showcolor(color) local s='SimpleColorTest' for i=1,#s do setColor(bit32.bxor(color,w), color) gpu.set(36+i*2,1,string.sub(s,i,i)..' ') color=math.random(w) end --Tier2: безопасная палитра, используйте эти цвета, чтобы ваша программа выглядела одинаково на мониторах 2-го и 3-го уровней palTier2={0x000000,0x333333,0x333399,0x336600,0x336699,0x33CC33,0x663300,0x6699FF,0x9933CC,0xCC66CC,0xCCCCCC,0xFF3333,0xFFCC33,0xFF6699,0xFFFF33,0xFFFFFF} for x=0,15 do setColor(w,palTier2[x+1]) gpu.set(36+2*x, 3, ' ') end --Tier3: 16 оттенков серого for y=0,0xF do setColor(w,y*0x111111) gpu.set(36+y*2, 5, ' ') end --Tier3: большая палитра 6*8*5=240 комбинаций цветов for r=0,5 do for g=0,7 do for b=0,4 do setColor(w, r*0x330000 + g*0x2400 + b*0x3F) gpu.set(1+2*(b+g*5), 7+r, ' ') end end end repeat local _,_,x,y,b=ev.pull('touch') local s,fg,bg=gpu.get(x,y) if y==1 and x<=24 then local bit=24-x color = bit32.bxor(color,2^bit) showcolor(color) else color=bg showcolor(color) end until b==1 ev.cancel(t) setColor(w,0) require('term').clear() Так он выглядит не мониторе 3-го уровня: А так, на мониторе 2-го уровня: (Обратите внимание на то, что цвета ,безопасной палитры Tier 2 выглядят одинаково на обеих экранах!) На мониторе 1-го уровня он не выглядит никак. В нем можно кликать по битам, и по цветным квадратикам. (Только по медвежонку LiVi не кликайте, он этого не любит) Внутри кода, вы можете найти безопасную палитру в 16 цветов, и простую формулу генерации большой палитры. Код сырой и грубый, улучшать можно бесконечно. Навскидку: Повесить резидентом, чтобы вызывался по хоткею, сохранял под собой экран, и выводился поверх. Добавить кнопочку "вставить цвет", которая в таймере будет имитировать ввод цветового кода. Переписать в виде библиотеки с выдачей/запросом/установкой цветов по индексу. Добавить таблицу комбинаций цветов текста и фона, для наглядности. Добавить определение цвета текста (а не только фона). Добавить в библиотеку аналог ANSI цветовых кодов. Научить LiVi танцевать. Что-то еще. В процессе игры было обнаружено, что OC принудительно приводит цвета к стандартному значению. Т.е, какие бы вы цвета не писали, они будут приведены к 256 цветам в случае с T3 и к 16 - в случае с Т2. Это есть очень хорошо для хранения экранов во всяких многооконных бодягах. В самом худшем случае (присутствие всех возможных цветов), хранение полной цветовой плоскости экрана T3, без сжатия, займет 16000 байт, а T2 - 2000 байт. Также была обнаружена дикость генерации 16 цветной палитры T2, кто найдет закономерность и простую формулу для генерации - тому печенька. Еще был обнаружен аномальный, странный, неучтенный, нестандартный цвет на T2. Кто найдет 17-й цвет - тому две печеньки, и цвет в подарок.
  5. 0 баллов
    Ожидается новая версия SwiftOS, ждем, когда Аэлита расскажет нам следующую историю!
  6. 0 баллов
    чувствуется нотка mineOS после беглой проверки выяснил, что продукт стоит пометить как beta установщик выл взят из ВычВыжПром а текст лицензии полностью не помешается на экран а скроллинга по горизонтали не предусмотрено. ну ок... на тире отличном от третиго интерфейс плывет похлешше mineOS, вопрос почему бы в swiftOS BIOS не написать что железо не подходит для запуска ос? почему при установке требуется беспроводной модем? почему я не могу не настраивать смс? дизайн так и отдаёт нотками ubuntu, но мне нравиться, хотелось бы больше пред установленных тем, почему редактора нет прямо в ос?(если что я могу помочь с его написаниям) как скачивать софт на эту ос? как создать нескольких пользователей? моя оценка 7 из 10, и то только потому что ос только вышла, и я надеюсь будет обновляться давно такого на cc.ru не было так что за это отдельное спасибо посмотрел код, в целом причина отсутствия редактора тем в самой ос уже понятна, если что с обучениям языку и написаниям данной ос могу помочь, там как делать мне почьти всегда нечего
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...