The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"десктоп неудобный?"
Отправлено Ed Wood, 14-Окт-10 15:14 
>> Да что говорить - сейчас так называемые DE не поддердивают даже полноценные сессии.
> И могли бы сами пару программ допилить
> до сохранения state, если чего-то не хватает.

Вопрос в сложности допиливания.

А мог бы я любую, произвольную, неизвестно какую заранее программу, ранее сессию не поддерживающую, допилить до сохранения состояния в "сессии"?
Скажем, через интроспекцию её состояние посмотреть, к событиям "состояние поменялось" прицепиться и её состояние в сессии сохранить?

Как вообще эти сессии реализуются? есть какой-то guid сессии, какие-то "контекстно-зависимые" данные приложения с состоянием, какое-то хранилище настроек. Что мешает сделать общий API, с универсальными метаданными/событиями шины/словарями? Грубо говоря, чем отличается хранение настроек внутри того же evince и epiphany или okular/konqueror, и *любого другого* неизвестно какого наперёд взятого приложения?

Вот в MacOSX/GNUstep/Etoile, например, сериализацию объектов приложений не нужно писать "под конкретный объект" -- есть интроспекция, универсальная сериализация работает через неё. Есть форматы plist/xml/nib, которые прозрачно сохраняют "freeze dryed objects", могут сохранить его в хранилище, и могут загрузить, продолжив с того же самого состояния.

http://en.wikipedia.org/wiki/Interface_Builder

Interface Builder saves an application's interface as a bundle that contains the interface objects and relationships used in the application. These objects are archived (a process also known as serialization or marshalling in other contexts) into either an XML file or a NeXT-style property list file with a .nib extension. Upon running an application, the proper NIB objects are unarchived, connected into the binary of their owning application, and awakened. Unlike almost all other GUI designer systems which generate code to construct the UI (notable exceptions being Glade, Codegear's Delphi and C++ Builder, which stream UI objects similarly), NIBs are often referred to as freeze dried because they contain the archived objects themselves, ready to run.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру