1
0
Fork 0
Commit Graph

289 Commits

Author SHA1 Message Date
cage b437e2846b - added 'gemini-all-unread-posts', 'shuffle-tour', 'gemlog-add-unread-posts-tour', 'clear-tour'
'gemini-all-unread-posts'  give  user  the  choice to  add  all  the
  currently unread post to the link tour.
2021-10-10 12:38:37 +02:00
cage 76676f2d2f - added 'eval-command';
- added docstrings for scroll lock related functions.
2021-10-08 14:35:40 +02:00
cage 40f6f0642a - forced scrolling to the last message when a new message has been posted on the chat window;
- added 'message-window-lock-scrolling' and 'message-window-unlock-scrolling' allowing users to choose their preferered way to render the gemini text (this is useful for gemini streaming services, like chat or similar).
2021-10-08 11:55:16 +02:00
cage 9568b88e8d - fixed adjusting strategy functions when drawing gemini text. 2021-10-08 11:37:53 +02:00
cage dcde779d25 - notified an error when the manpage can not be printed on screen. 2021-09-12 12:16:29 +02:00
cage ae266982cb - prevented moving selected message when updating a timeline. 2021-09-10 17:34:03 +02:00
cage fdd73cdd9d - added a command to open all the attachments of a post. 2021-09-09 18:27:32 +02:00
cage c22e427f18 - highlighted current TOC entry while browsing gemini page/gempub;
- added hook:*before-rendering-message-visible-rows*;

- changed default: appending hooks by default in hook:add-hook.
2021-09-03 12:32:09 +02:00
cage d85a865eed - forced colors to selected line in line oriented-window. 2021-08-29 15:39:48 +02:00
cage f388c9d0b2 - added 'apropos-help-global'. 2021-08-28 16:39:34 +02:00
cage baf3f4c1ea - allowed line-oriented-window to render unselected items with
different color than foreground;
- capured parsing errors when querying gempub library.
2021-08-28 14:02:03 +02:00
cage 5f91506dd3 - added 'open-manual'. 2021-08-28 12:33:49 +02:00
cage 4a81fad940 - automatically add a tour mode to browse the contents when opening a gempub. 2021-08-27 14:17:14 +02:00
cage 6a91bd4da7 - defined alias for 'zip-file-p' as 'gempub-file-p'. 2021-08-27 12:15:12 +02:00
cage 360aa448d3 - ensured 'gempub-metadata-find' returns a single row;
- ensured gempub paths are normalized before adding in the library;
- added opening of gempub files from gempub library window.
2021-08-26 15:47:27 +02:00
cage 2be45b4a25 - added a window to show gempub file's library. 2021-08-25 18:15:57 +02:00
cage a8dca176f3 - added a directory to store gempub, the software will sync the directory's contents with its internal metadata database. 2021-08-23 18:20:11 +02:00
cage ff5f8f0cd7 - [gempub] added extraction of metadata from gempub;
- added table to save gempub's metadata.
2021-08-22 12:56:35 +02:00
cage aaf27c5932 - added zip-info:list-entries. 2021-08-21 12:34:45 +02:00
cage 50cc7727e6 - added 'temporary-directory'. 2021-08-20 17:04:23 +02:00
cage 1e37af8772 - added dependency on 'unzip';
- added 'unzip-file';
- fixed zip-info conatant name.
2021-08-20 14:23:21 +02:00
cage 7685e64a77 - added function 'zip-file-p' to recognize zip files. 2021-08-20 12:00:14 +02:00
cage ca353ae982 - added deletion of bookmark's entries. 2021-08-16 15:28:37 +02:00
cage 377d95af51 - started with gemini link bookmark. 2021-08-16 14:22:47 +02:00
cage 0247325a5d - fixed regression: command apropos works again. 2021-08-14 16:09:10 +02:00
cage 5217636b34 - prevented two messages with the same message-index presents in the same folder and timeline. 2021-08-14 14:38:42 +02:00
cage 423779986a - improved macro 'when-window-shown' to prevent crash of the program when terminal window is too small. 2021-08-13 12:14:58 +02:00
cage 8d086ba6c4 - allowed switching off abbreviations on the command-window. 2021-08-06 19:07:45 +02:00
cage 5c8e1d5828 - added a module to expand abbreviations for the command window. 2021-08-06 18:25:15 +02:00
cage 0c245ebc65 - [gemini] added a procedure to import tls certificates. 2021-08-03 18:31:34 +02:00
cage e6cd7b9ab4 - added a configuration directive to close the link window after a link has been selected. 2021-07-31 14:09:10 +02:00
cage 69ee5ab811 - added a configuration directive to update subscription to gemlogs at starts;
- added scheduled events when program starts;
- made update to gemlog less blocking;
- increased default history purging threshold.
2021-07-31 11:06:48 +02:00
cage 5e230407c6 - added adjust-strategy-last to show text in message-window;
- removed call to 'adjust-selected-rows' when redrawing message-window;
- fixed 'adjust-selected-rows', wa never actually called.
2021-07-26 19:03:10 +02:00
cage 6e92455667 - resetted selected item position when a 'suggestion-window' is shown. 2021-07-23 19:14:23 +02:00
cage 819c90f179 - allowed selecting a suggestion from suggestion-window;
- highlighted matching characters in suggestion window.
2021-07-22 14:59:29 +02:00
cage e5f93bd632 - [gemini] removed link prefix for link labels that starts with an emoji;
- [gemini] removed splitting of long link labels;
- fixed output stream of 'print-debug'.
2021-07-17 12:13:04 +02:00
cage 0972cc3ed0 - [gemini fixed validity check for client certificate (thanks op!). 2021-07-16 11:32:36 +02:00
cage f0f682d271 - renamed 'starts-with-emoji-p' to 'starting-emoji'. 2021-07-15 20:36:38 +02:00
cage 09f35f4989 - added 'starts-with-emoji-p'. 2021-07-15 18:44:44 +02:00
cage e981c6589e - added 'emojip'. 2021-07-15 12:41:43 +02:00
cage a44d42201a - [gemini] changed animation when streaming data. 2021-07-14 21:24:41 +02:00
cage bb07663a0a - added a visual hint while a gemini page is streaming contents. 2021-07-14 19:00:23 +02:00
cage 91bae49372 - added a welcome window. 2021-07-03 12:34:05 +02:00
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 5e3c19811b - trucated long lines in message window and allowed horizontal scrolling. 2021-06-27 13:13:28 +02:00
cage 70d9fb5c0c - changed macro with a function. 2021-06-18 17:48:56 +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 ea6485271d - [gemini] allowed scrolling of a gemini page when focus is on the TOC. 2021-06-16 19:18:30 +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 c323ef3847 - made clear that "ed" is the standard editor. 2021-05-28 20:58:22 +02:00
cage cedbf01b03 - made geometry of notification window customizable (via configuration file). 2021-05-22 19:41:36 +02: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 4a6e2fca3d - added a generated TOC for gemini files. 2021-05-16 15:23:55 +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 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 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 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 02894dcc64 - optimized module 'rewrite-message-urls.lisp'. 2021-04-21 16:29:50 +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 a9ce526dce - added 'remove-corrupting-utf8-chars' to clean up rendered text from trouble characters. 2021-04-13 18:32:48 +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 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 ca2ace2551 - discouraged use of slot 'rows' for 'row-oriented-widget', used API instead. 2021-04-08 15:13:31 +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 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 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 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 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 db34a2f958 - [gemini] added feature: loading local gemini files from command line (switch: '-o'). 2021-03-27 09:19:13 +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 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 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 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 986ea84313 - added hook '*after-saving-message*. 2021-02-06 12:29:31 +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 17401274b5 - [gemini] added support for favicon.txt
the       implementation       more       or       less       follow
  gemini://mozz.us/files/rfc_gemini_favicon.gmi but it does render the
  first  character  of   the  file  instead  of   checking  for  emoji
  characters.
2021-01-28 15:35:26 +01:00
cage 1710ac5b48 - added feature to allow users ro configure symbols rendered for each toot visibility level in main window. 2021-01-24 16:15:42 +01:00
cage 8e58698bfa - added some more tests for checking missing values from configuration files. 2021-01-16 13:17:15 +01:00
cage 382c61818d - create an empty config file if the user did not provided oopne, instread of printing an error and exit. 2021-01-13 17:28:23 +01:00
cage 72254f981a - prevented authorization of client if no server nameahs been provided
by the user in the config file.
2021-01-12 20:31:44 +01:00
cage 766367369c - added scheduling of purging of old gemlog's posts;
- updated italian translation.
2021-01-11 19:36:43 +01:00
cage 7f5a21c9ed - [gemini] ensure link opened is saved in history. 2021-01-11 18:21:38 +01:00
cage 44b6c62e44 - [gemini]
- added command to refresh all gemlogs;
  - added scheduled refresh of all gemlogs;
  - fixed sorting of gemlog posts.
2021-01-10 13:01:03 +01:00
cage f09b0f4aa3 - [gemini]
- prevent crash when subscribing to an already subscribed gemlog;
  - added cancel of subscriptions.
2021-01-10 11:35:28 +01:00
cage a0f8c83681 - [gemini] added a draft for gemlog subscriptions. 2021-01-09 16:27:40 +01:00
cage f6c02041ef - [gemini] added subscription command to gemlog. 2021-01-09 11:01:10 +01:00
cage 7e32091b6f - [gemini]
Started with gemlog subscription, added database table and interface
  and subscribing API.
2021-01-08 18:21:43 +01:00
cage a3c2550ff4 - Added a command line switch to load a module.
- fixed 'run-hook-compose'.
2020-12-31 15:36:10 +01:00
cage 8dae8ddac2 - added 'run-hook-compose';
- added a module to rewrite URLs.
2020-12-31 14:58:40 +01:00
cage 3245239eee - added a profiling macro;
- added function to stop event dispatching.
2020-12-31 11:36:34 +01:00
cage abec6a9322 - added a command to send data to an external program. 2020-12-30 12:24:13 +01:00
cage 9876213933 - using a cache for username completion. 2020-12-29 19:14:18 +01:00
cage 77b7188581 - added command to repeat the last text search. 2020-12-29 13:01:59 +01:00
cage 94a8e29f84 - [gemini] added a command to refresh a page;
- refactoring some code to add the above command.
2020-12-29 12:36:22 +01:00
cage 5151fbe4a2 - [gemini] allow percent encoding of query, path and fragment only if not already encoded. 2020-12-28 12:40:47 +01:00
cage 6c590dbf1a - fixed welcomebot and moved to a new directory "scripts";
Also export some symbols that this script uses, from others packages.
2020-12-28 12:12:23 +01:00
cage 47fa796bc6 - added a module to share a gemini page on pleroma. 2020-12-27 14:51:59 +01:00
cage ba4577d223 - improved following/unfollowing users
previously only user that had an entry in the program local database
  could be followed or unfollowed.

  With this changes  the software perform a name lookup  in the client
  and follow the first user found that match searched username.
2020-12-21 12:11:15 +01:00
cage c9d9559f1a - changed 'uri' to 'iri' where does makes sense to me. 2020-12-17 13:56:07 +01:00
cage 62394d319a - removed 'uri-' prefix from 'uri' slots names. 2020-12-13 15:29:04 +01:00
cage 13fdc439a8 - added IRI parser. 2020-12-13 15:27:55 +01:00
cage 5f8c9d422e - added minimal wrapping of libidn2;
- added library checks (libidn2 and libssl) to configure scripts;
- removed commented reference to quri.
2020-12-12 14:49:31 +01:00
cage 664e8212ce - replaced quri with an internal parser;
- [gemini] the client passes the torture test again;

- fixed event test.
2020-10-25 19:58:05 +01:00
cage 269a08718c - [gemini] implemented a draft of a client authentication (via TLS certificates). 2020-10-23 20:57:17 +02:00
cage 497efa6a92 - [gemini] starting using certificates;
- removed hardcoded 'xdg-open' binary name.
2020-10-11 18:22:07 +02:00
cage 911c80dc25 - [gemini] remove a bottleneck when download of a gemini page is completed;
Instead  of process  multiple event  with  a single  line to  render
  compact all the lines in a single event and, then, process it.
2020-10-06 19:15:23 +02:00
cage 0274841672 - added searching in command's help. 2020-10-03 21:08:55 +02:00
cage a54e05a05f - added the possibility to search inside a widows that contains a collection of links. 2020-10-03 16:58:02 +02:00
cage ce61ab6537 - [gemini] fixed the stopping of rendering the old page when a new
link is opened;
- [gemini] added 'gemini-abort-all-downloading-event', used when quitting.
2020-10-01 16:41:24 +02:00
cage 02ce8fd187 - [gemini] remove all pending rendering events when quitting. 2020-09-30 18:24:58 +02:00
cage f1a0715c2b - [gemini] remove from the event queue all the lines got from a gemtext download
when aborting a download.
2020-09-30 16:36:34 +02:00
cage 4bbb0184e1 - removed nethod to delete notifications using old API
new version of pleroma implements the same API as mastodon 3.x
- fixed command line switch to get notification for mentions.
2020-09-27 18:19:26 +02:00
cage fd53ec036d - Added optional mentions before sending a message. 2020-09-18 16:32:04 +02:00
cage 99977af671 - added exit handler to clean temporary files. 2020-09-12 11:16:15 +02:00
cage 0cfdb8844e - [gemini] ensure just a single gemini file is in rendering state at
the same time;
- [gemini] add  a newline to  data before  parsing a gemini  file only
  when needed (thre is no one at the end);
- commented and improved some regular expressions for coloring.
2020-09-12 10:23:26 +02:00
cage 5ad0a67195 - [gemini] feature added: start downloading a gemini file in background
(i.e. without rendering on the window);
- removed explicit package name 'specials' in ui-goodies.lisp.
2020-09-11 15:18:59 +02:00
cage 52f550df5e - added feature create new chat;
- fixed crash when selecting a chat with no messages.
2020-09-10 17:50:22 +02:00
cage c26ca88e60 - changed position and (configurable) colors for chat window;
- added feature: change chat labels.
2020-09-09 21:13:57 +02:00
cage 2d66bdd63d - added chat attachments browsing window. 2020-09-06 20:17:34 +02:00
cage f135292e53 - basics chats works. 2020-09-06 17:28:16 +02:00
cage b2b3e65431 - posting on chats works;
- fixed ordering  in db:all-chat-messages (message-id was  not a valid
  column name);
- added scheduled events;
- minor changes in labels.
2020-09-06 14:42:16 +02:00
cage c5118d46a6 - changed GPL comment headers. 2020-09-06 11:32:08 +02:00
cage 75d81ec708 - chats can be fetched, via UI, and printed on window. 2020-09-05 17:02:00 +02:00
cage 4046f516f8 - [pleroma-API] added 'fetch-chat-message. 2020-09-02 17:17:16 +02:00
cage 91145e7f37 - [pleroma-API] added a few function to use chats. 2020-09-02 16:30:13 +02:00
cage f7d025ea2a - [gemini] added a window to manage all the gemini streams opened. 2020-08-30 15:38:05 +02:00
cage f4ef9ff9e8 - readded some functions (synctatic sugar to manipulate croatoan's 'complex-*' object). 2020-08-16 11:28:14 +02:00
cage dd1e4f6066 - added a slot in 'command-window' to allow the user to insert secret
input.

 the same character is echoed instead of the actual input.
2020-08-16 11:27:38 +02:00
cage 5169deaedd - tracking changes in croatoan.
- some function in 'tui-utils' are just wrappers for the equivalents in the library.
2020-08-14 20:15:30 +02:00
cage 38585b27ac - changed 'cat-' function names with 'concat-'. 2020-08-14 17:49:37 +02:00
cage bc171fb14a - [gemini] added the possibility to abort current page download. 2020-07-26 16:34:05 +02:00
cage 1eeed9538e - [gemini] download of non gemini documents happens in a concurrent
way (in a different thread)
- [gemini] prevent links to be appended even when user is opening a new document;
- [gemini] added a notification when download of a gemini document has terminated.
2020-07-26 13:29:24 +02:00
cage 254cd94720 - [gemini] the parser has been modified to renders (in a separate
thread) the contents of a gemini  file parsed so far without waiting
  for the whole document to be read from the socket.

  This  feature should  prevent blocking  the client  when the  server
  never close the socket (i.e. for streamed contents).
2020-07-26 12:07:26 +02:00
cage f5d4d878ec - do not mentions people that do not appears in the current thread. 2020-07-19 13:27:40 +02:00
cage 7b48939deb - tried to fix mentioning of non local user in reply. 2020-07-18 13:03:58 +02:00
cage fb0fd48865 - [gemini] added the option to view gemini page's source. 2020-07-15 12:40:30 +02:00