about summary refs log tree commit diff stats
path: root/src/ui
Commit message (Collapse)AuthorAgeFilesLines
* /executable async on|offDaniel Santos2023-07-011-0/+2
| | | | | | | | | | | | | | * rename call_external() to call_external_async(). * add call_external_fork(). This function makes all executable calls to be forked and synchronous. So that running profanity inside a TTY, we can set all executables to be TTY programs (fbi, mpv, w3m, emacs eww, etc.), making possible to open urls or see images inside the TTY. * add '/executable async' command. * make call_external() use either call_external_async() or call_external_fork(), according to the '/executable async' configuration. Signed-off-by: Daniel Santos <dacs.git@brilhante.top>
* Use ASCII char in MAM loading stringDaniel Santos2023-07-011-1/+1
| | | | | | | | * MAM loading string char to ASCII, for better display in all TTYs. * All source code files have been checked, and there is no other issue for TTYs chars display. Signed-off-by: Daniel Santos <dacs.git@brilhante.top>
* Profani-tty has rebornDaniel Santos2023-07-0129-140/+140
|
* Revert "Merge pull request #1821 from mdosch/use-proper-ellipsis-char"Daniel Santos2023-07-013-4/+4
| | | | | This reverts commit 19921f61c14095cadc55b329dd7c8f02bdc79d31, reversing changes made to ac581c29bfa7c31fbfb6fe8019d257d3883b33bb.
* Merge pull request #1842 from H3rnand3zzz/feature/plugins-downloadMichael Vetter2023-06-061-2/+5
|\ | | | | New Feature: Plugins Download
| * Add url support (downloading) to `/plugins install`John Hernandez2023-05-161-2/+5
| | | | | | | | Additional changes include code refactoring.
* | Remove VLA & calm ValgrindSteffen Jaeckel2023-05-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `MB_CUR_MAX` looks like a macro, but it's a function call and therefore creates a VLA. We don't want that. Also this array being uninitialized created the following Valgrind error ``` ==503529== Conditional jump or move depends on uninitialised value(s) ==503529== at 0x619F15E: waddnstr (lib_addstr.c:67) ==503529== by 0x1929B7: _inp_write (inputwin.c:353) ==503529== by 0x1937D5: _inp_redisplay (inputwin.c:619) ==503529== by 0x61511B1: rl_forced_update_display (display.c:2693) ==503529== by 0x193F9D: _inp_rl_send_to_editor (inputwin.c:957) ==503529== by 0x614642F: _rl_dispatch_subseq (readline.c:916) ==503529== by 0x6146C85: _rl_dispatch_callback (readline.c:823) ==503529== by 0x616739F: rl_callback_read_char (callback.c:241) ==503529== by 0x1923DB: inp_readline (inputwin.c:188) ==503529== by 0x149860: prof_run (profanity.c:117) ==503529== by 0x2283E8: main (main.c:186) ==503529== Uninitialised value was created by a stack allocation ==503529== at 0x1928B1: _inp_write (inputwin.c:334) ``` Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* | Improve const-correctness of APISteffen Jaeckel2023-05-122-2/+2
| | | | | | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* | Cleanup: gchar as gchar instead of charJohn Hernandez2023-05-042-11/+7
|/ | | | | | | | Use gchar instead of char in most of the cases where gchar is intended. Reason: improve compatibility and stability. Issue #1819 Minor refactoring.
* Fix memleak in _inp_rl_linehandlerMichael Vetter2023-04-181-0/+1
| | | | Introduced in 59b99fece.
* Merge pull request #1827 from H3rnand3zzz/feature/sessions-alarmMichael Vetter2023-04-181-1/+5
|\ | | | | New Feature: Session Alarm
| * Add sessions_alarmJohn Hernandez2023-04-181-1/+5
| | | | | | | | | | | | | | | | | | Introduce new feature: sessions_alarm. Added new account setting: max_connections. On exceeding this number, user will get an alert. If number is less than 1, no alert will happen. Tests altered to fit new feature.
* | Don't add the same command twice to historyJohn Hernandez2023-04-171-5/+8
|/ | | | | | | | | | | | | | Expected behaviour When you type /command /command it should be just 1 entry in the history. Behaviour All the entries were saved. Behaviour is changed by introducing check. Before adding to history, entry now is compared to the last history entry.
* Fixes Statusbar tabs and CleanupJohn Hernandez2023-04-102-15/+39
| | | | | | | | | | - Fixes statusbar tabs. Bug: Statusbar used nickname if it was set in roster, irrelevant to /statusbar chat setting. Expected behaviour would be using this setting set as "user" to show nickname, and to show jid with "jid" setting. Other solution is to give a user control over it with another settings. - _status_bar_draw_maintext cleaned up, no changes to behaviour
* Improve titlebar flexibilityJohn Hernandez2023-04-101-9/+17
| | | | | | | Before this change, only nickname or JID (if no nickname set) is shown in the titlebar. Change allows to alter nickname/JID preference using already implemented /titlebar show jid|name setting. If both are set to "show", then it is displayed in "nickname <JID>" format.
* Merge pull request #1815 from H3rnand3zzz/feature/the-client-switcherMichael Vetter2023-04-091-0/+3
|\ | | | | Feature: Allow setting client identification name/version manually
| * Allow setting client identification name/version manuallyJohn Hernandez2023-04-091-0/+3
| | | | | | | | | | | | | | | | Add changes allowing user to switch client name and version. Useful for enhancing user privacy. Minor cleanup.
* | User proper ellipsis charMartin Dosch2023-04-093-4/+4
| | | | | | | | | | | | | | As stated in https://github.com/profanity-im/profanity/pull/1820#issuecomment-1498083383 profanity uses "..." (three dots) in a lot of places instead the proper ellipsis char "…".
* | add `/statusbar tabmode actlist`Steffen Jaeckel2023-04-082-46/+98
| | | | | | | | | | | | | | | | | | | | The existing way how active tabs are displayed didn't allow showing more than 10 tabs. This patch adds a mode where the statusbar shows a comma-separated list of tabs which were active since the last time viewed. This view is inspired by how `irssi` shows the active tabs, therefore it is also called `actlist`. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* | fix display of a "list type" in a form if there's no value assigned yetSteffen Jaeckel2023-04-041-27/+21
|/ | | | | | | | | | | | | | | | | | | | | It is possible, that a server sends a form with a field as follows, which has no (default) value assigned. ``` <field label="foo" type="list-single" var="bar"> <option label="a"><value>a</value></option> <option label="b"><value>b</value></option> <option label="c"><value>c</value></option> </field> ``` This patch fixes profanity to show that list. Before this patch profanity showed nothing. I stumbled over this while running the `/room config` command inside a newly created muc on the `sure.im` XMPP server. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Fix typosMichael Vetter2023-04-033-3/+3
|
* Fix PGPJohn Hernandez2023-03-311-8/+6
| | | | Fix of PGP and potentially other encryption methods by calling correct function that would initiate them in case if someone writes.
* Add WIN_VCARD to win_get_tab_identifier()Michael Vetter2023-03-231-0/+4
| | | | | | Thanks to 12b997c5f34776f34634d4ca155a14586aebc905 we already found a place where we should add this missing window type. AFAIK there can be only one vcard window.
* Adapt to new g_string_free() usageMichael Vetter2023-03-232-13/+4
| | | | | Somehow this must have been overlooked when doing e59c401c840f379e64945734969db03b0e55ef22.
* ui: make it easier to find non covered window typesMichael Vetter2023-03-231-20/+31
| | | | | | | | | | | | | | | | Rewrite `win_get_title()` to using switch without a default case. So the compiler warns us (`enumeration value ‘WIN_XXX’ not handled in switch`) in case we add a new window type (WIN_CHAT, WIN_PRIV etc) and forget to adapt this function. Add assert() in the end to make compiler happy when he realizes there the function might have no return value (`control reaches end of non-void function`). This should ever be reached. Replace the default value of `win_to_string()`, `win_get_tab_identifier()` as well, and replace it with an assert. See discussion started at https://github.com/profanity-im/profanity/pull/1799#discussion_r1142444684
* Adapt to g_string_free glib 2.75.3 changeMichael Vetter2023-03-214-29/+7
| | | | | | | | | | | | glib 2.75.3 changes warning behaviour of `g_string_free()`. See: * https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3219 * https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3226 Use this opportunity to replace the use of GString with `g_strdup_printf()` where possible. Otherwise correctly take the return value of `g_string_free()` which is nicer anyways.
* change OMEMO QR code `0` bits to 'space'Steffen Jaeckel2023-03-121-2/+6
| | | | | | This makes the generated QR code a lot better recognizable in my case. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Fix duplicate download IDs.IsaacM882023-03-092-3/+3
| | | | | | | | | | Fixes https://github.com/profanity-im/profanity/issues/1794 Explanation The problem is the download's identifier. Downloads are given an ID so they can be referenced later when their progress changes. Currently, the download's ID is the download's URL. When you download the same file twice, you have two downloads with the same ID. Download progress updates are shown on the first of both downloads with the same ID. Solution Change the download's ID from its URL to a random number. A random ID is generated when get_random_string() is called from cmd_funcs.c. Several other functions are updated to cope with the new ID format.
* Fix quote and url autocompletion for MAM and historyMarcoPolo-PasTonMolo2023-02-136-17/+33
| | | | | | | | After adding MAM quote and url autocompletion wouldn't pick up messages from MAM or history(from DB) or would have them in the wrong order. This commit fixes that. Fixes https://github.com/profanity-im/profanity/issues/1770
* fix more memory leaksSteffen Jaeckel2023-01-181-1/+1
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* add `/strophe` command to modify libstrophe-specific settingsSteffen Jaeckel2023-01-182-0/+17
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Update copyright yearMichael Vetter2023-01-1013-14/+14
|
* Improve MAM loading string.Martin Dosch2022-10-221-1/+1
| | | | | Replaced three dots `...` by a proper ellipsis `…`. Removed plenking (space between `messages` and ellipsis.
* Fix segfault when loading from MAMMarcoPolo-PasTonMolo2022-10-221-2/+13
| | | | | | When loading messages from MAM profanity would segfault. Reason was that we were freeing the timestamp of messages when displaying them and we needed it for loading MAM.
* Apply codigng style on new MAM codeMichael Vetter2022-10-212-2/+2
|
* Let users scroll up againMichael Vetter2022-10-211-4/+0
| | | | | | | | | | | | We removed this so that we don't get "[SCROLLED]" in the titlebar when there is actually not more text available. But now with MAM we can enable this again so that the user can scroll up and load more text out of the database. Maybe this also could use a check. This reverts commit c84b1b5e5d038684a6a475a251b738c3c5ffb9a5.
* Merge MAM improvements from #1724Michael Vetter2022-10-216-13/+158
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think this PR already solves and improves the MAM situation a lot. What's @MarcoPolo-PasTonMolo still wanted to do in this branch is: * MAM for mucs * Check if url and quotes autocompletion works fine * Check if the api still works fine * Resolve conflicts Conflicts are solved with this commit. MAM for mucs can be another feature PR. The rest we can check while being on master. And more people can help testing.
| * Don't notify on MAM messagesMarcoPolo-PasTonMolo2022-08-201-7/+10
| |
| * Handle late deliveryMarcoPolo-PasTonMolo2022-08-202-6/+5
| |
| * Handle MAM when chatwin gets created from incoming messageMarcoPolo-PasTonMolo2022-07-101-1/+4
| |
| * Have ability to scroll through history even without MAMMarcoPolo-PasTonMolo2022-07-102-5/+5
| |
| * Handle scrolling down when buffer fills upMarcoPolo-PasTonMolo2022-07-103-7/+29
| |
| * CleanupMarcoPolo-PasTonMolo2022-07-053-12/+5
| |
| * Add loading history message on initial MAM requestMarcoPolo-PasTonMolo2022-07-053-2/+12
| | | | | | | | | | | | This prevents scrolling to top and initiating another MAM request while still fetching the initial one. Also free timestamp object in database.c
| * Fix initial MAM not displayingMarcoPolo-PasTonMolo2022-07-053-14/+16
| | | | | | | | | | | | Did this by waiting for a batch of MAM messages to arrive before prepending them to the buffer. Also limited the number of messages to fetch to 10 so that the user gets more frequent updates.
| * Add 'Loading messages' message when scrolling upMarcoPolo-PasTonMolo2022-07-043-5/+22
| |
| * Fech data from mam when all history gets displayedMarcoPolo-PasTonMolo2022-07-031-1/+7
| | | | | | | | | | | | Fetch from mam without displaying when all mam messages get received display new messages from db. Unstable, initial mam doesn't get displayed unless we start scrolling.
| * Get messages from history when scrolling up.MarcoPolo-PasTonMolo2022-07-036-5/+95
| |
* | Add vCard supportMarouane L2022-10-187-1/+326
| | | | | | | | | | | | | | | | | | | | | | | | Only nicknames, photos, birthdays, addresses, telephone numbers, emails, JIDs, titles, roles, notes, and URLs are supported Due to the synopsis array not having enough space, `/vcard photo open-self` and `/vcard photo save-self` are not documented properly in the synopsis section of the `/vcard` command, but they are documented in the arguments section Fixed memory leak in vcard autocomplete (thanks to debXwoody)
* | Fix first start detectionMichael Vetter2022-10-111-3/+3
| | | | | | | | | | | | Only display help message on first start. This is a fixup for: https://github.com/profanity-im/profanity/commit/27a5c9d287e856bd774988b4066667db54b65de7