1
0
Fork 0
Commit Graph

246 Commits

Author SHA1 Message Date
cage 0e7d9f9e0e - [GUI] restored auto-adjust width of TOC widget. 2023-05-20 16:50:31 +02:00
cage d3defee0ed - [GUI] allowed resizing the TOC using the mouse (thanks op for the suggestion!). 2023-05-19 21:34:01 +02:00
cage b5418082ba - updated italian translation;
- [GUI] fixed typo.
2023-05-18 19:11:20 +02:00
cage 329d2d32d1 - [GUI] fixed deletion of old certificates when a mismatch with the cached ones occurred. 2023-05-18 19:08:34 +02:00
cage ad06c1b231 - [GUI] added a workaround to deal with URI that have no path component (thanks op!). 2023-05-18 17:45:41 +02:00
cage 18b2e8a8d4 - updated version number;
- updated documentation;

- [GUI] fixed again the mouse pointer's shape when moving in the gemtext window: sometimes got stuck in the 'hand2' shape.
2023-05-18 15:38:34 +02:00
cage 2ac8e544bd - [GUI] used the graphical debugger. 2023-05-17 20:57:35 +02:00
cage 1af9f1f98a - [GUI] added configuration directive to emphasize text wrappend in asterisk. 2023-05-17 18:24:11 +02:00
cage 5e226644b8 - [GUI] added configurable text selection color in gemtext window. 2023-05-16 19:32:02 +02:00
cage 32ea984845 - [gui] used IRI's fragment as regex search. 2023-05-16 19:14:55 +02:00
cage 1ce69366de - fixed configuration parser to allow empty strings;
- [GUI] drafted a theme.
2023-05-15 20:43:03 +02:00
cage ec609e1838 - [GUI] remove focus form autocomplete entry when opening bookmarks page. 2023-05-14 17:35:51 +02:00
cage 064c7efa00 - [GUI] added show bookmarks command. 2023-05-14 17:33:31 +02:00
cage b05e44de1c - [GUI] fixed bookmarking URL. 2023-05-14 17:22:41 +02:00
cage f7d8f4132f - [GUI] added bookmark keybinding. 2023-05-14 17:16:00 +02:00
cage e944219350 - [GUI] added more keybindings;
- [GUI] parsed keybindings.
2023-05-14 17:12:33 +02:00
cage b516f9e161 - [GUI] added horizontal padding for gemtext widget. 2023-05-14 16:56:01 +02:00
cage f2af236b78 - [GUI] removed menu shortcuts;
- [GUI] unfocus autocomplete entry when an url has been chosen;

- [GUI] unfocus gemtext window when a link has been clicked.
2023-05-14 16:25:13 +02:00
cage b237e4bd91 - [GUI] prevented adding the same link to tour more than once. 2023-05-14 14:54:28 +02:00
cage ec507a0235 - [GUI] added more keybindigs related to link tour. 2023-05-14 14:44:47 +02:00
cage bd7eaaf0cf - [GUI] prevented reinitializing the IR of gemtext if not in status 'streaming'. 2023-05-14 12:54:43 +02:00
cage d13c979b4e - [GUI] reinitialized IR of gemtext before opening a new IRI. 2023-05-14 12:54:35 +02:00
cage d756cba334 - [GUI] added more keybindings;
- [GUI] pass focus to the entry when the search frame is shown.
2023-05-13 21:20:49 +02:00
cage 211176ad8a - [GUI] started with configurable keybindings. 2023-05-13 18:53:05 +02:00
cage b1440cd218 - [GUI] added command to inline all images in a page. 2023-05-13 14:45:45 +02:00
cage b6bed17984 - [GUI] added visual hint that the process of inlining an image is in progress. 2023-05-13 12:13:58 +02:00
cage 6b12729128 - [GUI] completed inilining of image one by one. 2023-05-13 11:54:52 +02:00
cage 319aa164fd - [GUI] saved visited links in the history kept in the database. 2023-05-12 15:49:40 +02:00
cage 13c2815268 - [GUI] show 'inline' menu item only for links to supported files. 2023-05-12 15:34:58 +02:00
cage 917ca507ab - [GUI] fixed inlining bitmap position. 2023-05-12 15:32:54 +02:00
cage 097389e0b3 - [GUI] fixed regression: restored 'go up' command. 2023-05-12 14:22:39 +02:00
cage b73c0856f2 - [GUI] started adding feature to inline bitmaps. 2023-05-12 14:04:08 +02:00
cage 786775f106 - added 'iri:iri=';
- jumping to the corresponding feature when typing in the adderss bar a special iri (e.g. 'about:bookmark').
2023-05-08 20:34:39 +02:00
cage 5629c25ba6 - [GUI] updated address bar when loading a gemlog feed. 2023-05-07 12:46:33 +02:00
cage 4519aa756e - [GUI] added button to subscribe (and unsubscribe) to a gemlog. 2023-05-07 12:21:41 +02:00
cage 71912a8c21 - [GUI] fixed link text tag limits 2023-05-06 13:57:53 +02:00
cage 5674bf455a - [GUI] added widget for gemlogs showing and unsubscribing. 2023-05-06 12:48:01 +02:00
cage 53a6a6e9ab - [GUI] fixed checkbutton for case matching search in gemntext. 2023-05-03 16:18:47 +02:00
cage be04ddc99c - [GUI] chaged code to match the new nodgui API related to both modal and non-modal toplevel;
- [GUI] fixed callback to make visible the next matched text in a gemtext search.
2023-05-03 16:12:23 +02:00
cage 1a886affa3 - [GUI] improved help window. 2023-04-15 14:09:23 +02:00
cage 6dbc83555f - [GUI] increased size of tour management window. 2023-04-14 19:01:36 +02:00
cage 91e6298e7c - [GUI] printed information when streaming is started or finished;
- [GUI] increased width of bookmark window.
2023-04-14 17:13:41 +02:00
cage 297cc0bb60 - updated italian translation. 2023-04-14 15:21:08 +02:00
cage 9d19de2bcf - [GUI] added commands to shuffle the tour. 2023-04-14 15:09:38 +02:00
cage fbdfe648fc - [GUI] added command for copying and bookmarking a link from the contextual menu. 2023-04-13 18:33:32 +02:00
cage 7543b84005 - [GUI] added contextual menu command for opening link in background. 2023-04-13 17:56:51 +02:00
cage c07ccb054f - [GUI] added basic functionalities of link tour. 2023-04-13 17:56:43 +02:00
cage d3e5782104 - [GUI] added contextual menu for links;
- [GUI] added command to add a link to the tour.
2023-04-13 17:56:43 +02:00
cage 92cac487ff - [GUI] added a better icon for search frame closing button. 2023-04-13 17:56:43 +02:00
cage 9cc82e6cf2 - [GUI] added commands to toggle search frame. 2023-04-13 17:56:43 +02:00
cage 79b9364904 - [GUI] fixed order of tags when searching gemtext;
- [GUI] prevented crash when searching an empty gemtext widget.
2023-04-13 17:56:26 +02:00
cage 6dc7298b5b - [GUI] added searching regex in gemtext window. 2023-04-10 14:12:00 +02:00
cage cf7fe38829 - [GUI] improved visuals of bookmark managing window;
- [GUI] fixed italian translation;

- [GUI] added document edit icon.
2023-04-10 11:21:48 +02:00
cage 89dea0995e - [GUI] added window to modify bookmark entry. 2023-04-09 14:25:47 +02:00
cage a848ea7730 - [GUI] added window to manage bookmarks (only deletion so far);
- updated italian translation.
2023-04-09 14:01:26 +02:00
cage 4497feadd2 - [GUI] refactored code related to the internal IRIs. 2023-04-09 14:01:22 +02:00
cage 652a09177a - [GUI] added code to render the bookmarks page. 2023-04-09 14:01:18 +02:00
cage 7ae9cdae59 - [GUI] prevented closing bookmark window if validation failed when adding a bookmark. 2023-04-09 14:01:13 +02:00
cage 6e6106e996 - [GUI] added command to bookmark and delete a gemini address. 2023-04-09 14:01:04 +02:00
cage 4ee09ae301 - allowed complete local path even when using file scheme ('file://'). 2023-04-07 13:05:36 +02:00
cage 2b19e708d9 - [GUI] ensured the address bar is updated whan a link has been clicked. 2023-04-07 12:30:54 +02:00
cage 8ea9177f91 - [GUI] moved toolbar's buttons to the left side. 2023-04-07 12:27:05 +02:00
cage 0aefb5e47e - [GUI] fixed messed up callbacks for 'up' and 'back' buttons. 2023-04-06 18:57:20 +02:00
cage 2778372317 - [GUI] added command for the 'go up iri' button. 2023-04-06 15:06:31 +02:00
cage f9afbd64e0 - [GUI] added command for the 'back' button;
- [RPC] fixed function to get the IRI loaded before the latest one;
- [GUI] refactored some code about main window's callbacks;
- [GUI] highlighted TOC entries when the mouse pointer is over the widget.
2023-04-05 20:12:06 +02:00
cage 2787544c2f - [GUI] implemented reload iri button command. 2023-04-03 19:53:05 +02:00
cage 41b2f7a571 - [GUI] added command to reload a gemini stream from the streams window. 2023-04-02 17:06:06 +02:00
cage d7f36cc33d - [GUI] added stream window (list the streams and delete them). 2023-04-02 17:06:00 +02:00
cage 6a771507c5 - [GUI] increased width of entries in import certificates dialog window. 2023-04-02 17:05:55 +02:00
cage 3da987012c - [GUI] added a better default directory when chosing a certificate file for import. 2023-03-25 16:19:19 +01:00
cage c74f501225 - [GUI] improved certificates window;
- added midding icons file.
2023-03-25 16:16:39 +01:00
cage 1e658fbe6c - [GUI] improved certificates window;
- removed useless code.
2023-03-24 11:00:46 +01:00
cage 902cf57657 - [GUI] added button to delete and import gemini gertificates. 2023-03-24 10:46:54 +01:00
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