Some commands work differently than others or are grouped badly.
Examples:
/roster show/hide resource is the setting to manipulate whether the resource is shown in the roster.
Everywhere where we can decide whether something should be shown or hidden we should use this syntax. However to enable showing the resource in the title bar we use /resource titlebar on.
We need to collect all such behaviour here and then work on standardizing it to cover all cases.
I plan to have this for 0.8.0 because I plan more cleanup there.
Warning, long and filled with personal oppinion.
First of all, i think distiguishing between commands that trigger an action immediatly and commands that only set a configuration option and is rarely ever used again, could be helpful.
i went through cmd_defs.c from top. examples to discuss about:
/tls show on|off, show or hide the TLS indicator in the titlebar.
/titlebar as it affects the titlebars appearance/tls revoke revokes a cert, but
/omemo|otr untrust is used to revoke/untrust a key. /pgp setkey also adds inconsistency/msg <contact> message a contact, uses nick, if set
/group manages roster entries
/info|caps|software|status show several informations
/status feels like it should set our own status
/resource remove current funtionality suggested in #912
profanity.#### as suggested by XMPP 2.0 , but setting a preferably unique resource is still allowed/leave nothing wrong, but
/part as compatibility to irc (which muc comes from), see https://xmpp.org/extensions/xep-0045.html#impl-client-irc/leave so long and thanks for all the fish (see document, i think thats )/invites see the following
/decline room seems good, but could be merged as subcommand of /invites decline ... as invites are managed by this. I have yet not received an invite with profanity, where is accept?
/sub is the equivalet to invite and there all management tasks are done with sub commants to /sub/occupants show shows occupants panel
/panel show occupants|roster/occupants list to print a list off occupants to muc window, but /occupants to show the panel/bookmark update ...
set rather than update, which is only used again with /plugins but in another context.lastactivity sets sending own last activity to on or off but also queries others last activity
/info command/wins unread --> /wins list unread maybe also /wins list in addition to /wins so one knows without any documentation, what the command does.
/sub nothing wrong, but /subscription as second name since novices might not know at first sight, what sub does.
/subs(criptions) sent|received/tiny i highly vote for removing/putting it in a plugin, as it uses a third party service not anybody might like.
/who too mighty, did not check thourroghly :P
/close works on windows so might fit as a subcommand somehwere in /win(s). Actually i never used it before, mostly switch to the window and /leave
/quit maybe add a quit/leave message to show in mucs ;-)
/privileges should be a sub command to /occupants as it groups the occupant list by privileges or not.
/encwarn, as it modifies the titlebar it should be subcommand there
/presence titlebar fites better to /titlebar
/presence console --> /console presence all|online|none
/presence sounds like it has something to do with our own presence settings, but it is just about informational display of others presences. Not sure how to feel about it, yet. Meybe a /settings command to structure that static settings one does not access often?/time also feels wrong, some settings belong to status bar, somt to title bar, some could fit in a new /settings command.
/inpblock --> /settings inpblock ?
/titlebar|statusbar|mainwin|inputwin really own commands needed? See /settings
/notify, see /time and /presence.
/theme reload and get current theme subcommand would be neat
/resource, ,what @jubalh said :-)
/export exports contacts to csv never seen before :P
/export roster and /export bookmarks /bookmark export and /roster export are nice to haveAlso related to this issue. We need to keep https://github.com/profanity-im/profanity/issues/934 in mind
/status feels like it should set our own status
I agree. Maybe it should do both. Right now we have individual commands: /online, /away. It's hard to find all the possibilities of them and list them in one place.
I think they should all go into status, like /status set away /status set online to set our own status.
And remove /online etc.
/status in a 1:1 chat will then print the others status. /status someone will print the others status too.
And alternative would be to leave status as is, and use /presence to set our own.
/presence is so far used to display (or not) the presence in various UI elements. Which we plan to change too and put into a general ui changing command or one command for each ui element.
Prepared website to have individual userguides for each version.
Probably things will change especially the command reference. It's nicer for users to have a reference for each version.
Relevant commits:
https://github.com/profanity-im/profanity-im.github.io/commit/e1d25d96606da37fda20dab382360013aab0b711
https://github.com/profanity-im/profanity-im.github.io/commit/abaa43022f94be03b7b01e07e2a3f91730d6dc13
https://github.com/profanity-im/profanity-im.github.io/commit/04ab8adebdb4d954f1241c77e61bf5c002da2d2b
https://github.com/profanity-im/profanity-im.github.io/commit/a1a3778094a99965ca9f0f394a25509dac4d86d3
/leave just closes the current window. I will remove this and people should use /close or create an alias.
I'll copy @kaffeekanne s text down here and will always edit it according to latest changes. I want to leave his original comment as is.
WIP of @kaffekannes comment:
/info|caps|software|status show several informations
/resource remove current funtionality suggested in #912
default should be something like profanity.#### as suggested by XMPP 2.0 , but setting a preferably unique resource is still allowed
listing pending requests could be shown via /subs(criptions) sent|received
Will handle the /resource command in its own issue.
Most helpful comment
Warning, long and filled with personal oppinion.
First of all, i think distiguishing between commands that trigger an action immediatly and commands that only set a configuration option and is rarely ever used again, could be helpful.
i went through
cmd_defs.cfrom top. examples to discuss about:/tls show on|off, show or hide the TLS indicator in the titlebar./titlebaras it affects the titlebars appearance/tls revokerevokes a cert, but/omemo|otr untrustis used to revoke/untrust a key./pgp setkeyalso adds inconsistency/msg <contact>message a contact, uses nick, if set/groupmanages roster entries/info|caps|software|statusshow several informations/statusfeels like it should set our own status/resourceremove current funtionality suggested in #912profanity.####as suggested by XMPP 2.0 , but setting a preferably unique resource is still allowed/leavenothing wrong, but/partas compatibility to irc (which muc comes from), see https://xmpp.org/extensions/xep-0045.html#impl-client-irc/leave so long and thanks for all the fish(see document, i think thats )/invitessee the following/decline roomseems good, but could be merged as subcommand of/invites decline ...as invites are managed by this. I have yet not received an invite with profanity, where is accept?/subis the equivalet to invite and there all management tasks are done with sub commants to/sub/occupants showshows occupants panel/panel show occupants|roster/occupants listto print a list off occupants to muc window, but/occupantsto show the panel/bookmark update ...setrather than update, which is only used again with/pluginsbut in another context.lastactivitysets sending own last activity to on or off but also queries others last activity/infocommand/wins unread-->/wins list unreadmaybe also/wins listin addition to/winsso one knows without any documentation, what the command does./subnothing wrong, but/subscriptionas second name since novices might not know at first sight, what sub does./subs(criptions) sent|received/tinyi highly vote for removing/putting it in a plugin, as it uses a third party service not anybody might like./whotoo mighty, did not check thourroghly :P/closeworks on windows so might fit as a subcommand somehwere in/win(s). Actually i never used it before, mostly switch to the window and/leave/quitmaybe add a quit/leave message to show in mucs ;-)/privilegesshould be a sub command to/occupantsas it groups the occupant list by privileges or not./encwarn, as it modifies the titlebar it should be subcommand there/presence titlebarfites better to/titlebar/presence console-->/console presence all|online|none/presencesounds like it has something to do with our own presence settings, but it is just about informational display of others presences. Not sure how to feel about it, yet. Meybe a/settingscommand to structure that static settings one does not access often?/timealso feels wrong, some settings belong to status bar, somt to title bar, some could fit in a new/settingscommand./inpblock-->/settings inpblock?/titlebar|statusbar|mainwin|inputwinreally own commands needed? See/settings/notify, see/timeand/presence./themereload and get current theme subcommand would be neat/resource, ,what @jubalh said :-)/exportexports contacts to csv never seen before :P/export rosterand/export bookmarks/bookmark exportand/roster exportare nice to have