1
0
Fork 0
Commit Graph

367 Commits

Author SHA1 Message Date
cage 5cbde371da - improved docstring for tour-mode. 2021-05-02 13:49:20 +02:00
cage ba316e84a0 - [gemini] improved tour-mode, allow collect links by regex not only by indices. 2021-05-02 13:47:06 +02:00
cage 528700907f - added a command to show the tour's queue. 2021-05-01 20:25:15 +02:00
cage 864dc959e6 - added tour mode to explore geminispace. 2021-05-01 13:44:50 +02:00
cage a89334c6bf - removed hardcoded list of windows that loose focus when focus is changed. 2021-05-01 11:23:18 +02:00
cage 29c09553d1 -[gemini] removed loop when going back in history.
when follownig  a redirect  both the original  (the redirect)  and the
actual URI was saved in the history.   So if an user, after followed a
redirect, tried to go back would reach the same redirect, this generated
a loop.
2021-04-28 20:56:37 +02:00
cage 8e924ded74 - implemented a new method to move focus between windows (using 'M-arrowkeys'). 2021-04-28 16:26:10 +02:00
cage bcb6867a61 - fixed procedures that extract extension from a local path or an URI. 2021-04-27 19:04:11 +02:00
cage f5ff5cd94d - fixed 'make-gemini-iri', was crashing the program when 'port' argument was null. 2021-04-26 19:14:35 +02:00
cage 1d850fffa4 - fixed text-utils:percent-encoded-p, an empty string is not percent-encoded;
- raised a better error when an empty string is entered as a gemini address.
2021-04-25 16:12:49 +02:00
cage c5ccfa2d26 - [gemini] omitted default port when building URI. 2021-04-24 16:12:14 +02:00
cage a2e9016bf7 - used 'mkstemps' intead of 'mkstemp' as the latter does not supports
suffix and the temporary keeps the same names.
2021-04-23 21:25:28 +02:00
cage be6f2a9551 - fixed end position for 'visible-rows' 2021-04-21 16:36:45 +02:00
cage 02894dcc64 - optimized module 'rewrite-message-urls.lisp'. 2021-04-21 16:29:50 +02:00
cage 0cd1f77c7f - fixed rendering of text: all text is now rearranged to fit the
window.
2021-04-20 20:28:04 +02:00
cage d9ebbe84ab - quote meta characters when matching for RE, searching for a common prefix from a bag of strings. 2021-04-16 18:34:27 +02:00
cage 7c9a8e3ee2 - [gemini] allowed to connect to host using ip address instead of hostname. 2021-04-16 15:03:58 +02:00
cage 90bad8b21c - fixed 'make-gemini-iri', was building wrong IRI with ipv6 address as host. 2021-04-16 14:44:22 +02:00
cage 32e1394422 - trimmed square brackets from ip literal when parsing an IRI. 2021-04-16 14:15:41 +02:00
cage 1b3efc62f6 - [gemini] prevented trimming of preformatted gemtext line. 2021-04-16 14:05:42 +02:00
cage a9ce526dce - added 'remove-corrupting-utf8-chars' to clean up rendered text from trouble characters. 2021-04-13 18:32:48 +02:00
cage a4630f08af -[gemtext] added metadata for list and link lines. 2021-04-13 17:29:25 +02:00
cage a91ec4c7ae -[gemtext] added metadata to header lines;
- fixed processing of follow requests.
2021-04-13 17:02:30 +02:00
cage 15bbb49d5e - [gemini] added feature to toggle preformatted block on/off;
- [gemini] trimmed alt-text;

- reworded some functions.
2021-04-11 15:19:45 +02:00
cage 84a8029c9a - specialized message-window' to skip invisible rows. 2021-04-11 11:06:39 +02:00
cage 76c8296aa4 - reorganized generic function. 2021-04-11 10:26:48 +02:00
cage 83356eed20 - exit from the program, without launching the debugger, when the
configuration  module was  not found  but  notify a  warning if  the
  module was  not essential  (like when loaded  from the  command line
  using switch "-M").
2021-04-10 21:14:20 +02:00
cage 540dea6825 - [gemini] ensured tail call when downloading a non-text file. 2021-04-10 19:15:06 +02:00
cage dd79fbb00c - fixed RE in 'open-attach-window:get-extension';
- fixed bug that prevented to open an attachment from cached file.
2021-04-10 14:42:16 +02:00
cage 6786d48f6d - rewritten rendering of text in message window
i got rid of slot support-text in message-window, so that class does
  not maintain a state.

- changed behaivour of split-line
  (split-line (format nil "~2%")) ; => ("" "")

  That is an emtpy line is returned as empty string and not skipped
  Thanks to people from IRC and cl-ppcre maintainer for help!

- [breaking changes] changed 'hooks:*before-prepare-for-rendering-message*
  with 'hooks:*before-rendering-message-text*.
2021-04-10 13:52:56 +02:00
cage ddb74a600f - [gemini] tag preformatted text lines with metadata (group-id and alt text). 2021-04-08 16:32:34 +02:00
cage ca2ace2551 - discouraged use of slot 'rows' for 'row-oriented-widget', used API instead. 2021-04-08 15:13:31 +02:00
cage 149c6931f2 - [gemini] removed unused arg from 'refresh-gemini-message-window'. 2021-04-07 15:23:15 +02:00
cage 3ca18e1fd9 - fixed searching in links or gemini pages: searching starts from the first row. 2021-04-06 19:59:58 +02:00
cage f6556fd4ff - fixed search in message window.
If more than  one occurence of the matched string  was present (in the
same line) drawing the last will overwrite the others.
2021-04-06 18:27:47 +02:00
cage 816a04812d - fixed search in message-window;
- there  was a  lot of  problems  related to  type of  an element  of
    'rows', they must be always a complex string

  - moreover there  was an incorrect  positioning of the  matching string
    when  character  with  column  width >1  was  present  before  the
    string compatible with the regex.
2021-04-05 18:10:14 +02:00
cage 9572f2a917 - changed 'source-text' to 'support-text'. 2021-04-05 17:33:16 +02:00
cage 97a0c10aa9 - removed debug message. 2021-04-05 16:29:19 +02:00
cage a0d566fb71 - fixed 'refresh-gemini-message-window', was always appending contents. 2021-04-05 16:28:52 +02:00
cage fc1aa5f1e6 - simplified 'refresh-gemini-message-window'. 2021-04-05 15:48:30 +02:00
cage eefb64eb8e - [gemini] fixed gemini text parser. 2021-04-05 15:37:59 +02:00
cage eaf23afb58 - [gemini] fixed rendering of quoted lines;
- [gemini] do not set, always append, source text when refreshing a gemini window.
2021-04-05 14:47:57 +02:00
cage fac77297e8 - [gemini] started coloring preformatted block. 2021-04-05 12:01:30 +02:00
cage 9e3269576d - [gemini] improved rendering of quoted text. 2021-04-03 15:03:24 +02:00
cage d7f074aa34 - [gemini] percent encoded paths when exploring local filesystems. 2021-04-03 13:04:40 +02:00
cage f1c8ec0ec1 - fixed crash when 'contains-clsr' is called
This function called cl-ppcre:create-scanner  but if the argument to
  this function can not be interpreted  as a valid regex (e.g "["), an
  error is signalled.

  This error is now captured and the string passed to 'create-scanner'
  is used as a mere sequence not a regular expression.

- [gemini] fixed bug that prevented a page to be reloaded;
- [gemini] use cache, if possible, when opening a gemini url.
2021-04-03 11:14:58 +02:00
cage 6690a1b6f7 - fixed, again fs:dirp;
- fixed iri parser (parses correctly IRI like mailto:...).
2021-04-01 20:33:29 +02:00
cage 61c39b6c62 - moved to an internal wrapping of 'mkstemp' to allow extensions in filename;
- [gemini] rendering all stream with MIME type "text/*" with this program.
2021-04-01 17:08:42 +02:00
cage ef3724e986 - fixed 'uri:normalize-path';
- [gemini] cleaned paths when exploring local tree.
2021-03-28 16:43:21 +02:00
cage 02ea992ca8 - [gemini] expand 'pwd' when printing the directory's contents;
- [gemini] forced displaying of director with tinmop.
2021-03-28 15:00:00 +02:00
cage ad21da5957 - cleaned a bit reults of 'prepend-pwd'. 2021-03-28 14:42:19 +02:00
cage 8b50eec3be - [gemini] allowed exploring directory using relative path;
- [gemini]  allowed  opening  a  file using  tinmop  itself  (example:
  opening a gemini text file);
- added a more hi-level function to open a file with an external program.
  - this function  takes into account  the file that should  be opened
    with tinmop and uses 'xdg-open' as  fallback if the user did not
    specified an association program file-type.
2021-03-28 14:33:56 +02:00
cage ff99cd50b6 - [gemini] allowed opening local folder using 'ui:open-gemini-address'. 2021-03-27 11:01:36 +01:00
cage 9dd77c549d - [gemini] allowed going back in history also when exploring a local filesystem. 2021-03-27 10:59:10 +01:00
cage 87377914a3 - [gemini] added a symbol to mark a directory when exploring local filesystem. 2021-03-27 10:37:05 +01:00
cage 6a82f892a1 - [gemini] added feature: open local directory. 2021-03-27 10:21:33 +01:00
cage 57776623aa - allowed, again, nil value for some message window data when loading a gemini resource. 2021-03-27 09:41:44 +01:00
cage 16c131e952 - used 'load-gemini-url', when possible, to avoid duplication. 2021-03-27 09:33:55 +01:00
cage db34a2f958 - [gemini] added feature: loading local gemini files from command line (switch: '-o'). 2021-03-27 09:19:13 +01:00
cage 029acbe186 - removed empty line. 2021-03-24 16:26:26 +01:00
cage d92c103c43 - [gemini] when resolving host try UTF8 encoded name first and punycoded last. 2021-03-24 16:12:32 +01:00
cage 11fa85ad79 - fixed test for deciding if a pair timeline/folder must be renumbered. 2021-03-21 14:36:47 +01:00
cage 6228858e79 - skipped threads group (pair timeline and folder) that has not
statuses  marked to  be  deleted when  sorting  all statuses  before
  quitting the  program. Hopefully this  is the last change  needed to
  remove  long   waiting  times  before  program   process  terminate,
  returning to the shell.
2021-03-20 20:27:13 +01:00
cage 17bb9f5f15 - fixed 'percent-encoded-p'. 2021-03-15 19:48:02 +01:00
cage 0c2398c184 - fixed hex digit parsing from iri parser;
- added more debugging messages;

- fixed formatting.
2021-03-15 19:28:07 +01:00
cage b3c3d8a232 - prevented crash when removing two (or more) statuses that reblogged the same status.
When more  than one statuses points  to the same reblogged  status and
more the one of the formers  is deleted the first deletion will remove
the reblogged  status as well  and the second  will try to  remove the
same (already removed from db) status. This makes the program crash.
2021-03-15 18:33:16 +01:00
cage 4d2ac3a751 - fixed chat api;
- fixed regression, loading scripts works again.
2021-03-14 13:26:06 +01:00
cage b1eb1a2664 - changed wrong parameter's name: 'limits' -> 'limit'. 2021-03-14 11:04:20 +01:00
cage f03880a7cf - used version 2 for get chats. 2021-03-13 20:50:04 +01:00
cage 81e5c3eba1 - changed the way a message is deleted: when deleting a reblogging
message delete the reblogged message as well.

This way  quit should  be faster  as the  folder ".reblogged"  can not
grows without limit anymore.
2021-03-13 18:46:01 +01:00
cage f0bc12c435 - made explicit the folder for parent (reblogged) messages. 2021-03-13 13:20:32 +01:00
cage c621f9f25c - fixed docstring. 2021-03-13 13:19:46 +01:00
cage b73f982408 - reverted method of rendering of text in message window to a
line-based one.

The old method that packed text got from gemini stream in single event
was ugly and blocked the UI.

This version  revert to a line  by line rendering but  it is optimized
and does not gets slow with the size of the text the window holds.
2021-03-09 11:32:09 +01:00
cage 8b99548e6e - made nicer the error message when a directive is missing from configuration file. 2021-03-09 10:19:01 +01:00
cage 8230056152 - [gemini] made fetching of favicon opt-in
by default tinmop  will not fetch favicon.txt  anymore, this feature
  must be enabled by user using a configuration directive.
2021-02-21 12:23:01 +01:00
cage 04ca1d14c1 - fixed crash when starting the program without a configuration file. 2021-02-20 18:28:49 +01:00
cage cc146a652c - changed ':draw-border' to ':border' to track the new croatoan API. 2021-02-19 17:38:39 +01:00
cage ae178546b9 - added version 2 of get chat list endpoint. 2021-02-19 16:34:38 +01:00
cage 7b3a97a3ec - fixed append. 2021-02-18 20:03:34 +01:00
cage bb53d98f4c - improved a bit rendering of text in message window. 2021-02-18 19:43:27 +01:00
cage 121eaed346 - reverting order of packaging. 2021-02-13 19:35:24 +01:00
cage 8f0f4af090 - moving tiu-utils symbols before software-configuration. 2021-02-13 19:15:01 +01:00
cage 8f757b563b - allowed users (via caonfiguration directive) to use (or not) cache when opening a link with a custom program. 2021-02-13 12:37:37 +01:00
cage bc3e7685a7 - prevented crash when a program to open a link is not found. 2021-02-11 15:27:58 +01:00
cage 07d04f760a - [gemini] complete URL on command line matching substring in any position, not only at the start of the URL. 2021-02-10 20:34:08 +01:00
cage 7eea02992c - respected arguments of a program when opening a link. 2021-02-10 18:02:06 +01:00
cage 3df833b248 - added configuration directive to use a specific program to open a
link (e.g. open all mp3 files with program mpv).
2021-02-10 17:43:40 +01:00
cage cc82ceff02 - [gemini] removed useless 'unwind-protect' (and simplified code) from 'gemini-client:request'. 2021-02-09 20:15:57 +01:00
cage ae82420cfe - [gemini] in gemini-client:request-dispatch signal a condition
('not-implemented-error') instead  of doing nothing when  a response
  in not handled (i.e. no function for that response type exists).
2021-02-09 19:32:48 +01:00
cage 4f4a3f4476 - [gemini] ensured 'gemini-viewer:request' respects the 'enqueue'
argument when making recursive call to itself.
2021-02-07 13:50:52 +01:00
cage dc9e23e3c0 - [gemini] rewritten gemini-viewer:request using gemini-client:request-dispatch machinery;
hopefully this should made the function easier to read (by human) and extend.
2021-02-07 13:50:52 +01:00
cage 08c803bfba - replaced local function 'fetch-cached-certificate' with a global one. 2021-02-07 13:50:52 +01:00
cage e32358c6d5 - replaced local function with a global one. 2021-02-07 13:50:52 +01:00
cage 6a1ea415f7 - [gemini]
- added some messages to debug protocol;
  - asking  for query  event  got minimum  priority  to prevent  being
    hidden  by informational  messages on  the command  line (e.g  the
    message that  inform the  user that  the client  is going  back in
    history);
  - always stream contents that are repsonses to a query;
  - added      gemini-client:request-dispatch       and      rewritten
    gemini-client:slurp-gemini-url based on the former.
2021-02-07 13:50:40 +01:00
cage 986ea84313 - added hook '*after-saving-message*. 2021-02-06 12:29:31 +01:00
cage 1c6defddf1 - fixed indentation of 'gemini-viewer:request'. 2021-02-02 20:58:23 +01:00
cage d0a9b6583a - [gemini] encoded the input string before making the request. 2021-02-02 20:57:30 +01:00
cage b37c590265 - prevented crash when sending message to command did not worked.
Printing error to command line instead.
2021-02-02 20:44:18 +01:00
cage 0fc46fa1b5 - removed dependency from libidn2
punycode encoding  comes from  an internal implementation  istead of
  using an C library.
2021-01-31 13:08:34 +01:00
cage 52393e2a5e - [gemini] fixed canceling subscription to gemlogs. 2021-01-28 16:14:00 +01:00