summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/windows/identity/ui/credwnd.c126
-rw-r--r--src/windows/identity/ui/credwnd.h4
-rw-r--r--src/windows/identity/ui/uiconfig.csv483
3 files changed, 365 insertions, 248 deletions
diff --git a/src/windows/identity/ui/credwnd.c b/src/windows/identity/ui/credwnd.c
index acbd46e67..b8d159ac4 100644
--- a/src/windows/identity/ui/credwnd.c
+++ b/src/windows/identity/ui/credwnd.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005 Massachusetts Institute of Technology
+ * Copyright (c) 2007 Secure Endpoints Inc.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -435,6 +435,24 @@ cw_mix_colors(COLORREF c1, COLORREF c2, int alpha) {
return RGB(r,g,b);
}
+static COLORREF
+cw_get_theme_color(khm_handle hc, const wchar_t * name, COLORREF ref_color) {
+ khm_int32 t;
+ COLORREF c;
+ int alpha;
+
+ if (KHM_FAILED(khc_read_int32(hc, name, &t))) {
+#ifdef DEBUG
+ assert(FALSE);
+#endif
+ return ref_color;
+ }
+
+ alpha = ((t >> 24) & 0xff);
+ c = (COLORREF) (t & 0xffffff);
+ return cw_mix_colors(ref_color, c, alpha);
+}
+
void
cw_load_view(khui_credwnd_tbl * tbl, wchar_t * view, HWND hwnd) {
khm_handle hc_cw = NULL;
@@ -649,8 +667,6 @@ _skip_col:
tbl->flags |= KHUI_CW_TBL_INITIALIZED | KHUI_CW_TBL_COL_DIRTY | KHUI_CW_TBL_ACTIVE;
- /*TODO: the graphics objects should be customizable */
-
hdc = GetWindowDC(hwnd);
khm_get_cw_element_font(hdc, L"FontHeader", FALSE, &log_font);
@@ -680,24 +696,64 @@ _skip_col:
LR_DEFAULTCOLOR));
{
+
#define SEL_ALPHA 50
- COLORREF bg_s = GetSysColor(COLOR_HIGHLIGHT);
- COLORREF bg_normal = GetSysColor(COLOR_WINDOW);
- COLORREF bg_gray = RGB(240,240,240);
- COLORREF bg_hdr = RGB(240,240,240);
- COLORREF bg_hdr_warn = RGB(235,235,134);
- COLORREF bg_hdr_crit = RGB(235,184,134);
- COLORREF bg_hdr_exp = RGB(235,134,134);
- COLORREF bg_hdr_def = GetSysColor(COLOR_WINDOW);
-
- tbl->cr_normal = GetSysColor(COLOR_WINDOWTEXT);
- tbl->cr_s = GetSysColor(COLOR_WINDOWTEXT);
- tbl->cr_hdr_outline = RGB(0,0,0);
- tbl->cr_hdr_normal = GetSysColor(COLOR_WINDOWTEXT);
- tbl->cr_hdr_s = GetSysColor(COLOR_WINDOWTEXT);
- tbl->cr_hdr_gray = GetSysColor(COLOR_GRAYTEXT);
- tbl->cr_hdr_gray_s = GetSysColor(COLOR_HIGHLIGHTTEXT);
+ khm_handle hc_themes = NULL;
+ khm_handle hc_theme = NULL;
+
+ COLORREF bg_s;
+ COLORREF bg_normal;
+ COLORREF bg_gray;
+ COLORREF bg_hdr;
+ COLORREF bg_hdr_cred;
+ COLORREF bg_hdr_warn;
+ COLORREF bg_hdr_crit;
+ COLORREF bg_hdr_exp;
+
+ COLORREF bg_hdr_s;
+ COLORREF bg_hdr_cred_s;
+ COLORREF bg_hdr_warn_s;
+ COLORREF bg_hdr_crit_s;
+ COLORREF bg_hdr_exp_s;
+
+ cbsize = sizeof(buf);
+ if (KHM_SUCCEEDED(khc_read_string(hc_cw, L"DefaultTheme", buf, &cbsize)) &&
+ KHM_SUCCEEDED(khc_open_space(hc_cw, L"Themes", KHM_PERM_READ, &hc_themes)) &&
+ KHM_SUCCEEDED(khc_open_space(hc_themes, buf, KHM_PERM_READ, &hc_theme))) {
+
+ bg_s = cw_get_theme_color(hc_theme, L"ClrSelection", 0);
+ bg_normal = cw_get_theme_color(hc_theme, L"ClrBackground", 0);
+ bg_gray = cw_get_theme_color(hc_theme, L"ClrGray", 0);
+ bg_hdr = cw_get_theme_color(hc_theme, L"ClrHeader", 0);
+ bg_hdr_cred = cw_get_theme_color(hc_theme, L"ClrHeaderCred", 0);
+ bg_hdr_warn = cw_get_theme_color(hc_theme, L"ClrHeaderWarn", 0);
+ bg_hdr_crit = cw_get_theme_color(hc_theme, L"ClrHeaderCrit", 0);
+ bg_hdr_exp = cw_get_theme_color(hc_theme, L"ClrHeaderExp", 0);
+ bg_hdr_s = cw_get_theme_color(hc_theme, L"ClrHeaderSel", bg_s);
+ bg_hdr_cred_s = cw_get_theme_color(hc_theme, L"ClrHeaderCredSel", bg_s);
+ bg_hdr_warn_s = cw_get_theme_color(hc_theme, L"ClrHeaderWarnSel", bg_s);
+ bg_hdr_crit_s = cw_get_theme_color(hc_theme, L"ClrHeaderCritSel", bg_s);
+ bg_hdr_exp_s = cw_get_theme_color(hc_theme, L"ClrHeaderExpSel", bg_s);
+
+ tbl->cr_normal = cw_get_theme_color(hc_theme, L"ClrText", 0);
+ tbl->cr_s = cw_get_theme_color(hc_theme, L"ClrTextSel", bg_s);
+ tbl->cr_hdr_outline = cw_get_theme_color(hc_theme, L"ClrHeaderOutline", 0);
+ tbl->cr_hdr_normal = cw_get_theme_color(hc_theme, L"ClrTextHeader", 0);
+ tbl->cr_hdr_s = cw_get_theme_color(hc_theme, L"ClrTextHeaderSel", bg_s);
+ tbl->cr_hdr_gray = cw_get_theme_color(hc_theme, L"ClrTextHeaderGray", 0);
+ tbl->cr_hdr_gray_s = cw_get_theme_color(hc_theme, L"ClrTextHeaderGraySel", bg_s);
+ } else {
+#ifdef DEBUG
+ assert(FALSE);
+#endif
+ }
+
+ if (hc_theme)
+ khc_close_space(hc_theme);
+ if (hc_themes)
+ khc_close_space(hc_themes);
+ hc_theme = hc_themes = NULL;
if (khm_main_wnd_mode == KHM_MAIN_WND_MINI) {
bg_hdr = bg_normal;
@@ -709,16 +765,16 @@ _skip_col:
tbl->hb_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_normal, SEL_ALPHA));
tbl->hb_hdr_bg = CreateSolidBrush(bg_hdr);
+ tbl->hb_hdr_bg_cred = CreateSolidBrush(bg_hdr_cred);
tbl->hb_hdr_bg_warn = CreateSolidBrush(bg_hdr_warn);
tbl->hb_hdr_bg_crit = CreateSolidBrush(bg_hdr_crit);
tbl->hb_hdr_bg_exp = CreateSolidBrush(bg_hdr_exp);
- tbl->hb_hdr_bg_def = CreateSolidBrush(bg_hdr_def);
- tbl->hb_hdr_bg_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_hdr, SEL_ALPHA));
- tbl->hb_hdr_bg_warn_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_hdr_warn, SEL_ALPHA));
- tbl->hb_hdr_bg_crit_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_hdr_crit, SEL_ALPHA));
- tbl->hb_hdr_bg_exp_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_hdr_exp, SEL_ALPHA));
- tbl->hb_hdr_bg_def_s = CreateSolidBrush(cw_mix_colors(bg_s, bg_hdr_def, SEL_ALPHA));
+ tbl->hb_hdr_bg_s = CreateSolidBrush(bg_s);
+ tbl->hb_hdr_bg_cred_s = CreateSolidBrush(bg_hdr_cred_s);
+ tbl->hb_hdr_bg_warn_s = CreateSolidBrush(bg_hdr_warn_s);
+ tbl->hb_hdr_bg_crit_s = CreateSolidBrush(bg_hdr_crit_s);
+ tbl->hb_hdr_bg_exp_s = CreateSolidBrush(bg_hdr_exp_s);
}
tbl->ilist = khui_create_ilist(KHUI_SMICON_CX, KHUI_SMICON_CY-1, 20, 8, 0);
@@ -1887,13 +1943,13 @@ cw_unload_view(khui_credwnd_tbl * tbl)
SafeDeleteObject(tbl->hb_hdr_bg_crit);
SafeDeleteObject(tbl->hb_hdr_bg_exp);
SafeDeleteObject(tbl->hb_hdr_bg_warn);
- SafeDeleteObject(tbl->hb_hdr_bg_def);
+ SafeDeleteObject(tbl->hb_hdr_bg_cred);
SafeDeleteObject(tbl->hb_hdr_bg_s);
SafeDeleteObject(tbl->hb_hdr_bg_crit_s);
SafeDeleteObject(tbl->hb_hdr_bg_exp_s);
SafeDeleteObject(tbl->hb_hdr_bg_warn_s);
- SafeDeleteObject(tbl->hb_hdr_bg_def_s);
+ SafeDeleteObject(tbl->hb_hdr_bg_cred_s);
#undef SafeDeleteObject
@@ -2363,8 +2419,8 @@ cw_draw_header(HDC hdc,
hbr = tbl->hb_hdr_bg_crit_s;
else if ((o->flags & CW_EXPSTATE_MASK) == CW_EXPSTATE_WARN)
hbr = tbl->hb_hdr_bg_warn_s;
- else if (idf & KCDB_IDENT_FLAG_DEFAULT)
- hbr = tbl->hb_hdr_bg_def_s;
+ else if ((colattr == KCDB_ATTR_ID_NAME) && !(o->flags & KHUI_CW_O_EMPTY))
+ hbr = tbl->hb_hdr_bg_cred_s;
else
hbr = tbl->hb_hdr_bg_s;
} else {
@@ -2374,8 +2430,8 @@ cw_draw_header(HDC hdc,
hbr = tbl->hb_hdr_bg_crit;
else if ((o->flags & CW_EXPSTATE_MASK) == CW_EXPSTATE_WARN)
hbr = tbl->hb_hdr_bg_warn;
- else if (idf & KCDB_IDENT_FLAG_DEFAULT)
- hbr = tbl->hb_hdr_bg_def;
+ else if ((colattr == KCDB_ATTR_ID_NAME) && !(o->flags & KHUI_CW_O_EMPTY))
+ hbr = tbl->hb_hdr_bg_cred;
else
hbr = tbl->hb_hdr_bg;
}
@@ -2550,9 +2606,9 @@ cw_draw_header(HDC hdc,
tr.left = max(tr.right - cx_str, tr.left + cx_id + KHUI_SMICON_CX * 2);
if (selected)
- SetTextColor(hdc, tbl->cr_hdr_gray_s);
+ SetTextColor(hdc, tbl->cr_hdr_s);
else
- SetTextColor(hdc, tbl->cr_hdr_gray);
+ SetTextColor(hdc, tbl->cr_hdr_normal);
DrawText(hdc, typestr, len, &tr, DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
}
@@ -2609,9 +2665,9 @@ cw_draw_header(HDC hdc,
len = (int) wcslen(buf);
if (selected)
- SetTextColor(hdc, tbl->cr_hdr_gray_s);
+ SetTextColor(hdc, tbl->cr_hdr_s);
else
- SetTextColor(hdc, tbl->cr_hdr_gray);
+ SetTextColor(hdc, tbl->cr_hdr_normal);
DrawText(hdc, buf, len, &tr, DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
}
}
diff --git a/src/windows/identity/ui/credwnd.h b/src/windows/identity/ui/credwnd.h
index 47f8a745e..f47f62f65 100644
--- a/src/windows/identity/ui/credwnd.h
+++ b/src/windows/identity/ui/credwnd.h
@@ -198,16 +198,16 @@ typedef struct khui_credwnd_tbl_t {
HBRUSH hb_s; /* normal background brush (selected) */
HBRUSH hb_hdr_bg; /* header background brush (normal) */
+ HBRUSH hb_hdr_bg_cred; /* header background brush (valid creds) */
HBRUSH hb_hdr_bg_exp; /* header background brush (expired) */
HBRUSH hb_hdr_bg_warn; /* header background brush (warn) */
HBRUSH hb_hdr_bg_crit; /* header background brush (critical) */
- HBRUSH hb_hdr_bg_def; /* header background brush (default) */
HBRUSH hb_hdr_bg_s; /* header background brush (selected) */
+ HBRUSH hb_hdr_bg_cred_s;/* header background brush (valid creds) */
HBRUSH hb_hdr_bg_exp_s; /* header background brush (expired,selected) */
HBRUSH hb_hdr_bg_warn_s;/* header background brush (warn,selected) */
HBRUSH hb_hdr_bg_crit_s;/* header background brush (critical,selected) */
- HBRUSH hb_hdr_bg_def_s; /* header background brush (default,selected) */
COLORREF cr_normal; /* text color (normal) */
COLORREF cr_s; /* text color (selected) */
diff --git a/src/windows/identity/ui/uiconfig.csv b/src/windows/identity/ui/uiconfig.csv
index 0c76dc065..6fb931dfd 100644
--- a/src/windows/identity/ui/uiconfig.csv
+++ b/src/windows/identity/ui/uiconfig.csv
@@ -1,211 +1,272 @@
-Name,Type,Value,Description
-CredWindow,KC_SPACE,0,"Options for the credentials window as well as the Network Identity Manager application."
- AutoInit,KC_INT32,0,"Boolean. Prompt for new credentials if no credentials are present during startup."
- AutoStart,KC_INT32,0,"[PRIVATE] Boolean. Start Network Identity Manager automatically when the current user logs in."
- AutoImport,KC_INT32,1,"Boolean. Import credentials from the LSA cache when Network Identity Manager starts."
- AutoDetectNet,KC_INT32,1,"Boolean. Automatically detect network connectivity changes."
- HideWatermark,KC_INT32,0,"Boolean. Suppress watermark in Credentials display. NOTE: there is no guarantee that this value will exist in future versions."
- KeepRunning,KC_INT32,1,"Boolean. Run from the system notification area after the main window is closed."
- DefaultView,KC_STRING,ByIdentity,"[PRIVATE] Name of the default view in Advanced mode."
- DefaultViewMini,KC_STRING,CompactIdentity,"[PRIVATE] Name of the default view in Basic mode."
- PaddingHorizontal,KC_INT32,4,"[PRIVATE]"
- PaddingVertical,KC_INT32,2,"[PRIVATE]"
- PaddingHeader,KC_INT32,16,"[PRIVATE]"
- Monitor,KC_INT32,1,"Boolean. Monitor credentials for expiration and renewal."
- DefaultMonitor,KC_INT32,1,"Boolean. This is the default Monitor value that is assigned for new identities."
- RefreshTimeout,KC_INT32,60,"Number of seconds between credentials window refreshes. The credentials window automatically triggers a refresh operation. This value specifies the number of seconds that must elapse between two refreshes. During the refresh, all the credentials provider plug-ins will need to re-enumerate their respective credentials."
- WarnThreshold,KC_INT32,900,In seconds
- AllowWarn,KC_INT32,1,"Boolean. Enables warning."
- CriticalThreshold,KC_INT32,300,In seconds
- AllowCritical,KC_INT32,1,Boolean. Enables critical.
- AutoRenewThreshold,KC_INT32,600,In seconds
- AllowAutoRenew,KC_INT32,1,Boolean.
- RenewAtHalfLife,KC_INT32,1,Boolean. Use half-life algorithm for renewals.
- DefaultAllowAutoRenew,KC_INT32,1,Default AllowAutoRenew value for new identities
- DefaultSticky,KC_INT32,0,Default Sticky value for new identities
- MaxThreshold,KC_INT32,86400,Max value for a threshold (1 day)
- MinThreshold,KC_INT32,10,Min value for a threshold (0)
- LogToFile,KC_INT32,0,Boolean. If true logs trace events to a nidmdbg.log in the temp folder
- DestroyCredsOnExit,KC_INT32,0,Boolean. If true; all credentials will be destroyed when NetIDMgr exits.
- NotificationAction,KC_INT32,50025,Action to perform when the user clicks on the notification icon.
- DefaultWindowMode,KC_INT32,1,(0-normal; 1-mini)
- Windows,KC_SPACE,0,Window parameters
- _Schema,KC_SPACE,0,Schema
- Width,KC_INT32,0,
- Height,KC_INT32,0,
- XPos,KC_INT32,0,
- YPos,KC_INT32,0,
- Dock,KC_INT32,0,Dock on window corner (0-none; 1-top left; 2-top right; 3-bottom right; 4-bottom left)
- _Schema,KC_ENDSPACE,0,
- Main,KC_SPACE,0,Main window
- Main,KC_ENDSPACE,0,
- MainMini,KC_SPACE,0,Main window (mini mode)
- Width,KC_INT32,470,
- Height,KC_INT32,500,
- Dock,KC_INT32,3,
- MainMini,KC_ENDSPACE,0,
- NewCred,KC_SPACE,0,New credentials window
- ForceToTop,KC_INT32,1,Force new creds window to the top
- AnimateSizeChanges,KC_INT32,1,Animate the new creds window when the size needs changing.
- AnimationSteps,KC_INT32,7,Number of steps in size-change animation
- AnimationStepTimeout,KC_INT32,40,Number of milliseconds to wait between each step of the size-change animation
- NewCred,KC_ENDSPACE,0,
- Windows,KC_ENDSPACE,0,
- Views,KC_SPACE,0,Preconfigured views for credentials
- Custom_0,KC_SPACE,0,First custom view. Additional views have names of the form Custom_N
- Description,KC_STRING,Custom view,
- ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Name,TimeLeft",
- Columns,KC_SPACE,0,Columns
- _CWFlags,KC_SPACE,0,
- Width,KC_INT32,20,
- Flags,KC_INT32,112,
- _CWFlags,KC_ENDSPACE,0,
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,100,
- SortIndex,KC_INT32,0,
- Flags,KC_INT32,11,
- IdentityName,KC_ENDSPACE,0
- TypeName,KC_SPACE,0
- Width,KC_INT32,100
- SortIndex,KC_INT32,1
- Flags,KC_INT32,11
- TypeName,KC_ENDSPACE,0
- Name,KC_SPACE,0
- Width,KC_INT32,200
- SortIndex,KC_INT32,2
- Flags,KC_INT32,3
- Name,KC_ENDSPACE,0
- TimeLeft,KC_SPACE,0
- Width,KC_INT32,200
- Flags,KC_INT32,1
- TimeLeft,KC_ENDSPACE,0
- Columns,KC_ENDSPACE,0
- Custom_0,KC_ENDSPACE,0,
- ByIdentity,KC_SPACE,0,The default view
- Description,KC_STRING,View grouped by identity and credential type,
- ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Location,Name,TimeLeft",
- Columns,KC_SPACE,0,Columns
- _CWFlags,KC_SPACE,0,
- Width,KC_INT32,20,
- Flags,KC_INT32,112,
- _CWFlags,KC_ENDSPACE,0,
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,100,
- SortIndex,KC_INT32,0,
- Flags,KC_INT32,11,
- IdentityName,KC_ENDSPACE,0
- TypeName,KC_SPACE,0
- Width,KC_INT32,100
- SortIndex,KC_INT32,1
- Flags,KC_INT32,11
- TypeName,KC_ENDSPACE,0
- Location,KC_SPACE,0,
- Width,KC_INT32,50
- SortIndex,KC_INT32,2
- Flags,KC_INT32,11
- Location,KC_ENDSPACE,0,
- Name,KC_SPACE,0
- Width,KC_INT32,200
- SortIndex,KC_INT32,3
- Flags,KC_INT32,3
- Name,KC_ENDSPACE,0
- TimeLeft,KC_SPACE,0
- Width,KC_INT32,200
- Flags,KC_INT32,1
- TimeLeft,KC_ENDSPACE,0
- Columns,KC_ENDSPACE,0
- ByIdentity,KC_ENDSPACE,0
- ByType,KC_SPACE,0,The default view
- Description,KC_STRING,View grouped by type and identity,
- ColumnList,KC_STRING,"_CWFlags,TypeName,IdentityName,Name,TimeLeft",
- Columns,KC_SPACE,0,Columns
- _CWFlags,KC_SPACE,0,
- Width,KC_INT32,20,
- Flags,KC_INT32,112,
- _CWFlags,KC_ENDSPACE,0,
- TypeName,KC_SPACE,0
- Width,KC_INT32,100
- SortIndex,KC_INT32,0
- Flags,KC_INT32,11
- TypeName,KC_ENDSPACE,0
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,100,
- SortIndex,KC_INT32,1,
- Flags,KC_INT32,11,
- IdentityName,KC_ENDSPACE,0
- Name,KC_SPACE,0
- Width,KC_INT32,200
- SortIndex,KC_INT32,2
- Flags,KC_INT32,3
- Name,KC_ENDSPACE,0
- TimeLeft,KC_SPACE,0
- Width,KC_INT32,200
- Flags,KC_INT32,1
- TimeLeft,KC_ENDSPACE,0
- Columns,KC_ENDSPACE,0
- ByType,KC_ENDSPACE,0
- ByLocation,KC_SPACE,0,View by location
- Description,KC_STRING,View grouped by location,
- ColumnList,KC_STRING,"_CWFlags,Location,IdentityName,TypeName,Name,TimeLeft",
- Columns,KC_SPACE,0,Columns
- _CWFlags,KC_SPACE,0,
- Width,KC_INT32,20,
- Flags,KC_INT32,112,
- _CWFlags,KC_ENDSPACE,0,
- Location,KC_SPACE,0,
- Width,KC_INT32,100,
- SortIndex,KC_INT32,0,
- Flags,KC_INT32,11,
- Location,KC_ENDSPACE,0,
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,100,
- SortIndex,KC_INT32,1,
- Flags,KC_INT32,11,
- IdentityName,KC_ENDSPACE,0
- TypeName,KC_SPACE,0
- Width,KC_INT32,100
- SortIndex,KC_INT32,2
- Flags,KC_INT32,11
- TypeName,KC_ENDSPACE,0
- Name,KC_SPACE,0
- Width,KC_INT32,200
- SortIndex,KC_INT32,3
- Flags,KC_INT32,3
- Name,KC_ENDSPACE,0
- TimeLeft,KC_SPACE,0
- Width,KC_INT32,200
- Flags,KC_INT32,1
- TimeLeft,KC_ENDSPACE,0
- Columns,KC_ENDSPACE,0
- ByLocation,KC_ENDSPACE,0
- CompactIdentity,KC_SPACE,0,Default Compact View by Identity
- Description,KC_STRING,Compact view of identities
- ColumnList,KC_STRING,"IdentityName",
- ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers
- NoHeader,KC_INT32,1,Suppress the column header
- Columns,KC_SPACE,0,
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,415,
- SortIndex,KC_INT32,0,
- Flags,KC_INT32,171
- IdentityName,KC_ENDSPACE,0,
- Columns,KC_ENDSPACE,0,
- CompactIdentity,KC_ENDSPACE,0
- Custom_1,KC_SPACE,0,Default Compact View by Identity
- Description,KC_STRING,Compact view of identities
- ColumnList,KC_STRING,"IdentityName",
- ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers
- NoHeader,KC_INT32,1,Suppress the column header
- Columns,KC_SPACE,0,
- IdentityName,KC_SPACE,0,
- Width,KC_INT32,415,
- SortIndex,KC_INT32,0,
- Flags,KC_INT32,171
- IdentityName,KC_ENDSPACE,0,
- Columns,KC_ENDSPACE,0,
- Custom_1,KC_ENDSPACE,0
- Views,KC_ENDSPACE,0
- Notices,KC_SPACE,0,Notices and alerts
- MinimizeWarning,KC_INT32,1,Show the minimize warning?
- Notices,KC_ENDSPACE,0
-CredWindow,KC_ENDSPACE,0
+#@#include<windows.h>
+#@#define RGBA(r,g,b,a) ((((DWORD) ((a) & 0xff)) << 24) | RGB(r,g,b))
+Name,Type,Value,Description
+CredWindow,KC_SPACE,0,"Options for the credentials window as well as the Network Identity Manager application."
+ AutoInit,KC_INT32,0,"Boolean. Prompt for new credentials if no credentials are present during startup."
+ AutoStart,KC_INT32,0,"[PRIVATE] Boolean. Start Network Identity Manager automatically when the current user logs in."
+ AutoImport,KC_INT32,1,"Boolean. Import credentials from the LSA cache when Network Identity Manager starts."
+ AutoDetectNet,KC_INT32,1,"Boolean. Automatically detect network connectivity changes."
+ HideWatermark,KC_INT32,0,"Boolean. Suppress watermark in Credentials display. NOTE: there is no guarantee that this value will exist in future versions."
+ KeepRunning,KC_INT32,1,"Boolean. Run from the system notification area after the main window is closed."
+ DefaultView,KC_STRING,ByIdentity,"[PRIVATE] Name of the default view in Advanced mode."
+ DefaultViewMini,KC_STRING,CompactIdentity,"[PRIVATE] Name of the default view in Basic mode."
+ PaddingHorizontal,KC_INT32,4,"[PRIVATE]"
+ PaddingVertical,KC_INT32,2,"[PRIVATE]"
+ PaddingHeader,KC_INT32,16,"[PRIVATE]"
+ Monitor,KC_INT32,1,"Boolean. Monitor credentials for expiration and renewal."
+ DefaultMonitor,KC_INT32,1,"Boolean. This is the default Monitor value that is assigned for new identities."
+ RefreshTimeout,KC_INT32,60,"Number of seconds between credentials window refreshes. The credentials window automatically triggers a refresh operation. This value specifies the number of seconds that must elapse between two refreshes. During the refresh, all the credentials provider plug-ins will need to re-enumerate their respective credentials."
+ WarnThreshold,KC_INT32,900,In seconds
+ AllowWarn,KC_INT32,1,"Boolean. Enables warning."
+ CriticalThreshold,KC_INT32,300,In seconds
+ AllowCritical,KC_INT32,1,Boolean. Enables critical.
+ AutoRenewThreshold,KC_INT32,600,In seconds
+ AllowAutoRenew,KC_INT32,1,Boolean.
+ RenewAtHalfLife,KC_INT32,1,Boolean. Use half-life algorithm for renewals.
+ DefaultAllowAutoRenew,KC_INT32,1,Default AllowAutoRenew value for new identities
+ DefaultSticky,KC_INT32,0,Default Sticky value for new identities
+ MaxThreshold,KC_INT32,86400,Max value for a threshold (1 day)
+ MinThreshold,KC_INT32,10,Min value for a threshold (0)
+ LogToFile,KC_INT32,0,Boolean. If true logs trace events to a nidmdbg.log in the temp folder
+ DestroyCredsOnExit,KC_INT32,0,Boolean. If true; all credentials will be destroyed when NetIDMgr exits.
+ NotificationAction,KC_INT32,50025,Action to perform when the user clicks on the notification icon.
+ DefaultWindowMode,KC_INT32,1,(0-normal; 1-mini)
+ DefaultTheme,KC_STRING,Default,Default theme. The name should correspond to a subspace in Themes
+ Windows,KC_SPACE,0,Window parameters
+ _Schema,KC_SPACE,0,Schema
+ Width,KC_INT32,0,
+ Height,KC_INT32,0,
+ XPos,KC_INT32,0,
+ YPos,KC_INT32,0,
+ Dock,KC_INT32,0,Dock on window corner (0-none; 1-top left; 2-top right; 3-bottom right; 4-bottom left)
+ _Schema,KC_ENDSPACE,0,
+ Main,KC_SPACE,0,Main window
+ Main,KC_ENDSPACE,0,
+ MainMini,KC_SPACE,0,Main window (mini mode)
+ Width,KC_INT32,470,
+ Height,KC_INT32,500,
+ Dock,KC_INT32,3,
+ MainMini,KC_ENDSPACE,0,
+ NewCred,KC_SPACE,0,New credentials window
+ ForceToTop,KC_INT32,1,Force new creds window to the top
+ AnimateSizeChanges,KC_INT32,1,Animate the new creds window when the size needs changing.
+ AnimationSteps,KC_INT32,7,Number of steps in size-change animation
+ AnimationStepTimeout,KC_INT32,40,Number of milliseconds to wait between each step of the size-change animation
+ NewCred,KC_ENDSPACE,0,
+ Windows,KC_ENDSPACE,0,
+ Views,KC_SPACE,0,Preconfigured views for credentials
+ _Schema,KC_SPACE,0,Schema for view definitions
+ Description,KC_STRING,"",Description of the view
+ ColumnList,KC_STRING,"","List of columns for the view, in order"
+ _AppVersion,KC_BINARY,0,Binary version stamp
+ Columns,KC_SPACE,0,"Column definitions. Each column name should have a corresponding subspace here. The name of the column should be a property or field name, unless it is a pseudo column like _CWFlags."
+ _Schema,KC_SPACE,0,Column definition schema
+ Width,KC_INT32,0,Width of the column
+ SortIndex,KC_INT32,0,Sort index
+ Flags,KC_INT32,0,Flags (See KHUI_CW_COL_* values)
+ _Schema,KC_ENDSPACE,0
+ Columns,KC_ENDSPACE,0
+ _Schema,KC_ENDSPACE,0,
+ Custom_0,KC_SPACE,0,First custom view. Additional views have names of the form Custom_N
+ Description,KC_STRING,Custom view,
+ ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Name,TimeLeft",
+ Columns,KC_SPACE,0,Columns
+ _CWFlags,KC_SPACE,0,
+ Width,KC_INT32,20,
+ Flags,KC_INT32,112,
+ _CWFlags,KC_ENDSPACE,0,
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,100,
+ SortIndex,KC_INT32,0,
+ Flags,KC_INT32,11,
+ IdentityName,KC_ENDSPACE,0
+ TypeName,KC_SPACE,0
+ Width,KC_INT32,100
+ SortIndex,KC_INT32,1
+ Flags,KC_INT32,11
+ TypeName,KC_ENDSPACE,0
+ Name,KC_SPACE,0
+ Width,KC_INT32,200
+ SortIndex,KC_INT32,2
+ Flags,KC_INT32,3
+ Name,KC_ENDSPACE,0
+ TimeLeft,KC_SPACE,0
+ Width,KC_INT32,200
+ Flags,KC_INT32,1
+ TimeLeft,KC_ENDSPACE,0
+ Columns,KC_ENDSPACE,0
+ Custom_0,KC_ENDSPACE,0,
+ ByIdentity,KC_SPACE,0,The default view
+ Description,KC_STRING,View grouped by identity and credential type,
+ ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Location,Name,TimeLeft",
+ Columns,KC_SPACE,0,Columns
+ _CWFlags,KC_SPACE,0,
+ Width,KC_INT32,20,
+ Flags,KC_INT32,112,
+ _CWFlags,KC_ENDSPACE,0,
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,100,
+ SortIndex,KC_INT32,0,
+ Flags,KC_INT32,11,
+ IdentityName,KC_ENDSPACE,0
+ TypeName,KC_SPACE,0
+ Width,KC_INT32,100
+ SortIndex,KC_INT32,1
+ Flags,KC_INT32,11
+ TypeName,KC_ENDSPACE,0
+ Location,KC_SPACE,0,
+ Width,KC_INT32,50
+ SortIndex,KC_INT32,2
+ Flags,KC_INT32,11
+ Location,KC_ENDSPACE,0,
+ Name,KC_SPACE,0
+ Width,KC_INT32,200
+ SortIndex,KC_INT32,3
+ Flags,KC_INT32,3
+ Name,KC_ENDSPACE,0
+ TimeLeft,KC_SPACE,0
+ Width,KC_INT32,200
+ Flags,KC_INT32,1
+ TimeLeft,KC_ENDSPACE,0
+ Columns,KC_ENDSPACE,0
+ ByIdentity,KC_ENDSPACE,0
+ ByType,KC_SPACE,0,The default view
+ Description,KC_STRING,View grouped by type and identity,
+ ColumnList,KC_STRING,"_CWFlags,TypeName,IdentityName,Name,TimeLeft",
+ Columns,KC_SPACE,0,Columns
+ _CWFlags,KC_SPACE,0,
+ Width,KC_INT32,20,
+ Flags,KC_INT32,112,
+ _CWFlags,KC_ENDSPACE,0,
+ TypeName,KC_SPACE,0
+ Width,KC_INT32,100
+ SortIndex,KC_INT32,0
+ Flags,KC_INT32,11
+ TypeName,KC_ENDSPACE,0
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,100,
+ SortIndex,KC_INT32,1,
+ Flags,KC_INT32,11,
+ IdentityName,KC_ENDSPACE,0
+ Name,KC_SPACE,0
+ Width,KC_INT32,200
+ SortIndex,KC_INT32,2
+ Flags,KC_INT32,3
+ Name,KC_ENDSPACE,0
+ TimeLeft,KC_SPACE,0
+ Width,KC_INT32,200
+ Flags,KC_INT32,1
+ TimeLeft,KC_ENDSPACE,0
+ Columns,KC_ENDSPACE,0
+ ByType,KC_ENDSPACE,0
+ ByLocation,KC_SPACE,0,View by location
+ Description,KC_STRING,View grouped by location,
+ ColumnList,KC_STRING,"_CWFlags,Location,IdentityName,TypeName,Name,TimeLeft",
+ Columns,KC_SPACE,0,Columns
+ _CWFlags,KC_SPACE,0,
+ Width,KC_INT32,20,
+ Flags,KC_INT32,112,
+ _CWFlags,KC_ENDSPACE,0,
+ Location,KC_SPACE,0,
+ Width,KC_INT32,100,
+ SortIndex,KC_INT32,0,
+ Flags,KC_INT32,11,
+ Location,KC_ENDSPACE,0,
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,100,
+ SortIndex,KC_INT32,1,
+ Flags,KC_INT32,11,
+ IdentityName,KC_ENDSPACE,0
+ TypeName,KC_SPACE,0
+ Width,KC_INT32,100
+ SortIndex,KC_INT32,2
+ Flags,KC_INT32,11
+ TypeName,KC_ENDSPACE,0
+ Name,KC_SPACE,0
+ Width,KC_INT32,200
+ SortIndex,KC_INT32,3
+ Flags,KC_INT32,3
+ Name,KC_ENDSPACE,0
+ TimeLeft,KC_SPACE,0
+ Width,KC_INT32,200
+ Flags,KC_INT32,1
+ TimeLeft,KC_ENDSPACE,0
+ Columns,KC_ENDSPACE,0
+ ByLocation,KC_ENDSPACE,0
+ CompactIdentity,KC_SPACE,0,Default Compact View by Identity
+ Description,KC_STRING,Compact view of identities
+ ColumnList,KC_STRING,"IdentityName",
+ ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers
+ NoHeader,KC_INT32,1,Suppress the column header
+ Columns,KC_SPACE,0,
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,415,
+ SortIndex,KC_INT32,0,
+ Flags,KC_INT32,171
+ IdentityName,KC_ENDSPACE,0,
+ Columns,KC_ENDSPACE,0,
+ CompactIdentity,KC_ENDSPACE,0
+ Custom_1,KC_SPACE,0,Default Compact View by Identity
+ Description,KC_STRING,Compact view of identities
+ ColumnList,KC_STRING,"IdentityName",
+ ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers
+ NoHeader,KC_INT32,1,Suppress the column header
+ Columns,KC_SPACE,0,
+ IdentityName,KC_SPACE,0,
+ Width,KC_INT32,415,
+ SortIndex,KC_INT32,0,
+ Flags,KC_INT32,171
+ IdentityName,KC_ENDSPACE,0,
+ Columns,KC_ENDSPACE,0,
+ Custom_1,KC_ENDSPACE,0
+ Views,KC_ENDSPACE,0
+ Notices,KC_SPACE,0,Notices and alerts
+ MinimizeWarning,KC_INT32,1,Show the minimize warning?
+ Notices,KC_ENDSPACE,0
+ Themes,KC_SPACE,0,Color schemes for the credentials display
+ _Schema,KC_SPACE,0,Schema for color schemes
+ ClrSelection,KC_INT32,0,"Background (Selection)"
+ ClrBackground,KC_INT32,0,"Background (Normal)"
+ ClrGray,KC_INT32,0,"Background (Gray)"
+ ClrHeader,KC_INT32,0,"Header (Normal)"
+ ClrHeaderCred,KC_INT32,0,"Header (with credentials)"
+ ClrHeaderWarn,KC_INT32,0,"Header (Warning)"
+ ClrHeaderCrit,KC_INT32,0,"Header (Critical)"
+ ClrHeaderExp,KC_INT32,0,"Header (Expired)"
+ ClrHeaderSel,KC_INT32,0,"Header (Normal, Selected)"
+ ClrHeaderCredSel,KC_INT32,0,"Header (with credentials, Selected)"
+ ClrHeaderWarnSel,KC_INT32,0,"Header (Warning, Selected)"
+ ClrHeaderCritSel,KC_INT32,0,"Header (Critical, Selected)"
+ ClrHeaderExpSel,KC_INT32,0,"Header (Expired, Selected)"
+ ClrHeaderOutline,KC_INT32,0,"Header (Outline color)"
+ ClrText,KC_INT32,0,"Text (Normal)"
+ ClrTextSel,KC_INT32,0,"Text (Selected)"
+ ClrTextHeader,KC_INT32,0,"Text (Header)"
+ ClrTextHeaderSel,KC_INT32,0,"Text (Header, Selected)"
+ ClrTextHeaderGray,KC_INT32,0,"Text (Header, Gray)"
+ ClrTextHeaderGraySel,KC_INT32,0,"Text (Header, Gray, Selected)"
+ _Schema,KC_ENDSPACE,0,
+ Default,KC_SPACE,0,Default color scheme
+ ClrSelection,KC_INT32,"RGB(192,192,192)",
+ ClrBackground,KC_INT32,"RGB(255,255,255)",
+ ClrGray,KC_INT32,"RGB(240,240,240)",
+ ClrHeader,KC_INT32,"RGB(240,240,240)",
+ ClrHeaderCred,KC_INT32,"RGB(184,235,134)",
+ ClrHeaderWarn,KC_INT32,"RGB(235,235,134)",
+ ClrHeaderCrit,KC_INT32,"RGB(235,184,134)",
+ ClrHeaderExp,KC_INT32,"RGB(235,134,134)",
+ ClrHeaderSel,KC_INT32,"RGB(200,200,200)",
+ ClrHeaderCredSel,KC_INT32,"RGB(144,195, 94)",
+ ClrHeaderWarnSel,KC_INT32,"RGB(195,195, 94)",
+ ClrHeaderCritSel,KC_INT32,"RGB(195,144, 94)",
+ ClrHeaderExpSel,KC_INT32,"RGB(195, 94, 94)",
+ ClrHeaderOutline,KC_INT32,"RGB(15,15,15)",
+ ClrText,KC_INT32,"RGB(15,15,15)",
+ ClrTextSel,KC_INT32,"RGB(0,0,0)",
+ ClrTextHeader,KC_INT32,"RGB(15,15,15)",
+ ClrTextHeaderSel,KC_INT32,"RGB(0,0,0)",
+ ClrTextHeaderGray,KC_INT32,"RGB(192,192,192)",
+ ClrTextHeaderGraySel,KC_INT32,"RGB(240,240,240)",
+ Default,KC_ENDSPACE,0
+ Themes,KC_ENDSPACE,0
+CredWindow,KC_ENDSPACE,0