Blog (75)
Komentarze (5.3k)
Recenzje (0)
@nintyfanNowości w Bonsole (1)

Nowości w Bonsole (1)

29.03.2020 17:12

Od ostatniego wpisu na temat Bonsole niewiele się zmieniło w tym programie. Dodałem tryb ducha dla programów klienckich, wstępną pętlę obsługi zdarzeń, zmiany w arkuszach stylów (xsl), możliwość korzystania z narzędzi programisty w programie Bonsole.

Od tej pory aplikacja może oczekiwać na zdarzenia. Jest specjalny rodzaj uri, którego składnia jest taka:

app: prefiks parametry_programu .

Prefiks może wskazywać, że chodzi nam o komunikat zdefiniowany przez programistę aplikacji, bądź jakiś standardowy, jak np. żądanie wyjścia.

Biblioteka kliencka oferuje funkcje do tłumaczenia sekwencji ucieczki html (printable quotes) na odpowiadające im liczby, jak i na odwrót. Np. %20 zostanie zamienione na spację, gdy korzystamy z pierwszej opcji.

To, jak program obsłuży parametry zdefiniowane przez programistę zależy wyłącznie od niego - ważne jest natomiast, by korzystać z tych funkcji do operowania na sekwencjach ucieczki, bo WebKit zamienia niektóre znaki na odpowiadające im sekwencje ucieczki.

Tryb duszka oznacza natomiast, że program może wyświetlić wyjście, zakończyć się, a gdy użytkownik będzie z nim chcieć pracować, zostanie ponownie uruchomiony, a Bonsole przekaże mu zdarzenie. Np. użytkownik kliknie w app:__app_?cwd=/etc&path=modprobe.d , a ls zgłosiło pracę w trybie ducha i się zakończyło. Wtedy ls zostanie ponownie uruchomiony z parametrami uruchamiania przekazanymi do poprzedniej instancji, a następnie zdarzenie app:__app_?cwd=/etc&path=modprobe.d zostanie mu wysłane. Najprawdopodobniej, po obsłudze tego zdarzenia, ls się zakończy i tak w kółko.

Oczywiście program nie musi pracować w trybie ducha, by można było z nim pracować. Zdarzenia będą przekazywane, również w przypadku pracy w zwyczajowym trybie.

Kolejną zmianą jest możliwość przekazania parametrów do styli. Pierwszym rodzajem są sugerowane parametry, a drugim wymuszone. Pierwszy rodzaj nadpisuje parametry, których wartości są zdefiniowane wewnątrz samych styli. Jednak wyższy priorytet od sugerowanych mają wartości ustalone przez program, i to one zostaną ustawione, nawet w przypadku określenia sugerowanej wartości w linii poleceń. Parametry wymuszone mają większy priorytet od wartości określonych przez aplikację.

Po co? Po to, by np. dało się zdefiniować liczbę kolumn dla wyświetlania plików. A po co tryb ducha? Przede wszystkim dla pracy w trybie konsoli (cli), a także dla pracy zdalnej (planuję dodać możliwość komunikacji na odległość; jakiś wrapper na html by się przydał). W każdym razie, to tryb ducha umożliwia, by małe programy nie marnotrawiły pamięci. Jeżeli program ma tylko wyświetlić wynik, to może to zrobić, jednak może również umożliwiać pewną interakcję.

Wybrane dla Ciebie
Komentarze (0)