about summary refs log tree commit diff stats
path: root/src/command/cmd_funcs.c
Commit message (Collapse)AuthorAgeFilesLines
* Add more help about how to use pluginsMichael Vetter2021-09-291-2/+2
| | | | | | | | | | | | | | | | `/plugins install` installs a plugin to `.local/share/profanity/plugins`. And also loads it. When a plugin is loaded it will automatically be added to the `profrc` file like this: ``` [plugins] load=my.py; ``` On the next start Profanity will try to load this plugin again unless `/plugin unload my.py` is called.
* Fix `/plugins update ~/dir`Michael Vetter2021-09-291-7/+2
| | | | | | | | If `~/dir` exists profanity exits for me. Whole code for updating plugins from a dir isn't even implemented. Even though some messgages suggest otherwise. Remove this and only allow updating of one file.
* List globally available pluginsMichael Vetter2021-09-291-0/+36
| | | | | | | | | | Packagers can package https://github.com/profanity-im/profanity-plugins or another collection of plugins to `/usr/local/share/profanity/plugins` (python) and `/usr/local/lib64/profanity` (c). `/plugins` will list these globally available plugins now along with the ones thare are installed (`~/.local/share/profanity/plugins`) and loaded. Regards https://github.com/profanity-im/profanity/issues/945
* Look for plugins to install in global locationMichael Vetter2021-09-291-2/+20
| | | | | | | | | | | | | | | | | | Two options to install plugins. Mention the whole path: `/plugins install ~/src/profanity-plugins/my.py` Mention only the plugin name: `/plugins install my.py` The latter will look in `/usr/local/share/profanity/plugins/` for the file and copy it over to `~/.local/share/profanity/plugins`. At first I was thinking about loading the plugins from the global location. But users most likely don't want to have all plugins activated that an admin installs on a system. Regards https://github.com/profanity-im/profanity/issues/945
* Remove `/python sourcepath`Michael Vetter2021-09-291-60/+4
| | | | | | | | | | | | | | | | I feel like this mostly is confusing people. Also don't see much value for it. To me it looks like a regular workflow is like: ``` /plugin install ~/src/profanity-plugins/my.py ``` The whole thing with sourcepath, install (which also loads without having that described anywhere), load etc is confusing. Also each plugin file that is present in `.local/share/profanity/plugins` will then be auto loaded. Which means after installation.
* cmd_funcs: Use glib functionMichael Vetter2021-09-091-2/+2
|
* Fix segfault in /blocked with no argsMichael Vetter2021-07-061-1/+1
| | | | Fix https://github.com/profanity-im/profanity/issues/1575
* cmd_blocked: Exit when wrong argumentsMichael Vetter2021-07-021-0/+1
|
* Initialize jidThorben Günther2021-07-011-2/+2
|
* XEP-0377: Fix arg parsingMichael Vetter2021-07-011-12/+23
|
* Merge pull request #1566 from DebXWoody/bugfixing/oxMichael Vetter2021-07-011-2/+18
|\ | | | | Bugfixes for OX implementation
| * OX bug fixDebXWoody2021-07-011-1/+1
| | | | | | | | | | * Help / message description * C-Code format
| * Bugfixes for OX implementationDebXWoody2021-06-281-2/+18
| | | | | | | | | | | | | | * autocomplete for /ox discover * fixed help description * Implemented /ox char command * Validated KeyID length
* | Add option to only allow messages from jids in rosterMichael Vetter2021-07-011-0/+8
| | | | | | | | | | | | | | `/silence on` will throw away all messages (type: chat, normal) that come from jids that are not in the roster. Implement https://github.com/profanity-im/profanity/issues/955
* | Reorder /blocked commandsMichael Vetter2021-07-011-21/+25
| | | | | | | | | | | | | | | | Instead of `/blocked add [<jid>] [report-abuse|report-spam [<message>]` have: * /blocked add [<jid>] [<message>] (like before) * /blocked report-abuse [<jid>] [<message>] * /blocked report-spam [<jid>] [<message>]
* | Mention feature details when not supportedMichael Vetter2021-07-011-5/+5
| | | | | | | | So that we will get aware of a version mismatch.
* | Add XEP-0377: Spam ReportingMichael Vetter2021-07-011-8/+32
|/ | | | | | | | | | | Report and block: `/blocked add someone@domain.org report-abuse This is not nice` `/blocked add someone@domain.org report-spam This is not nice` Regular block: `/blocked add someone@domain.org` Implement https://github.com/profanity-im/profanity/issues/1434
* editor: dont print preview in windowMichael Vetter2021-06-101-2/+0
| | | | See https://github.com/profanity-im/profanity/issues/1521#issue-860017824
* editor: dont check whether compose file existsMichael Vetter2021-06-101-6/+0
| | | | | No need to check anymore since we are now saving per account. Like this we also could reopen the same file again.
* editor: use status to check for being onlineMichael Vetter2021-06-101-3/+4
|
* editor: Use datadir instead of tmp dirMichael Vetter2021-06-101-8/+16
| | | | | See https://github.com/profanity-im/profanity/issues/1521#issue-860017824
* Add command to show single bookmark detailsMichael Vetter2021-06-091-3/+12
| | | | | | | `/bookmark list` lists all bookmarks with its details. `/bookmark list <jid>` shows the details of a single bookmark. Implement https://github.com/profanity-im/profanity/issues/1558
* Merge pull request #1543 from DebXWoody/feature/attention-flagMichael Vetter2021-05-311-0/+7
|\ | | | | Feature - attention flag
| * Attention flag for groupchatsDebXWoody2021-05-291-1/+1
| | | | | | | | Attention flag for groupchat and display the windows via "/wins attention"
| * Attention flag for chat windowsDebXWoody2021-05-291-0/+7
| | | | | | | | | | | | | | User is able to toggle a flag for chat windows. This flag should be used to mark the window for "Attention". Use Ctrl+f to mark the window.
* | external editor: don't use absolute paths and allow path searchJörg Thalheim2021-05-301-5/+1
|/
* Display OMEMO device IDDebXWoody2021-05-281-1/+1
| | | | | Display the OMEMO device ID which has been generated, when the user generated OMEMO crytographic materials via /omemo gen.
* Fix spelling of "persistent(ly)"Raf Czlonka2021-05-231-3/+3
|
* Print message about new direct messageMichael Vetter2021-05-121-0/+4
| | | | So users don't get surprised if they don't know the barejid of the nick.
* Use direct messages instead of MUC-PMs for non-anon MUCsMichael Vetter2021-05-121-35/+51
| | | | | | | | | | | | | In https://github.com/profanity-im/profanity/issues/1070 we have: `OMEMO encryption for MUC PM (OMEMO MUCs are not anonymous, so we should start a regular 1:1 in this case instead of MUC PM. A discussion started to make this a general feature #1531)` In https://github.com/profanity-im/profanity/issues/1531 we have the general issue to start regular 1:1 messages instead of MUC PMs if the room is non-anonymous. This is like suggested in https://docs.modernxmpp.org/client/groupchat/.
* Have separate settings for intypeMichael Vetter2021-05-081-1/+8
| | | | | | | | | | Old: `/intype on|of` Typing information is printed in console and titlebar. New: `/intype titlebar|console on|off` Typing information can be configured in more detail. Regards https://github.com/profanity-im/profanity/issues/1516
* OMEMO - trust mode (#1506)Stefan2021-04-171-0/+31
| | | | | | | Add OMEMO trust mode capabilities. * ToFu / first usage * blind trust * manual
* editor: make editor configurable via /executableMichael Vetter2021-04-161-0/+15
| | | | | | `/executable set editor /full/path/to/edit`. Regards https://github.com/profanity-im/profanity/issues/1521
* editor: Save temp files as .mdMichael Vetter2021-04-161-2/+2
| | | | | Probably many people render text in their head to markdown automatically.
* Editor: improve error messagesMichael Vetter2021-04-161-6/+6
|
* editor: Use g_strdup_printf() instead of g_string_new()Michael Vetter2021-04-161-11/+4
|
* Run clang-format on new editor codeMichael Vetter2021-04-161-17/+17
|
* Editor: Fix redisplayStefan2021-04-161-1/+4
|
* Editor: Use _exit() instead of exit()Stefan2021-04-161-1/+1
|
* Editor: Using preferences compose.editorStefan2021-04-161-9/+19
| | | | compose.editor is the path to the executable ( default /usr/bin/vim )
* Editor command: filename / sensible-editorStefan2021-04-161-9/+50
| | | | | | | | * Generating a unique file name in tmp_dir folder * Changed exec of vim to exec of sensible-editor * Test file exists and create file with "private" rights * Send a preview of the message in the window * Delete temp file
* Add new editor commandStefan2021-04-161-0/+40
| | | | Goal is to launch an external editor (eg vim) to edit the text there.
* OMEMO: Fail if message keys couldn't be encrypted for any recipient deviceMaximilian Wuttke2021-04-081-8/+7
| | | | | | | | | If the message (key) can't be encrypted for any device, sending the message is refused and an informative error message is presented to the user. Also, don't encrypt for the same device, since the OMEMO XEP disallows this.
* OMEMO: Remove duplicate session initalisationMaximilian Wuttke2021-04-081-16/+8
| | | | | | The function `omemo_start_session` was effectively called twice in the `/msg` command: Once in `chatwin_new` and afterwards in `cmd_msg`. I've removed the second call.
* Get rid of asprintf and _GNU_SOURCE defineMichael Vetter2021-03-301-5/+3
| | | | | | | _GNU_SOURCE was even in some files where it was not needed at all (http*). Let's replace asprintf() with g_strdup_printf().
* Fix segfault in cmd_autoaway()Michael Vetter2021-03-291-9/+12
| | | | | | | | | Two mistakes were here: * `/autoaway time away` without a time argument segfaulted * `/autoaway message away` without a mesage set to (null). We have `/autoaway message off to set it off. Also use g_strcmp0() instead of strcmp().
* Add support to register with a roomMichael Vetter2021-03-251-0/+5
| | | | | | | | | | `/affiliation register` can now be used to register a nickname with a MUC. Tested with a server without forms. Couldn't find a server which supports forms yet. Implements https://github.com/profanity-im/profanity/issues/1210
* MUC: Add voice requestThorben Günther2021-03-121-0/+5
| | | | closes https://github.com/profanity-im/profanity/issues/1211
* Dont build paths manually in cmd_funcs.cMichael Vetter2021-03-121-36/+13
| | | | | Some time ago we introduced get_expanded_path(). No need to build paths manually anymore to get ~.
* Add command to change password of logged in userThorben Günther2021-03-111-0/+27
|