1
0
Fork 0
Commit Graph

1013 Commits

Author SHA1 Message Date
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 1d09d25082 - [gemini] added missing arguments when creating an instance of 'gemini-others-data-stream'. 2023-03-16 15:13:44 +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 74b32349f6 - [RPC] bubbled-up error when using wait results cuncurrent events. 2023-03-11 12:42:46 +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 081fb45e06 - removed wrong assumption that input is a simple string when completing expanding the tilde as home of the user. 2023-03-02 17:51:13 +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 d2d1745001 - added package URL to the authorized client. 2023-02-26 20:33:29 +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 8278ea485e - rearranged columns of gemlog subscriptions.
- fixed typos in init file.
2023-02-24 11:21:57 +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 f9240da5fb - converted namestring to pathname in a couple of functions. 2023-02-18 12:42:15 +01:00
cage 8cc47e9dc0 - prevented connecting to a pleroma instance when running the TUI in gemini exclusive mode. 2023-02-17 18:31:49 +01:00
cage 00a3b45dcd - prevented connecting to a pleroma instance when loading a script in gemini exclusive mode. 2023-02-17 18:16:34 +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 4a9e41a307 - [kami] prevented landing on the debugger if communicating with a kami
server fails.
2023-02-14 21:17:46 +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 65ed6b9425 - flush the socket buffer to ensure the successful autorization message is delivered to the browser. 2023-02-11 21:22:36 +01:00
cage 9e7966f697 - input dialog reurn :canceled if the user pressed the 'cancel' button;
- fixed an infinite loop when the user chose to cancel saving the URI to autorize the client.
2023-02-11 21:01:58 +01:00
cage 5ee623d312 - fixed default callback in input dialog. 2023-02-11 20:55:39 +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 90ae6193e8 - [JSON-RPC] added the request (that triggered the error) to the data field of an error response. 2023-02-04 11:31:36 +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 2618b50d42 - updated italian translation;
- added message to inform about the downloading of notifications.
2023-02-02 15:01:20 +01:00
cage 7420b8fc26 Merge branch 'master' into add-gemini-gui 2023-02-01 15:04:29 +01:00
cage 13286e44e0 - used the brand new dialog window made available from croatoan. 2023-01-30 20:49:57 +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 155cdc1117 - [GUI] added client events loop. 2023-01-15 15:56:00 +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 3824e29171 - [gemini] used function 'maybe-notify'. 2023-01-13 16:33:22 +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 48f950af1e - [JSON-RPC] fixed macro for signal error. 2023-01-13 15:35:02 +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 5ce7e5c082 - [JSON-RPC] fixed tests (the error object returns the field 'data' now). 2023-01-13 14:59:44 +01:00
cage 804bf09914 - added missing parens. 2023-01-13 14:13:19 +01:00
cage 8d60b063c8 Merge branch 'master' into add-gemini-gui 2023-01-12 20:17:53 +01:00
cage 003a7a26ac - made the program respect the `open' configuration directive for when downloading MINE type "text/*"
Before this patch, the software tried to open all the text MIME type
  in the main window regardless  any setting in the configuration file
  that imposed  to use  a program to  open a file  based on  a regular
  expression (e.g. `open  "^((gemini://)|(\\.)|(/)).+txt$" with "vi"',
  did not worked).
2023-01-12 20:09:01 +01:00
cage 0e71b7a48a Merge branch 'master' into add-gemini-gui 2023-01-12 16:11:53 +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 7fc90b428c - [JSONRPC] used a custom error when a called function fails for some reason. 2023-01-06 12:15:54 +01:00
cage 4fb9c6eb43 - [JSONRPC] included actual ID to the error response when possible. 2023-01-06 12:12:32 +01:00
cage 0215a4c173 - renamed test file. 2023-01-06 11:57:53 +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 8c48c9a567 - prevented crash when printing a notification after deletion. 2023-01-02 19:03:36 +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 5052c21fe3 - [rpc] fixed error responses, tests passed again. 2023-01-01 19:02:30 +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 f1df366cba - added 'list-id' as metadata for gemini list;
- added unit tests for gemini parser.
2022-12-30 15:03:59 +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 a87ea3b2ae - moved macro definition on top of the file. 2022-12-29 17:34:44 +01:00
cage 685f4e4db7 - added slot 'parsed-lines' to gemini-viewer:gemini-stream,
moreover used this slots when downloading a gemini stream

  This changes means that the parsing of gemini stream is no more done
  in program events but during the downloading thread.
  See, for example the changes in: 'gemini-viewer:make-gemini-download-event'

- added a parameter to prevent notification when downloading a gemini stream
  see 'gemini-viewer:request-stream-gemini-document-thread';

- added a  more human friendly  constants for each gemini  status code
  (e.g. +success+ for code 20).

- as the gemini parser has status added a parameter ('initialize-parser') to
  'gemini-parser:parse-gemini-file' (default to nil, do not initialize);

- initialize the gemini parser when needed.
2022-12-29 17:24:53 +01:00
cage 72bb14c9d6 - added a couple of debug flags to make logging more fine-tuned. 2022-12-29 17:23:24 +01:00
cage f8bf6aa360 - [gemini] added better names for status code of a gemini response (e.g. '+20+' -> '+success+'). 2022-12-28 13:57:15 +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 432045fc52 - used a better default for slot 'local-path' to prevent crash when 'sexp->links' is called with an empty string as local-path argument. 2022-12-26 16:41:50 +01:00
cage 39878d6475 - wrapped 'babel:string-to-octets' in 'text-utils:string->octets'. 2022-12-25 12:53:07 +01:00
cage 2365707338 - refactored code in a function. 2022-12-25 12:47:41 +01:00
cage a18c63f3db - moved '+octect-type+' to 'constants' package. 2022-12-25 12:04:08 +01:00
cage b3fc8c58a3 - renamed 'main-croatoan-init' to 'main:tui-init'. 2022-12-24 14:41:11 +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
cage d937235d6c - [pleroma] added API for announcements. 2022-12-23 12:03:04 +01:00
cage 87e0a3620c - made a couple of names more consistent. 2022-12-23 12:03:04 +01:00
cage 53379fdd37 - added a json-rpc2 implementation. 2022-12-23 12:03:04 +01:00
cage 416d9356e4 - catched all errors signaled when something has gone wrong downloading the messages containing the subscribed tags. 2022-12-17 17:14:04 +01:00
cage 4b2efa5539 - removed hardcoded font spec when making an image mosaic;
- updated croatoan version.
2022-12-14 11:44:18 +01:00
cage 7924136282 - captured error that could happens when making a image mosaic from a gemini page. 2022-12-11 12:59:41 +01:00
cage 3145ee8263 - added a better name for images captions, when composing images from a gemini page. 2022-12-10 15:16:03 +01:00
cage 32169beac7 - added a pair of directives to configure montage of gemini images. 2022-12-10 15:06:48 +01:00
cage 6348e57ea2 - added docstring to 'gemini-images-montage' 2022-12-10 14:47:11 +01:00