If custom client is not set and include_os is true,
stanzas might be released without initializiting.
This commit fixes it by introducing an additional check
on usage of custom client.
Related to commit e52ca2fbaa
While testing https://github.com/profanity-im/profanity/pull/1817
we found that:
```
/statusbar show name (I have this off by default
/msg someone where I chose someone in my roster that has a nick assigned
/statusbar chat jid
```
Will only take effect upon creation or redraw of that tab.
Reason is that we do this in create_tab to limit building this
dynamically.
Let's leave it like it is but add a note to users.
Not worth build that string all the time.
- 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
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.
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>
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>
Before this change the same hashtable was re-created each time one used the
auto-completion feature.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This makes all the related errors in the log files go away:
...
prof: ERR: Color: bad color name black_bold_default
prof: ERR: Unable to load colour theme
...
Fixes https://github.com/profanity-im/profanity/issues/1810
* Fix typos.
* Add words that are not typos to codespell's ignore words list and
ignore regex.
* Make codespell ignore URIs.
* Make `make doublecheck` throw no error.
Signed-off-by: Daniel Santos <dacs.git@brilhante.top>
Sometimes after a reconnect the current window would get cleared. This
was a deliberate change to fix the profanity window looking all garbled
up after providing the passphrase for a gpg key using pinentry-curses.
Fixes https://github.com/profanity-im/profanity/issues/1556
* Make editor executable into a string to be able to support
(multiple) flags.
* Change /help executable to suit this new feature
Signed-off-by: Daniel Santos <dacs.git@brilhante.top>
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