1
0
Fork 0
Commit Graph

273 Commits

Author SHA1 Message Date
cage 5282e2cf86 - [GUI] added menu command to shows certificates. 2023-03-21 17:49:58 +01:00
cage 910da66e4f - [GUI] implemented TOC callback (scroll to header when clicking on
the corresponding TOC item.
2023-03-19 14:32:11 +01:00
cage 2982dfdeeb - [GUI] made the TOC's resize its width to fits the TOC items width.
- [GUI] added configuration directive for TOC width limits;

- [GUI] refactored TOC rendering code;

- [GUI] clear TOC widget from legacy items befor rendering the new TOC.
2023-03-19 13:00:28 +01:00
cage d61656e0ad - [GUI] removed deadlock when rendering gemtext and the TOC. 2023-03-19 12:21:51 +01:00
cage 89969f1f91 - [GUI] started with TOC rendering. 2023-03-18 20:27:24 +01:00
cage 82de38f891 - [GUI] fixed test for checking if a stream is exhausted;
- [RPC] force a maximum width for the TOC entry.
2023-03-17 13:44:22 +01:00
cage d494571b38 - [GUI] prevented error when loading twice a non-text resource (e.g. loading twice the same URL pointing to a bitmao image.). 2023-03-16 15:11:46 +01:00
cage a896c5642e - [GUI] prevented wrapping of preformatted lines. 2023-03-16 14:11:05 +01:00
cage 67d2a06630 - [GUI] added downloading of data with text/* MIME type (but not gemini);
- [GUI] refactored rendering of simple text data;

- [GUI] removed debugging form.
2023-03-15 17:42:22 +01:00
cage 26f843d2bd - [GUI] refactored a test. 2023-03-15 17:24:32 +01:00
cage ad67612478 - [GUI] fixed discarding rendering of lines coming from a stopped stream;
- [GUI] added downloading and opening of non text data.
2023-03-15 17:18:38 +01:00
cage ac32e27fcc - [GUI] instructed the client to open local file using external software. 2023-03-14 18:50:47 +01:00
cage 559b5dae84 - [GUI] fixed leaking lines parameter when rendering preformatted text;
- [gemini] added a missing newline character in 'geminize-preformatted';
- [GUI] parsed standard colors for gemini window's text;
- [GUI] rendered the gemini  protocol rerror  responses to  the gemtext
  window instead of poppinu out a dialog window.
2023-03-12 15:36:13 +01:00
cage fa6844a2ab - [GUI] added code to deal with query input (status 10 and 11). 2023-03-12 12:35:01 +01:00
cage d4a871d769 - [gemini] returned the meta header to user when a protocol error occurred. 2023-03-12 11:42:55 +01:00
cage 3a5ea0fac9 - [GUI] fixed test for discarding canceled stream lines left in the queue;
- [GUI] setted the font for the rendered gemtext from the one choosen in the configuration file.
2023-03-11 14:24:51 +01:00
cage f882b1584f - [GUI] prevent rendering of lines in the queue when corresponding
stream has been canceled;
- [GUI] print an error when opening a non existent local path.
2023-03-11 14:12:30 +01:00
cage c90c7289d9 - [RPC] resignalled TOFU error to client in a structured form to let the user deal with it;
- [GUI] improved protocol error messages.
2023-03-11 13:12:28 +01:00
cage 162c6b8e63 - [GUI] hide candidates when loading an url. 2023-03-08 21:02:41 +01:00
cage 3d59696059 - [RPC] fixed 'code' argument of 'make-gemini-response' (passed a struct but an integer was expected instead);
- [GUI] implemented redirect;

- [GUI] implemented opening of local directory.
2023-03-08 16:16:55 +01:00
cage 24b0b07bb3 - [GUI] made link working for local files and gemtext files over gemini protocol. 2023-03-06 18:38:46 +01:00
cage d6fdf00253 - [GUI] transformed relative IRI to absolute in the rendered gemtext;
[GUI] printed IRI on the info-bar when moving cursor over links in the rendered gemtext.
2023-03-03 17:04:40 +01:00
cage fd19aa8704 - [GUI] allowed expanding of local paths in the address bar;
- refactored callback related to opening address.
2023-03-02 18:17:19 +01:00
cage 283824f74a - [GUI] removed inefficent code to render the gemtext;
- added dummy function as link callback.
2023-02-28 18:48:34 +01:00
cage cc633fc29c - [GUI] ensured the rendering of the gemtext respects the directives in the configuration file (font, color, justification, etc). 2023-02-26 15:03:03 +01:00
cage 744c85331e - [GUI] added correct wrapping for gemtext widget. 2023-02-26 11:54:26 +01:00
cage c546b47fd4 - [GUI] rendered links;
- [GUI] started with focus on the address text entry.
2023-02-25 18:18:34 +01:00
cage 9e7feacf8e - [GUI] started a news thread where getting gemini stream's data.
- [GUI] added theming to gemtext.
2023-02-25 11:41:01 +01:00
cage 86adc4638d - added functions to set meesages on the info-bar. 2023-02-22 15:58:30 +01:00
cage 393b4b0d29 - added 'etc/gui.conf' to the file to be distributed;
- [GUI] added gemtext window;
- [GUI] fixed loading of GUI specific configuration file;
- [GUI] completed parsing of configuration values (e.g. color names are converted to corresponding TK color codes).
2023-02-21 20:21:54 +01:00
cage 8deab8f098 - [RPC] added iri for failed stream when signalling an error. 2023-02-19 16:20:10 +01:00
cage a4f6e87765 - [GUI] removed useless information (for users) when showing errors (RPC errors contained the whole request as sexp).
- [GUI] removed warning about missing variable 'gui-goodies:*gui-server*' in file containing the gui event loop.
2023-02-19 16:15:10 +01:00
cage cefbe59be6 - [GUI] bound the wish interpreter handle to a special variable so that the gui event loop can reference it and call, without errors, nodgui functions. 2023-02-19 15:45:22 +01:00
cage d040aec005 - [gemini] improved format control for protocol error messages;
- [GUI] logged RPC request error instead of opening a dialog message when in debug mode;
- [GUI] added a draft of callback for opening a gemini address.

- [RPC] learnt that (error "string" arg1 arg2 ... argn), is similar to
  (error (format nil  "string" arg1 arg2 ... argn))  so (error (format
  nil "~a" "~c"))  is equal to (error "~c"); =>  format error (missing
  argument for format string)!
2023-02-19 14:52:53 +01:00
cage 377f42fa5c - [RPC] moved request enqueue macros to the GUI loop package;
- [GUI]  ensured  the gui  events  loop  thread is  terminated  before
  quitting the server and the program.
2023-02-19 12:57:10 +01:00
cage 8ad6b368ec - [GUI] tracked slot name changing in nodgui. 2023-02-18 14:57:26 +01:00
cage 811c3c9824 - [GUI] bound return event for the address bar to a dummy function. 2023-02-18 14:28:57 +01:00
cage 9802b18dc9 - [GUI] added 'up' button. 2023-02-18 13:02:56 +01:00
cage 81868075b4 - made 'about' help window, modal. 2023-02-17 15:05:09 +01:00
cage 801a7e8b3f - [GUI] used the new autocomplete widget of nodgui. 2023-02-17 14:30:37 +01:00
cage 2b416820a1 - [RPC] added indices of matching chars in string that complete the
IRI in 'complete-net-address'

  This data  would be  useful to  highlight parts  of the  string that
  matches the criteria to complete  the user suggestions (typed on the
  address text entry).
2023-02-12 11:41:33 +01:00
cage a973a8fbe1 - [RPC] fixed server stopping;
- [GUI] notify RPC errors to the user using the GUI.
2023-02-10 12:57:08 +01:00
cage 7b415e485a - [GUI] added address autocomplete;
- added optional argument to specify pushing function in: 'program-events:push-function-and-wait-results'.
2023-02-09 17:04:29 +01:00
cage 282b36d712 - [GUI] started connecting JSON API with GUI;
- [RPC] reworked 'slurp-gemini-stream' to use events queue;

- [GUI] fixed dispatching of events
2023-02-09 16:28:53 +01:00
cage abef1cfe33 - added some functions to build the GUI. 2023-02-08 13:02:26 +01:00
cage 2a96ff70ef - [GUI] added a few icons. 2023-02-05 14:57:40 +01:00
cage 801829b528 - instruct makefile to copy modules, script and icons in differents subdirectory when installing the package. 2023-02-05 14:41:03 +01:00
cage c0e2b43d3e - [GUI] added a bit of scaffolding for the interface;
- [GUI/RPC] added  method to start and retrieve a gemini stream's data.
2023-02-05 14:07:13 +01:00
cage ba5ddb6d7a - made the event-queue optionally blocking (block the caller thread if empty).
- added parent window to the dialog.
2023-02-02 16:10:08 +01:00
cage 891651b6fa - added missing file;
- [RPC] splitted the package json-rpc-munication in two files: one in server directory and the other in the client directory.
2023-01-15 16:03:25 +01:00
cage 045819b4a4 - [RPC] added API for generate the TOC from a gemtext;
- removed duplicated code (used the class 'box:box' instead of struct 'json-rpc-communication:box).
2023-01-15 15:54:49 +01:00
cage 572eb5c1b7 - [GUI] added procedures to get client configuration. 2023-01-13 16:31:54 +01:00
cage 3a0074811d - [RPC] moved struct 'box'. 2023-01-13 16:31:16 +01:00
cage 9b63978329 - [RPC] refactored public API in multiple files. 2023-01-13 16:22:22 +01:00
cage b0140d6fc6 - [RPC] fixed encoding of certificates. 2023-01-13 16:09:14 +01:00
cage cf0376e666 - [RPC] added function to close server;
- [JSON-RPC] allowed API to signal a custom 'jsonrpc-error'.
2023-01-13 15:34:01 +01:00
cage 804bf09914 - added missing parens. 2023-01-13 14:13:19 +01:00
cage 8b1d00817f - [RPC] added functions for managing tour links and clients certificates. 2023-01-12 16:08:10 +01:00
cage 51c4a03c2c - removed resetting of gemini parser status when downloading a text
encoded, but non-gemini, file;
- [rpc] added tour links slot for gemni window (server);
- added loading configuration file for GUI (RPC client) at start;
- refactored metadata slot thei is now used by a TUI window and the server side gemini window;
- added optional string bag parameter to 'text-utils:trim-blanks'.
2023-01-11 19:10:51 +01:00
cage f40fb786b1 - [GUI] moved server side GUI to a proper component and directory. 2023-01-06 13:55:38 +01:00
cage 746b2e01ac - [RPC] added representation of the main gemini window in the server;
- [RPC] added two IRI's history manipulation functions.
2023-01-06 13:50:33 +01:00
cage 39ad2ffad8 - [RPC] removed parsed lines from object returned by the function 'gemini-stream-info', there are more specialized functions to get those;
- [RPC] added 'gemini-all-stream-info'.
2023-01-06 12:47:20 +01:00
cage c01188e0db - [JSONRPC] added optional data field to error response. 2023-01-06 12:35:41 +01:00
cage cfb05a6ea1 - log gemini and json, debug messages even if *features* does not
contains :debug-mode;
- [RPC] fixed 'gemini-stream-info';
- [RPC] added 'gemini-stream-parsed-line-slice';
- [RPC] added error handling for 'gemini-stream-parsed-line';
- [JSON-RPC] fixed encoding of error responses.
2023-01-06 11:56:21 +01:00
cage f0862e3903 - [rpc] returned an error if a gemini stream can not be foud in 'gemini-stream-info'. 2023-01-01 20:05:20 +01:00
cage cbb447a84e - [rpc] added 'gemini-stream-parsed-line'. 2023-01-01 18:31:27 +01:00
cage a6a8b0ad8f - [rpc] fixed error handling. 2023-01-01 14:57:08 +01:00
cage 59a9b69605 - added a new command 'delete-notifications';
- retrofitted 'add-metadata-to-parsed-gemini-lines' into the main gemini parser;
- fixed json generation of parsed lines in 'gemini-stream-info'.
2023-01-01 11:11:40 +01:00
cage 3114264505 - added parameter 'initialize-parser' (default to nil), to reset
parser state in 'sexp->text-rows';

- added 'add-metadata-to-parsed-gemini-lines'

  This function  will add attributes (like  ':header-group-id') to the
  sexp   representation   of   a  gemini   stream   (structure:   (tag
  ((attribute-key attribute value)...) text line) )

- [JSON-RPC API] added a couple of public API function.
2022-12-30 11:07:30 +01:00
cage fb4be7bb9f - [gui] added an actual funcion for API;
- [jsonrpc] added more information when an internal error occurred;
- added 'main:rpc-server-init'.
2022-12-27 13:19:59 +01:00
cage 39878d6475 - wrapped 'babel:string-to-octets' in 'text-utils:string->octets'. 2022-12-25 12:53:07 +01:00
cage b2e7f8fd62 - added a minimal client-server interation system (using pipe).
- renamed 'main:init' to 'main-croatoan-init'.
2022-12-24 14:39:53 +01:00
cage db30d2b47d - added some scaffolding for RPC;
- added 'read-delimited-into-array'.
2022-12-23 13:23:08 +01:00