1
0
Fork 0
Commit Graph

478 Commits

Author SHA1 Message Date
cage f6d87b15ec - marked that there is content on the left in message window when
scrolling horizontally.
2021-06-27 13:48:57 +02:00
cage 6ffb2c5cc1 - [gemini] forced redraw of the window when rendering a new gemini stream. 2021-06-27 13:27:15 +02:00
cage 5e3c19811b - trucated long lines in message window and allowed horizontal scrolling. 2021-06-27 13:13:28 +02:00
cage 05a06d1dad - fixed find-user-id-from-exact-acct, was returning a wrong user id. 2021-06-25 20:59:02 +02:00
cage 4c950d9052 - [gemini] prevented repainting of the message-window if not needed when streaming gemini text from the net. 2021-06-20 13:04:47 +02:00
cage f4b92f92f2 - [gemini] ensured the certificate is sent when performing a request. 2021-06-18 21:17:14 +02:00
cage 70d9fb5c0c - changed macro with a function. 2021-06-18 17:48:56 +02:00
cage f39e396762 - refactoring TOFU error recovery. 2021-06-18 17:10:58 +02:00
cage 4dae983197 - [gemini] prevented crash when a gemlog changed certificate and post's list is refreshed. 2021-06-18 17:01:11 +02:00
cage 3d332e4503 - changed three dots with ellipsis. 2021-06-17 20:04:08 +02:00
cage fa10de925e - [gemini] ensured we have not to wait a stream is completed before opening a new one. 2021-06-17 19:41:03 +02:00
cage c8d1e6aa2b - ensured windows are cleared when terminal is resized. 2021-06-17 15:48:00 +02:00
cage 204f32cff7 - rearrange TOC window on resize. 2021-06-17 15:45:43 +02:00
cage b5b1611a7e - fixed spacing. 2021-06-17 15:23:24 +02:00
cage 073ccb8640 - prevented crash when closing program while a gemini page was rendering. 2021-06-17 15:07:40 +02:00
cage 334d5389ff - increased priority for message window text searching event. 2021-06-17 14:44:49 +02:00
cage ea6485271d - [gemini] allowed scrolling of a gemini page when focus is on the TOC. 2021-06-16 19:18:30 +02:00
cage 34284f9a51 - fixed regression: searching in links window does not get stuck at the first occurence. 2021-06-16 19:08:41 +02:00
cage 68c250e03c - fixed regression: searching in the message window does not get stuck at the first occurence. 2021-06-16 18:33:16 +02:00
cage c2f3f155aa - shadowed 'split-lines' from croatoan.
- fixed regex for opening some files with tinmop

(example: Open a gemini file with tinmop only if a local file or served trough gemini protocol.
2021-06-16 16:14:09 +02:00
cage de53c838c1 - [gemini] allowed save in tour the selected link. 2021-06-13 16:02:12 +02:00
cage b4a3dfabde - added feature: expand tree of posts fetching again even posts that was deleted before. 2021-06-13 14:07:47 +02:00
cage 8ea2f82bd6 - [gemini] changed TOC callback: jump to page's section when selecting TOC entry. 2021-06-13 12:17:43 +02:00
cage 392ba67adf - fixed selected-row-delete
- redraw following request window when an entry is deleted.
2021-06-12 21:15:50 +02:00
cage c361ecc679 - fixed a regression that made the program crashs when adding an attachment to a post. 2021-06-05 21:47:37 +02:00
cage 857c220004 - improved appearance of keybindigs tree. 2021-05-30 13:30:15 +02:00
cage f6465768b8 - wrapped call to external editor to catch errors and print a message. 2021-05-29 14:48:02 +02:00
cage c323ef3847 - made clear that "ed" is the standard editor. 2021-05-28 20:58:22 +02:00
cage e81f1fe19f - removed useless code as an editor is always found. 2021-05-28 20:55:22 +02:00
cage 66b2fe7af2 - improved check for the environment variables related to editor. 2021-05-28 20:53:23 +02:00
cage 8ef29b1eae - removed check, the configuration directive for editor can be omitted by the user. 2021-05-28 20:38:27 +02:00
Omar Polo 61c8adb649 allow editor to be nil 2021-05-28 17:47:19 +00:00
cage cedbf01b03 - made geometry of notification window customizable (via configuration file). 2021-05-22 19:41:36 +02:00
cage 29807c0823 - made some stylistic changes to client's (pleroma) authorization procedures. 2021-05-22 14:06:26 +02:00
cage d99c84238c Merge branch 'master' of omar-polo/tinmop into master 2021-05-22 11:15:43 +00:00
Omar Polo 0c8e2226aa if -> when 2021-05-22 11:12:05 +00:00
Omar Polo b0ad8361d5 don't unnecessarly bind *output-stream* 2021-05-22 11:10:13 +00:00
Omar Polo 9deaf57738 reply to the HTTP client before closing the connection 2021-05-22 10:59:21 +00:00
Omar Polo 2373769f4e always close the client socket 2021-05-22 10:49:51 +00:00
cage deaf94299a - decrease mentions count on the modeline when a status that contains a mention is opened. 2021-05-22 12:23:15 +02:00
cage c2e8e38249 - added mentions rendering in the thread window modeline. 2021-05-22 10:42:01 +02:00
cage 63f214c8b3 - [gemini] ensured cached text file are opened with tinmop or user defined programs. 2021-05-18 19:50:50 +02:00
cage 3b30cbd091 - [gemini] refresh TOC when rendering a cached gemini file. 2021-05-18 19:38:49 +02:00
cage b7c64d1e78 - [gemini] prevented moving docus to message window when opening a link. 2021-05-17 19:08:08 +02:00
cage eb9bb569f8 - [gemini] recycled TOC window between gemini pages. 2021-05-17 19:04:07 +02:00
cage 76a11da2fc - [gemini] fixed regression opening gemini link is possible again;
- prevented hiding of notifications by the gemini TOC window.
2021-05-16 16:19:14 +02:00
cage 50c76209c5 - [gemini] removed removing of text from TOC entry. 2021-05-16 16:00:20 +02:00
cage d5f5bad33c - [gemini] fixed row moving in TOC window. 2021-05-16 15:43:11 +02:00
cage 6ecc3fc5a0 - [gemini] ensured TOC is rendered only for rendering stream. 2021-05-16 15:38:26 +02:00
cage 8423ca7d38 - [gemini] fixed parser, made many parser state variables from
function local to thread local;
- fixed 'line-oriented-widget:append-new-rows';  uses slots  instead of
  accessors  as, for  example, message  window skips  invisible lines
  when specialzed (on message-window) method 'rows' is called.
2021-05-16 15:23:55 +02:00
cage 4a6e2fca3d - added a generated TOC for gemini files. 2021-05-16 15:23:55 +02:00
cage 3b92318814 - prevented rendering gemini files in the message window when a toot is shown. 2021-05-16 15:23:48 +02:00
cage 088e760503 - [gemini] fixed parsing of gemlog pages. Subtitle was never recognized even if actually present. 2021-05-14 14:49:37 +02:00
cage cd11e04658 - got rid of 'prepare-new-search' and 'cleanup-after-search';
- fixed misc:safe-subseq (subseq sequence -1)' does not signa an error anymore.
2021-05-13 15:32:31 +02:00
cage 5201953a08 - [gemini] fixed parsing of quoted lines, an empty line can be part of the quote. 2021-05-09 17:01:51 +02:00
cage 5f8c20ce7d - wrapped sb-ext:run-program;
- do not load configuration files if cli options '-h' or '-v' are used.
2021-05-09 16:32:32 +02:00
cage f74e6a9361 - performed a cleanup of searching even if the search string is empty or is not a valid regular expression. 2021-05-06 17:10:37 +02:00
cage 844dd1b931 - [gemini] expand tilde when trying to open a local file or directory. 2021-05-06 16:59:11 +02:00
cage 37bab5740b - [gemini] improved tour-mode
the command accepts space separated list  of link index or link ranges
(e.g: "5-7 1 2").
2021-05-04 11:52:42 +02:00
cage e319ccd112 - prevented out of bound condition when scrolling message-window's
contents.

  When  user switched  from a  page to  another shorter  the scrolling
  position was  not restored,  pointing outside  the actual  text line
  counts. This prevent the correct rendering of the page (a blank page
  is shown instead) and crash the software if scrolling up.

  Thanks op!
2021-05-02 16:28:50 +02:00
cage 92ee1357b6 - [gemini] fixed order of links when showing tour-mode's queue (thanks op!). 2021-05-02 15:53:33 +02:00
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