NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
gui.c
Go to the documentation of this file.
1
22
28
29
#include "config.h"
30
#include <stdio.h>
31
#include "
mutt/lib.h
"
32
#include "
config/lib.h
"
33
#include "
gui/lib.h
"
34
#include "
gui.h
"
35
#include "
menu/lib.h
"
36
#include "
functions.h
"
37
43
int
alias_config_observer
(
struct
NotifyCallback
*nc)
44
{
45
if
(nc->
event_type
!=
NT_CONFIG
)
46
return
0;
47
if
(!nc->
global_data
|| !nc->
event_data
)
48
return
-1;
49
50
struct
EventConfig
*ev_c = nc->
event_data
;
51
52
if
(!
mutt_str_equal
(ev_c->
name
,
"alias_sort"
) && !
mutt_str_equal
(ev_c->
name
,
"alias_format"
) &&
53
!
mutt_str_equal
(ev_c->
name
,
"query_format"
))
54
{
55
return
0;
56
}
57
58
struct
Menu
*menu = nc->
global_data
;
59
60
menu_queue_redraw
(menu,
MENU_REDRAW_FULL
);
61
mutt_debug
(
LL_DEBUG5
,
"config done, request WA_RECALC, MENU_REDRAW_FULL\n"
);
62
63
return
0;
64
}
65
72
void
alias_set_title
(
struct
MuttWindow
*sbar,
char
*menu_name,
char
*limit)
73
{
74
if
(!limit)
75
{
76
sbar_set_title
(sbar, menu_name);
77
return
;
78
}
79
80
char
buf[256] = { 0 };
81
82
int
len = snprintf(buf,
sizeof
(buf),
"%s - "
, menu_name);
83
if
(len < 0)
84
len = 0;
85
if
(len >= (
int
)
sizeof
(buf))
86
len =
sizeof
(buf) - 1;
87
88
snprintf(buf + len,
sizeof
(buf) - len,
_
(
"Limit: %s"
), limit);
89
90
sbar_set_title
(sbar, buf);
91
}
92
96
int
alias_recalc
(
struct
MuttWindow
*
win
)
97
{
98
struct
Menu
*menu =
win
->
wdata
;
99
struct
AliasMenuData
*
mdata
=
menu
->
mdata
;
100
101
alias_array_sort
(&
mdata
->ava,
mdata
->sub);
102
103
win
->
actions
|=
WA_REPAINT
;
104
mutt_debug
(
LL_DEBUG5
,
"recalc done, request WA_REPAINT\n"
);
105
return
0;
106
}
functions.h
Alias functions.
alias_array_sort
void alias_array_sort(struct AliasViewArray *ava, const struct ConfigSubset *sub)
Sort and reindex an AliasViewArray.
Definition
sort.c:235
lib.h
Convenience wrapper for the config headers.
mutt_debug
#define mutt_debug(LEVEL,...)
Definition
logging2.h:91
alias_config_observer
int alias_config_observer(struct NotifyCallback *nc)
Notification that a Config Variable has changed - Implements observer_t -.
Definition
gui.c:43
alias_recalc
int alias_recalc(struct MuttWindow *win)
Recalculate the display of the Alias Window - Implements MuttWindow::recalc() -.
Definition
gui.c:96
lib.h
Convenience wrapper for the gui headers.
alias_set_title
void alias_set_title(struct MuttWindow *sbar, char *menu_name, char *limit)
Create a title string for the Menu.
Definition
gui.c:72
gui.h
Shared code for the Alias and Query Dialogs.
LL_DEBUG5
@ LL_DEBUG5
Log at debug level 5.
Definition
logging2.h:49
lib.h
GUI present the user with a selectable list.
menu_queue_redraw
void menu_queue_redraw(struct Menu *menu, MenuRedrawFlags redraw)
Queue a request for a redraw.
Definition
menu.c:177
MENU_REDRAW_FULL
@ MENU_REDRAW_FULL
Redraw everything.
Definition
lib.h:64
lib.h
Convenience wrapper for the library headers.
_
#define _(a)
Definition
message.h:28
mutt_str_equal
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
Definition
string.c:666
WA_REPAINT
@ WA_REPAINT
Redraw the contents of the Window.
Definition
mutt_window.h:115
NT_CONFIG
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
Definition
notify_type.h:43
sbar_set_title
void sbar_set_title(struct MuttWindow *win, const char *title)
Set the title for the Simple Bar.
Definition
sbar.c:227
AliasMenuData
AliasView array wrapper with Pattern information -.
Definition
gui.h:55
AliasMenuData::menu
struct Menu * menu
Menu.
Definition
gui.h:59
EventConfig
A config-change event.
Definition
subset.h:70
EventConfig::name
const char * name
Name of config item that changed.
Definition
subset.h:72
Menu
Definition
lib.h:86
Menu::win
struct MuttWindow * win
Window holding the Menu.
Definition
lib.h:94
Menu::mdata
void * mdata
Private data.
Definition
lib.h:155
MuttWindow
Definition
mutt_window.h:129
MuttWindow::wdata
void * wdata
Private data.
Definition
mutt_window.h:150
MuttWindow::actions
WindowActionFlags actions
Actions to be performed, e.g. WA_RECALC.
Definition
mutt_window.h:138
NotifyCallback
Data passed to a notification function.
Definition
observer.h:34
NotifyCallback::event_data
void * event_data
Data from notify_send().
Definition
observer.h:38
NotifyCallback::event_type
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
Definition
observer.h:36
NotifyCallback::global_data
void * global_data
Data from notify_observer_add().
Definition
observer.h:39