После 10 лет разработки опубликован первый альфа-выпуск пользовательского окружения Kera Desktop, развиваемого с использованием web-технологий. Окружение предоставляет типовые возможности управления окнами, панель, меню и виртуальные рабочие столы. Первый выпуск ограничен поддержкой запуска только web-приложений (PWA), но в дальнейшем планируют добавить возможность запуска обычных программ и создания специализированного дистрибутива с рабочим столом Kera, основанного на пакетной базе Fedora Linux. Код проекта написан на JavaScript, не использует сторонние фреймворки и распространяется под лицензией GPLv3. Готовые сборки подготовлены для Linux, Chrome OS, macOS и Windows...Подробнее: https://www.opennet.me/opennews/art.shtml?num=59277
Вырвиглазненько выглядит
Зато 10 лет - бизнес со скоростью мысли.
Попап с всплывающим сообщением я бы на их месте уж точно постеснялся бы показывать. Вообще нечто странное.
скорее бы ядро линукс на js переписали жду не дождусь
Железо делают инженеры.На JS поверх железа нормально работать не будет.
В микроконтроллеры уже JS засунули. Ядро остается вопросом времени
тогда на Питон переписать %)
Лучше на Go.
Это прорыв!
Очистных сооружений.
Табы это прикольно. Сам в xmonad так использую.
Что за табы? покажи
Вкладки
Что вкладки? код покажи, спс
--
-- xmonad example config file.
--
-- A template showing all available configuration hooks,
-- and how to override the defaults in your own xmonad.hs conf file.
--
-- Normally, you'd only override those defaults you care about.
--import XMonad
import Data.Monoid
import XMonad.Hooks.StatusBar
import Control.Monad
import Data.Maybe
import Data.List
import XMonad.Hooks.EwmhDesktops
import XMonad.Layout.Fullscreen (fullscreenFull, fullscreenSupport)
import XMonad.Layout.NoBorders ( noBorders, smartBorders, withBorder)
import XMonad.Hooks.SetWMName
import XMonad.Layout.Simplest
import XMonad.Layout.Tabbed (simpleTabbed)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.UrgencyHook
import System.IO
import XMonad.Hooks.DynamicLog
import XMonad.Util.Run(spawnPipe)
import Graphics.X11.ExtraTypes.XF86
import XMonad.Util.EZConfig(additionalKeys)
import System.Exit
import qualified XMonad.StackSet as W
import qualified Data.Map as M
import Data.Map (Map)
import qualified Data.Map as Map
myLayoutHook =
smartBorders $ -- layouts begin below
noBorders Full
||| simpleTabbedmyConfig = fullscreenSupport $ def
{ layoutHook = myLayoutHook
}-- The preferred terminal program, which is used in a binding below and by
-- certain contrib modules.
--
myTerminal = "xterm"-- Whether focus follows the mouse pointer.
myFocusFollowsMouse :: Bool
myFocusFollowsMouse = True-- Whether clicking on a window to focus also passes the click to the window
myClickJustFocuses :: Bool
myClickJustFocuses = False-- Width of the window border in pixels.
--
myBorderWidth = 0-- modMask lets you specify which modkey you want to use. The default
-- is mod1Mask ("left alt"). You may also consider using mod3Mask
-- ("right alt"), which does not conflict with emacs keybindings. The
-- "windows key" is usually mod4Mask.
--
myModMask = mod1Mask-- The default number of workspaces (virtual screens) and their names.
-- By default we use numeric strings, but any string may be used as a
-- workspace name. The number of workspaces is determined by the length
-- of this list.
--
-- A tagging example:
--
-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9]
--
myWorkspaces = ["1","2","3","4","5","6","7","8","9"]-- Border colors for unfocused and focused windows, respectively.
--
myNormalBorderColor = "#dddddd"
myFocusedBorderColor = "#ff0000"------------------------------------------------------------------------
-- Key bindings. Add, modify or remove key bindings here.
--
myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $[ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
-- Decrease volume.
, ((0, xF86XK_AudioLowerVolume),
spawn "amixer -q set Master 5%-")-- Increase volume.
, ((0, xF86XK_AudioRaiseVolume),
spawn "amixer -q set Master 5%+")
, ((modm .|. shiftMask, xK_y ), spawn "yandex-browser-beta")-- launch dmenu
, ((modm .|. shiftMask, xK_t ), spawn "transmission")-- launch dmenu
, ((modm .|. shiftMask, xK_p ), spawn "palemoon")-- launch gmrun
, ((modm .|. shiftMask, xK_s ), spawn "spacefm")-- close focused window
, ((modm .|. shiftMask, xK_c ), kill)-- Rotate through the available layout algorithms
, ((modm, xK_space ), sendMessage NextLayout)-- Reset the layouts on the current workspace to default
, ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)-- Resize viewed windows to the correct size
, ((modm, xK_n ), refresh)-- Move focus to the next window
, ((modm, xK_Tab ), windows W.focusDown)-- Move focus to the next window
, ((modm, xK_j ), windows W.focusDown)-- Move focus to the previous window
, ((modm, xK_k ), windows W.focusUp )-- Move focus to the master window
, ((modm, xK_m ), windows W.focusMaster )-- Swap the focused window and the master window
, ((modm, xK_Return), windows W.swapMaster)-- Swap the focused window with the next window
, ((modm .|. shiftMask, xK_j ), windows W.swapDown )-- Swap the focused window with the previous window
, ((modm .|. shiftMask, xK_k ), windows W.swapUp )-- Shrink the master area
, ((modm, xK_h ), sendMessage Shrink)-- Expand the master area
, ((modm, xK_l ), sendMessage Expand)-- Push window back into tiling
, ((modm, xK_t ), withFocused $ windows . W.sink)-- Increment the number of windows in the master area
, ((modm , xK_comma ), sendMessage (IncMasterN 1))-- Deincrement the number of windows in the master area
, ((modm , xK_period), sendMessage (IncMasterN (-1)))-- Toggle the status bar gap
-- Use this binding with avoidStruts from Hooks.ManageDocks.
-- See also the statusBar function from Hooks.DynamicLog.
--
-- , ((modm , xK_b ), sendMessage ToggleStruts)-- Quit xmonad
, ((modm .|. shiftMask, xK_q ), io (exitWith ExitSuccess))-- Restart xmonad
, ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart")-- Run xmessage with a summary of the default keybindings (useful for beginners)
, ((modm .|. shiftMask, xK_slash ), xmessage help)
]
++--
-- mod-[1..9], Switch to workspace N
-- mod-shift-[1..9], Move client to workspace N
--
[((m .|. modm, k), windows $ f i)
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
++--
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
--
[((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f))
| (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
------------------------------------------------------------------------
-- Mouse bindings: default actions bound to mouse events
--
myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $-- mod-button1, Set the window to floating mode and move by dragging
[ ((modm, button1), (\w -> focus w >> mouseMoveWindow w
>> windows W.shiftMaster))-- mod-button2, Raise the window to the top of the stack
, ((modm, button2), (\w -> focus w >> windows W.shiftMaster))-- mod-button3, Set the window to floating mode and resize by dragging
, ((modm, button3), (\w -> focus w >> mouseResizeWindow w
>> windows W.shiftMaster))-- you may also bind events to the mouse scroll wheel (button4 and button5)
]where
-- default tiling algorithm partitions the screen into two panes
tiled = Tall nmaster delta ratio-- The default number of windows in the master pane
nmaster = 1-- Default proportion of screen occupied by master pane
ratio = 1/2-- Percent of screen to increment by when resizing panes
delta = 3/100------------------------------------------------------------------------
-- Window rules:-- Execute arbitrary actions and WindowSet manipulations when managing
-- a new window. You can use this to, for example, always float a
-- particular program, or have a client always appear on a particular
-- workspace.
--
-- To find the property name associated with a program, use
-- > xprop | grep WM_CLASS
-- and click on the client you're interested in.
--
-- To match on the WM_NAME, you can use 'title' in the same way that
-- 'className' and 'resource' are used below.
--
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "Gimp" --> doFloat
, resource =? "desktop_window" --> doIgnore
, resource =? "kdesktop" --> doIgnore ]------------------------------------------------------------------------
-- Event handling-- * EwmhDesktops users should change this to ewmhDesktopsEventHook
--
-- Defines a custom handler function for X Events. The function should
-- return (All True) if the default handler is to be run afterwards. To
-- combine event hooks use mappend or mconcat from Data.Monoid.
--
myEventHook = mempty------------------------------------------------------------------------
-- Status bars and logging-- Perform an arbitrary action on each internal state change or X event.
-- See the 'XMonad.Hooks.DynamicLog' extension for examples.
--
myLogHook = return ()------------------------------------------------------------------------
-- Startup hook-- Perform an arbitrary action each time xmonad starts or is restarted
-- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize
-- per-workspace layout choices.
--
-- By default, do nothing.
myStartupHook = return ()------------------------------------------------------------------------
-- Now run xmonad with all the defaults we set up.-- Run xmonad with the settings you specify. No need to modify this.
--
main = do
xmproc <- spawnPipe "/usr/bin/xmobar /home/next/.xmonad/.xmobarrc"
xmonad $ ewmhFullscreen $ ewmh def { layoutHook = simpleTabbed } { startupHook = setWMName "LG3D"
, borderWidth = 0
, keys = myKeys
}
-- A structure containing your configuration settings, overriding
-- fields in the default config. Any you don't override, will
-- use the defaults defined in xmonad/XMonad/Config.hs
--
-- No need to modify this.
--
defaults = def {
-- simple stuff
terminal = myTerminal,
focusFollowsMouse = myFocusFollowsMouse,
clickJustFocuses = myClickJustFocuses,
borderWidth = myBorderWidth,
modMask = myModMask,
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,-- key bindings
keys = myKeys,
mouseBindings = myMouseBindings,-- hooks, layouts
-- layoutHook = myLayout,
manageHook = myManageHook,
handleEventHook = myEventHook,
logHook = myLogHook,
startupHook = myStartupHook}
-- | Finally, a copy of the default bindings in simple textual tabular format.
help :: String
help = unlines ["The default modifier key is 'alt'. Default keybindings:",
"",
"-- launching and killing programs",
"mod-Shift-Enter Launch xterminal",
"mod-p Launch dmenu",
"mod-Shift-p Launch gmrun",
"mod-Shift-c Close/kill the focused window",
"mod-Space Rotate through the available layout algorithms",
"mod-Shift-Space Reset the layouts on the current workSpace to default",
"mod-n Resize/refresh viewed windows to the correct size",
"mod-Shift-/ Show this help message with the default keybindings",
"",
"-- move focus up or down the window stack",
"mod-Tab Move focus to the next window",
"mod-Shift-Tab Move focus to the previous window",
"mod-j Move focus to the next window",
"mod-k Move focus to the previous window",
"mod-m Move focus to the master window",
"",
"-- modifying the window order",
"mod-Return Swap the focused window and the master window",
"mod-Shift-j Swap the focused window with the next window",
"mod-Shift-k Swap the focused window with the previous window",
"",
"-- resizing the master/slave ratio",
"mod-h Shrink the master area",
"mod-l Expand the master area",
"",
"-- floating layer support",
"mod-t Push window back into tiling; unfloat and re-tile it",
"",
"-- increase or decrease number of windows in the master area",
"mod-comma (mod-,) Increment the number of windows in the master area",
"mod-period (mod-.) Deincrement the number of windows in the master area",
"",
"-- quit, or restart",
"mod-Shift-q Quit xmonad",
"mod-q Restart xmonad",
"mod-[1..9] Switch to workSpace N",
"",
"-- Workspaces & screens",
"mod-Shift-[1..9] Move client to workspace N",
"mod-{w,e,r} Switch to physical/Xinerama screens 1, 2, or 3",
"mod-Shift-{w,e,r} Move client to screen 1, 2, or 3",
"",
"-- Mouse bindings: default actions bound to mouse events",
"mod-button1 Set the window to floating mode and move by dragging",
"mod-button2 Raise the window to the top of the stack",
"mod-button3 Set the window to floating mode and resize by dragging"]
https://dpaste.com/пользуйся на здоровье
На квантовом компьютере раскроет весь потенциал?
На оперативу 256ГБ можно за 3 часа заработать. А ядра разогнать на водянке до 6ГГц, потому что триппер не поможет двухпоточной лаже.
После таких работ обычно сидят лет по десять
Топменеджер Газпрома да, может.
Милорд, наши программы поедают память недостаточно быстро…
За таким будущее.
Инволюция тоже бывает случается, и динозавры вымерли
Это естественный отбор, неуч.
Но там была ядерная зима или что-то в этом роде...а, ну хотя, да...
Перед ядерной зимой была ядерная война Рептилоидов с Анунаками.
Да они и притянула метеорит.
Про метеорит это всего лишь гипотеза. Есть и другие гипотезы, более реалистичные.
Про ручных боевых обезьян?
Тоже первое что в голову пришло.
Но с другой стороны это поделие от ноунейма и не факт что взлетит. Плитки на Винде не взлетели.
Таки взлетели, только не в изначальном виде
> После 10 лет разработки
> Первый выпуск ограничен поддержкой запуска только web-приложений (PWA)понятненько, спасибо.
пойду на свой б-гомерзкий гном, который не имеет таких ограничений и поддерживает современный протокол вейланд
Я думал что хуже Гнома ничего быть не может. Но сейчас Гном уже не кажется таким уж плохим.
Кто мешает взять API да реализовать что-то полегковеснее?
Вечно плачитесь, а как дело доходит до работы все в лес убегают
Зачем мне изобретать велосипед, если есть другие среды рабочего стола. Дело в том что гном пихают везде по дефолту приспешники рептилоидов, полезные идиоты нахваливают.
Мешает уже существование XFCE
Будущее наступило сегодня. С этим окружением, флатпаками и вейладном линукс захватит мир десктопов.
Доля Линукс на десктопе 6% чтобы ты был в курсе.
Откуда дровишки?
Просто десктопов убавилось.
6% от 1%?
Есть такая штука называется интернет там можно в любой момент посмотреть долю десктопа и разбиение по ОС.
Статистику в студию!
https://radar.yandex.ru/desktop и не думаю, что мировая статистика сильно отличается
Глаза!!!
Положи в сейф пока не скоммуниздили.
Больше 30 лет прошло. Скапитализдили.
При всей нелюбви местных к веб-технологиям, уже можно точно утверждать, что они победили и повсеместный веб-десктоп это вопрос времени. Но конкретно вот этот проект конечно странный. 10 лет работы, альфа, и такое страшненькое. Хотя среди веб-тулкитов есть куча качественных и красивых.
Конкретно этому проекту и проигрыша не нужно, с такой то победой...
Давно пора
Active Desktop, Windows 98 или IE 4 + Windows 95
Конкурент Попова появился.
Денис ничего похожего даже близко не успел сделать.
Есть мнение, что Дениска ныне в System76 :)
Это хорошо или плохо? Для System76 или для всех остальных?
Слышал краем уха про System76 но так и не понял что они делают, вроде ноутбуки и дистрибутив под них. И то больше слышал про Либрем 5 или Пайнфон.
Ноутбуки со своей Pop!OS.
Да не, не может быть, это просто совпадение, не более.
Иначе у него самая коммерчески удачная карьера в СПО. Удачнее даже не у Зорина с его ZorinOS.
Poop!OS же.
Большинство анонимов прогнозирует п̶о̶б̶е̶д̶у̶ ̶к̶о̶м̶м̶у̶н̶и̶з̶м̶а̶ доминирование сабжа на десктоп линукс, я же прогнозирую забвение. Не может это победить на десктопе.
Но схватка с Гномами 40-й серии будет до забвения
Да кто их знает, что они в следующей версии Гнома учудят.
> схватка с Гномами 40-й серииЗаучит как сериал
>> схватка с Гномами 40-й серии
> Заучит как сериал"Жаба против Гадюки (второй сезон)"
Я вот наоборот думаю, что разработка UI на web-технологиях сейчас настолько проста, что совсем скоро вот такое будет будет основным гуём...
Про сабж забудут через неделю, по оптимистичным прогнозам, в том числе и автор.
Детский сад какой-то.
Принял решение, глядя на все вот это самое,
разработать свой DE. Кто хочет присоединиться пишите в личку.
Я давно хотел, но чет как-то лень. Для работы проще из готового собрать
На расте?..
На TurboVision мне кажется будет красивее.
Каждый должен сделать своё, иначе продолжение плача гарантировано.
Будущее которое мы заслужили
Я остаюсь в прошлом
и это хорошо :)
> и это хорошо :)Странно, что тебя не было на ракете маска, которя недавно взорвалась.
У каждой иконки свой индивидуальный фон и от этого глаза вытекают. Дизайнеру 5 лет или он альтернативно одарённый?
Сама идея html+css на десктопе не так уж и плоха, учитывая, что уже повсюду 100500 видов xaml+css. Калькуляторы на JS не будут жрать много памяти, если их писать руками, а не кодогенераторами с фреймворками. А для числодробилок уже придумали WebAssembly.
А как оно по производительности, если сравненивать с обычными фреймвёркными DE?
Нет смысла сравнивтаь. Обычные запускают толстые приложения, а эта только HTML-приложения в iframe или webview.
>Код проекта написан на JavaScript, не использует сторонние фреймворки и распространяется под лицензией GPLv3Молодцы. Учитесь господа, копилефт и ничего лишнего.
> Учитесь господа, копилефт и ничего лишнего.Поправил, не благодари
> Учитесь господа, копилефт и ничего нужного.Поправил, не благодари
Лавры хромооси кому-то не давали покоя
Цветовая поллитра как бы намекает.
Каждый видит только то, что он хочет увидеть...
Тут без курительныхсмесей не обошлось. Но почему нет чёрного? Сейчас блэклайвсматтеры негодуют.
Радуга принадлежала детям, пока такие не подъехали. Ну тут такой подход, чтобы проще было различать разные элементы, нормально же. Уже нельзя лечь на желтый песок под голубым небом, уже мерещиться, да? Просто элементы GUI.
Завтра у облачных провайдеров добавится услуга Desktop as a Service. единый десктоп на любом устройстве (смартфон, планшет, хромбук, десктоп, телевизор).
Как это завтра? Несколько лет уже пользуюсь. Особенно рекомендую Azure Virtual Desktop: полноценная винда в твоём браузере, сегодня, сейчас. С пробросом видеокамеры и звука. Максимум удобства за смешную цену. Для работы просто незаменимая вещь — каждому кастомеру отдельное окружение.
> Как это завтра? Несколько лет уже пользуюсь. Особенно рекомендую Azure Virtual Desktop:сейчас это единичные провайдеры. завтра - у каждого.
Технологии веб вне браузера не нужны, для десктопа есть свои решения. Во истину сильные времена родили слабых людей, которые теперь рождают сложное время.
Просто кто-то как обычно пытается захватить технологический стек.
Этот кто-то убил сервлеты и макромедию флеш, а сейчас прицелился на десктопный гуй
Пока все остальные куда-то пропали этот вэтрицэ захватит мир и в ядро хтмл напишет
Всё уже есть, смотри на хромОсь. А это поделие -- только курам на смех, какой уже там захват мира.
А что хромось? После того, как она научилась запускать линуксовые приложения в контейнерах и андройдные, там от слово "веб" только интерфейс и остался. Чем тогда хромось отличается просто от гнома вот так принципиально?
> А что хромось? После того, как она научилась запускать линуксовые приложения в
> контейнерах и андройдные, там от слово "веб" только интерфейс и остался.
> Чем тогда хромось отличается просто от гнома вот так принципиально?Ну этим принципиально и отличается -- интерфейс на браузере. В гноме ещё некий закос под "нативность", а тут уже откровенно веб-параша, не стесняясь.
А какое ещё "принципиальное" отличие вы ожидали? Браузер уже сейчас -- операционная система, в нём можно что угодно запустить. Можно вообще на канвас рисовать из WebAssembly-кода. И что, тогда в браузере тоже от "веба" только интерфейс? Я думаю, что скорее стоит говорить в "новом вебе" от "старого" почти ничего нет. Огромный DOM со 100500 уровней вложенности; скрипты; на каждый чих; WebUSB, WebGPU, WebAssembly и остальная WebХрень, канвас, -- вот это вот всё уже максимально далеко от гипертекста.
Я так понял, все программы тут - виджеты на JS? Было уже, называлось FirefoxOS. Можно было поставить на Android в качестве приложения. Не взлетело - свои проложения хоть и были, и были весьма неплохие, но приложений всё равно было недостаточно.Разрабам проекта следовало бы не с нуля делать, а за основу FirefoxOS взять и адаптировать её для десктопа.
Да. Программы здесь, это index.html + style.css.
Но большенство приложений это пустой index.html, а в CSS background-image: url('screenshot.png')
Интересно, человек в здравом уме и трезвой памяти, установит себе такой шедевр?
мне нравиться.
>человек в здравом уме и трезвой памятиА ты тут причем?
Если не разводить холивар про дизайн, то от задач зависит. Для части задач, мне кроме браузера вообще ничего не надо.
Впечатлён.
Калькулятор в шторке это удобно.
Запустил, там 99% настроек это бутафория, 60% из которых даже не кликабельная.
Больше похоже на демку, нежели на релиз.
Особено доставили иконки приложений в разделе Games. Их там так много, даже Steam есть.
Посмотрел исходники, там приложение Home Assistent просто png картинка с таким исходником
>> background-image: url('screenshot.png');
>> background-size: cover;
>> background-repeat: no-repeat;
Это даже не демка, а скорее демонстрационный макет, в том смысле что не работает вообще ничего и даже трогать руками не предполагается.
> При раскрытии приложений на весь экран возможно скомбинировать в одну строку панель приложения и _системную панель_Давно об этом думал, ни у кого не видел подобной реализации. На мониторе 21:9 очень бы подошло. Но всё испортит любое современное приложение GNOME.
А так, да системные панели не нужны, отнимают место.
Вообще конечно идея интересная, но как уже было подмечена, не новая. PWA? Не буду даже говорить о том как концепция PWA с приложениями на десктопе подобно мухам регулярно налетает, гудит, а потом бесславно вымирает бес следов чтобы через годик другой вернуться.
Но что нового-то? Был уже Firefox OS, фактически есть ChromeOS который отчасти построен на PWA и все это как-то не захватывает мир.А ведь был еще Active Desktop в Windows 98...
Ну мир не захватывает, но хромось 60% рынка школьных ПК захватила.
* в США.
Да и не только в США, знаю по личному опыту.
Выглядит свежо и забавно. Осталось переписать на нормальный язык и можно будет начать пользоваться.
Тоже когда-то думал про такое же. В конце концов не всем нужны толстые приложения и там где пользуются на рабочих местах только вебом может и зайти.Но конкретно про Kera Desktop могу сказать, что мне не показалось удобным.
Начну с самого главного в таком десктопе - с браузера. Где у него, #$%#$@#$, адресная строка, чтобы URL можно было ввести?
Вот браузер сделали неудобно. И эти бэкграунды разноцветные, с фоном не #FFF. Только вот веб-мастера совершенно не ожидают, что у браузера дефолтовый фон может оказаться не #FFF и текст тупо нечитаем на некоторых страницах.
В общем, самое важное и не сделано в веб-десктопе: удобный браузер.
В настройках тоже фейковые сети и все такое. Видимо хотели сделать, но не успели.
В общем и в целом вроде идея ок, что сбоку приложения - ок. Но ощущение остается, что таки не особо стремились сделать удобно. Ну разве что за виртуальные рабочие столы интересная идея, приложения в них сразу показывать.
В остальном ощущение недоделанности.
Ах, да, приложения написаны на ванильном JS а работает это все под NW.js.
> альфа-выпуск
> ощущение недоделанностиДействительно, чего бы вдруг?
Это очередной проект DE на электроне?
Тут нужна известная картинка с обращением Оруэла к потомкам - "Я писал свою книгу как предупреждение, а не как долбаную инструкцию!"
На NW.js!
Идеи очень прикольные. Надеюсь, такой функционал придет в "обычные" DE.
Идея хорошая.
Ясно, что на домашний десктоп такое ставить нет смысла.
Но! на рабочий терминал, кассу, рабочее месте оператора, это то что доктор прописал.
Если сделают кастомизацию легкую, то вин.
Так есть же уже оболочки на терминалы и кассы. Зачем еще одна, пусть и веб?
На этот вопрос ответит +100500 дистрибутив)))