Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
logic

likeOS & liked PRERELEASE

Recommended Posts

PRERELEASE

the system came out of beta, and entered prerelease, a convincing request, everyone who is not lazy to test likeOS and liked well, report bugs and errors in the topic, in the bos, too, it is possible, then other people will not have anything to read)) so it's better to get into the subject

to understand the scope of PRERELEASE, check the commits:

https://github.com/igorkll/likeOS
https://github.com/igorkll/liked


os chips

  • the shell is separate from the OS kernel, you can put only the kernel and add an autoloading script there, or you can put the liked distribution
  • multi-threading
  • multi-monitor (refer rather to the liked distribution)
  • very low RAM consumption, offset by the fact that many functions of the operating system are on the hdd and loaded only at the time of use
  • optimized functions getDeviceInfo and getKeyboards (because the OS uses them very often)
  • auto-unloading of some libraries


liked

  • will be able to work on the t2.5 bar even with two monitors
  • , this gui distribution that uses the graphics core api to work with graphics
  • liked has dev mode for creating your own applications, to activate it, hold the up arrow
  • in the liked store there is an irc client!


how multi-monitor works

  • the liked distribution displays the desktop only on monitors starting from level 2
  • on different monitors, the OS will work almost like different computers
  • , several video cards are not required to work, although this is desirable
  • , you will be able to run different programs on different monitors
  • , the os itself will figure out which gpu to connect to which monitor, and when to pick up


differences between dev mode and user mode

      dev mode

  • when renaming a file, the extension does not change from the one that comes before
  • when creating a text file, it is not automatically assigned the txt extension
  • . you can assign extensions to a folder.
  • you can specify extensions when renaming a file
  • you get access to the root of the disk
  • you get the opportunity to go inside batch applications
  • you get the opportunity to edit lua scripts


      user mode

  • you can't specify extensions yourself, it is assigned automatically everywhere
  • when you rename an extension, it goes from the old name
  • . you can't change extensions.


installing the os:

  • first you need to create an installation floppy disk by running the wget command https://raw.githubusercontent.com/igorkll/likeOS/main/installer/openOS.lua /tmp/asd -f && /tmp/asd in openOS
  • then you need to boot from a floppy disk on the device you want to put likeOS - liked on
  • , you can also boot there via the install regular openOS utility, just install the floppy disk as usual, but instead installation computer after selecting a floppy disk to boot there
  • , select online mode /offline mode (the first loads the OS from the Internet, the second from the floppy disk itself)
  • select a distribution (liked is a graphical distribution, core only is a pure likeOS that will not display anything on the monitor but just crash with the error computer halted)
  • select a disk
  • agree
  • wait
  • for the OS is installed :)


warnings

  • attention a subgroup of the thread library can lead to an increase in power consumption!
  • the OS has a very large energy consumption in general, the tablet lands for a few minutes


recommendations liked

  • the rendering speed is very much affected by the level of the processor, and the video card, but not the monitor, so if possible, it will be better to install the t3 video card even in a tablet / computer with a second monitor, and the t3 processor


the chips of the liked distribution

  • the ability to put an icon on any folder (create a picture with the name icon)
  • changing the desktop wallpaper
  • changing the color palette of the monitor
  • showing real time in the corner


in the plans

  • a program for transferring files and folders between devices (partially implemented as a chat program)
  • checking for interference with system files
  • the ability to put wallpaper separately for a specific folder
  • client for ocelot online


file system structure

  • /init.lua - initialization file, will soon contain recovery menu for restoring any device with likeOS based (if recovery menu is not disabled in the registry(registry will be added soon))
  • /system - distribution files
  • /system/core - kernel files
  • /system/autoruns - distribution startup(for scripts not requiring interaction)
  • /system/main.lua is also an auto-boot, but it is intended for programs executed in an infinite loop
  • /systen/bin - distribution programs
  • /system/lib - distribution libraries
  • /system/calls - hdd distribution functions
  • /system/core/boot,lua - os loader


the structure of _ENV (may be difficult for beginners to understand, difficult for beginners to understand, it is not necessary to read)

  • _ENV in most situations is personal, and _G is general, hdd exceptions are functions in which _ENV and _G are one table, and the same exceptions are the desktop liked, which divides _ENV between desktops on different monitors
  • accordingly, globals created in this way (value = 2) will be personal, and such (_G.value = 2) general


documentation (not yet complete):

api calls

calls.call - calling the function lying on the hdd
calls.load - loading the function lying on the hdd
calls.loaded - the cache of functions is not filled in itself, but can be used in some cases
calls.paths - a table with the paths along which loading is taking place


api package

_G.require - connect the library
package.loaded - library cache
package.paths - a table with the paths along which libraries are loaded


api graphic

graphic.findGpu(screen) - selects the gpu for the desired screen and hooks it up, you need to look for the gpu after each interruption, since it can be "stolen"
graphic.createWindow(screen, x, y, sizeX, sizeY):windown- creates a non-buffered window on the desired screen
window:clear(color) - fill the window with the desired colors
window:write(str) - write data to the window
window:read(x, y, sizeX, background, foreground, preStr, crypto) - returns data from the window, if the input was canceled, returns true
window:uploadEvent(EventData:table):EventData:table - loads the event into the window and returns the modified response or nil
window:set(x, y, background, foreground, data) - write a string
window:fill(x, y, sizeX, sizeY, background, foreground, char) - fill
window:copy(x, y, sizeX, sizeY, offsetX, offsetY) -- copies a section of the window
window:setCursor/window:getCursor is also there, and they control the write function


all colors must be taken from the gui_container.colors table, otherwise their behavior will be incorrect (relevant for liked(gui_container is the main system library of liked))

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.