/*
- * 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
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;
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);
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;
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);
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
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 {
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;
}
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);
}
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);
}
}
-Name,Type,Value,Description\r
-CredWindow,KC_SPACE,0,"Options for the credentials window as well as the Network Identity Manager application."\r
- AutoInit,KC_INT32,0,"Boolean. Prompt for new credentials if no credentials are present during startup."\r
- AutoStart,KC_INT32,0,"[PRIVATE] Boolean. Start Network Identity Manager automatically when the current user logs in."\r
- AutoImport,KC_INT32,1,"Boolean. Import credentials from the LSA cache when Network Identity Manager starts."\r
- AutoDetectNet,KC_INT32,1,"Boolean. Automatically detect network connectivity changes."\r
- HideWatermark,KC_INT32,0,"Boolean. Suppress watermark in Credentials display. NOTE: there is no guarantee that this value will exist in future versions."\r
- KeepRunning,KC_INT32,1,"Boolean. Run from the system notification area after the main window is closed."\r
- DefaultView,KC_STRING,ByIdentity,"[PRIVATE] Name of the default view in Advanced mode."\r
- DefaultViewMini,KC_STRING,CompactIdentity,"[PRIVATE] Name of the default view in Basic mode."\r
- PaddingHorizontal,KC_INT32,4,"[PRIVATE]"\r
- PaddingVertical,KC_INT32,2,"[PRIVATE]"\r
- PaddingHeader,KC_INT32,16,"[PRIVATE]"\r
- Monitor,KC_INT32,1,"Boolean. Monitor credentials for expiration and renewal."\r
- DefaultMonitor,KC_INT32,1,"Boolean. This is the default Monitor value that is assigned for new identities."\r
- 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."\r
- WarnThreshold,KC_INT32,900,In seconds\r
- AllowWarn,KC_INT32,1,"Boolean. Enables warning."\r
- CriticalThreshold,KC_INT32,300,In seconds\r
- AllowCritical,KC_INT32,1,Boolean. Enables critical.\r
- AutoRenewThreshold,KC_INT32,600,In seconds\r
- AllowAutoRenew,KC_INT32,1,Boolean.\r
- RenewAtHalfLife,KC_INT32,1,Boolean. Use half-life algorithm for renewals.\r
- DefaultAllowAutoRenew,KC_INT32,1,Default AllowAutoRenew value for new identities\r
- DefaultSticky,KC_INT32,0,Default Sticky value for new identities\r
- MaxThreshold,KC_INT32,86400,Max value for a threshold (1 day)\r
- MinThreshold,KC_INT32,10,Min value for a threshold (0)\r
- LogToFile,KC_INT32,0,Boolean. If true logs trace events to a nidmdbg.log in the temp folder\r
- DestroyCredsOnExit,KC_INT32,0,Boolean. If true; all credentials will be destroyed when NetIDMgr exits.\r
- NotificationAction,KC_INT32,50025,Action to perform when the user clicks on the notification icon.\r
- DefaultWindowMode,KC_INT32,1,(0-normal; 1-mini)\r
- Windows,KC_SPACE,0,Window parameters\r
- _Schema,KC_SPACE,0,Schema\r
- Width,KC_INT32,0,\r
- Height,KC_INT32,0,\r
- XPos,KC_INT32,0,\r
- YPos,KC_INT32,0,\r
- Dock,KC_INT32,0,Dock on window corner (0-none; 1-top left; 2-top right; 3-bottom right; 4-bottom left)\r
- _Schema,KC_ENDSPACE,0,\r
- Main,KC_SPACE,0,Main window\r
- Main,KC_ENDSPACE,0,\r
- MainMini,KC_SPACE,0,Main window (mini mode)\r
- Width,KC_INT32,470,\r
- Height,KC_INT32,500,\r
- Dock,KC_INT32,3,\r
- MainMini,KC_ENDSPACE,0,\r
- NewCred,KC_SPACE,0,New credentials window\r
- ForceToTop,KC_INT32,1,Force new creds window to the top\r
- AnimateSizeChanges,KC_INT32,1,Animate the new creds window when the size needs changing.\r
- AnimationSteps,KC_INT32,7,Number of steps in size-change animation\r
- AnimationStepTimeout,KC_INT32,40,Number of milliseconds to wait between each step of the size-change animation\r
- NewCred,KC_ENDSPACE,0,\r
- Windows,KC_ENDSPACE,0,\r
- Views,KC_SPACE,0,Preconfigured views for credentials\r
- Custom_0,KC_SPACE,0,First custom view. Additional views have names of the form Custom_N\r
- Description,KC_STRING,Custom view,\r
- ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Name,TimeLeft",\r
- Columns,KC_SPACE,0,Columns\r
- _CWFlags,KC_SPACE,0,\r
- Width,KC_INT32,20,\r
- Flags,KC_INT32,112,\r
- _CWFlags,KC_ENDSPACE,0,\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,100,\r
- SortIndex,KC_INT32,0,\r
- Flags,KC_INT32,11,\r
- IdentityName,KC_ENDSPACE,0\r
- TypeName,KC_SPACE,0\r
- Width,KC_INT32,100\r
- SortIndex,KC_INT32,1\r
- Flags,KC_INT32,11\r
- TypeName,KC_ENDSPACE,0\r
- Name,KC_SPACE,0\r
- Width,KC_INT32,200\r
- SortIndex,KC_INT32,2\r
- Flags,KC_INT32,3\r
- Name,KC_ENDSPACE,0\r
- TimeLeft,KC_SPACE,0\r
- Width,KC_INT32,200\r
- Flags,KC_INT32,1\r
- TimeLeft,KC_ENDSPACE,0\r
- Columns,KC_ENDSPACE,0\r
- Custom_0,KC_ENDSPACE,0,\r
- ByIdentity,KC_SPACE,0,The default view\r
- Description,KC_STRING,View grouped by identity and credential type,\r
- ColumnList,KC_STRING,"_CWFlags,IdentityName,TypeName,Location,Name,TimeLeft",\r
- Columns,KC_SPACE,0,Columns\r
- _CWFlags,KC_SPACE,0,\r
- Width,KC_INT32,20,\r
- Flags,KC_INT32,112,\r
- _CWFlags,KC_ENDSPACE,0,\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,100,\r
- SortIndex,KC_INT32,0,\r
- Flags,KC_INT32,11,\r
- IdentityName,KC_ENDSPACE,0\r
- TypeName,KC_SPACE,0\r
- Width,KC_INT32,100\r
- SortIndex,KC_INT32,1\r
- Flags,KC_INT32,11\r
- TypeName,KC_ENDSPACE,0\r
- Location,KC_SPACE,0,\r
- Width,KC_INT32,50\r
- SortIndex,KC_INT32,2\r
- Flags,KC_INT32,11\r
- Location,KC_ENDSPACE,0,\r
- Name,KC_SPACE,0\r
- Width,KC_INT32,200\r
- SortIndex,KC_INT32,3\r
- Flags,KC_INT32,3\r
- Name,KC_ENDSPACE,0\r
- TimeLeft,KC_SPACE,0\r
- Width,KC_INT32,200\r
- Flags,KC_INT32,1\r
- TimeLeft,KC_ENDSPACE,0\r
- Columns,KC_ENDSPACE,0\r
- ByIdentity,KC_ENDSPACE,0\r
- ByType,KC_SPACE,0,The default view\r
- Description,KC_STRING,View grouped by type and identity,\r
- ColumnList,KC_STRING,"_CWFlags,TypeName,IdentityName,Name,TimeLeft",\r
- Columns,KC_SPACE,0,Columns\r
- _CWFlags,KC_SPACE,0,\r
- Width,KC_INT32,20,\r
- Flags,KC_INT32,112,\r
- _CWFlags,KC_ENDSPACE,0,\r
- TypeName,KC_SPACE,0\r
- Width,KC_INT32,100\r
- SortIndex,KC_INT32,0\r
- Flags,KC_INT32,11\r
- TypeName,KC_ENDSPACE,0\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,100,\r
- SortIndex,KC_INT32,1,\r
- Flags,KC_INT32,11,\r
- IdentityName,KC_ENDSPACE,0\r
- Name,KC_SPACE,0\r
- Width,KC_INT32,200\r
- SortIndex,KC_INT32,2\r
- Flags,KC_INT32,3\r
- Name,KC_ENDSPACE,0\r
- TimeLeft,KC_SPACE,0\r
- Width,KC_INT32,200\r
- Flags,KC_INT32,1\r
- TimeLeft,KC_ENDSPACE,0\r
- Columns,KC_ENDSPACE,0\r
- ByType,KC_ENDSPACE,0\r
- ByLocation,KC_SPACE,0,View by location\r
- Description,KC_STRING,View grouped by location,\r
- ColumnList,KC_STRING,"_CWFlags,Location,IdentityName,TypeName,Name,TimeLeft",\r
- Columns,KC_SPACE,0,Columns\r
- _CWFlags,KC_SPACE,0,\r
- Width,KC_INT32,20,\r
- Flags,KC_INT32,112,\r
- _CWFlags,KC_ENDSPACE,0,\r
- Location,KC_SPACE,0,\r
- Width,KC_INT32,100,\r
- SortIndex,KC_INT32,0,\r
- Flags,KC_INT32,11,\r
- Location,KC_ENDSPACE,0,\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,100,\r
- SortIndex,KC_INT32,1,\r
- Flags,KC_INT32,11,\r
- IdentityName,KC_ENDSPACE,0\r
- TypeName,KC_SPACE,0\r
- Width,KC_INT32,100\r
- SortIndex,KC_INT32,2\r
- Flags,KC_INT32,11\r
- TypeName,KC_ENDSPACE,0\r
- Name,KC_SPACE,0\r
- Width,KC_INT32,200\r
- SortIndex,KC_INT32,3\r
- Flags,KC_INT32,3\r
- Name,KC_ENDSPACE,0\r
- TimeLeft,KC_SPACE,0\r
- Width,KC_INT32,200\r
- Flags,KC_INT32,1\r
- TimeLeft,KC_ENDSPACE,0\r
- Columns,KC_ENDSPACE,0\r
- ByLocation,KC_ENDSPACE,0\r
- CompactIdentity,KC_SPACE,0,Default Compact View by Identity\r
- Description,KC_STRING,Compact view of identities\r
- ColumnList,KC_STRING,"IdentityName",\r
- ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers\r
- NoHeader,KC_INT32,1,Suppress the column header\r
- Columns,KC_SPACE,0,\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,415,\r
- SortIndex,KC_INT32,0,\r
- Flags,KC_INT32,171\r
- IdentityName,KC_ENDSPACE,0,\r
- Columns,KC_ENDSPACE,0,\r
- CompactIdentity,KC_ENDSPACE,0\r
- Custom_1,KC_SPACE,0,Default Compact View by Identity\r
- Description,KC_STRING,Compact view of identities\r
- ColumnList,KC_STRING,"IdentityName",\r
- ExpandedIdentity,KC_INT32,1,Use expanded display of identity headers\r
- NoHeader,KC_INT32,1,Suppress the column header\r
- Columns,KC_SPACE,0,\r
- IdentityName,KC_SPACE,0,\r
- Width,KC_INT32,415,\r
- SortIndex,KC_INT32,0,\r
- Flags,KC_INT32,171\r
- IdentityName,KC_ENDSPACE,0,\r
- Columns,KC_ENDSPACE,0,\r
- Custom_1,KC_ENDSPACE,0\r
- Views,KC_ENDSPACE,0\r
- Notices,KC_SPACE,0,Notices and alerts\r
- MinimizeWarning,KC_INT32,1,Show the minimize warning?\r
- Notices,KC_ENDSPACE,0\r
-CredWindow,KC_ENDSPACE,0\r
+#@#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