[0.4.15][SYSSETUP][BOOT][INBV][MSGINA][SDK] Update year to 2025 and set theme using unattend.inf
CORE-19496 All wallpapers that are not in bitmap format will not work on LiveCD. LiveCD has a read-only file system and to apply non bitmap files as wallpapers, we convert them to bitmap when selected as a temporary file. Therefore, only copy non-bitmap wallpapers to BootCD, not LiveCD. Also minor fix to README in the wallpapers folder. This commit includes: - Partial revert ofdc1a4ae9ce[0.4.15][SYSSETUP][BOOT][WALLPAPERS] Set default theme to Mizu and add wallpapers -2e47094764[SYSSETUP] Apply theming from unattend files very early on when booting the LiveCD or a new install (#7797)ebdb7b3e4dA problem has been detected and ReactOS has been shut down to prevent damage to your time machine warp core. -4bc97ad145[BOOTDATA] Arabic, Hong Kong, Singapore, come back! (#7795)
@@ -59,16 +59,12 @@ LocaleID = 409
|
||||
; 1: ReactOS Workstation
|
||||
ProductOption = 0
|
||||
|
||||
; enable this section to automatically launch programs
|
||||
; Enable this section to automatically launch programs
|
||||
; after 3rd boot
|
||||
;
|
||||
; [GuiRunOnce]
|
||||
; %SystemRoot%\system32\cmd.exe
|
||||
; Enable the next line (+ the GuiRunOnce section) to enable the lautus theme
|
||||
; "rundll32.exe shell32.dll,Control_RunDLL desk.cpl desk,@Appearance /Action:ActivateMSTheme /file:%SYSTEMROOT%\Resources\themes\lautus\lautus.msstyles"
|
||||
|
||||
|
||||
; enable this section to change resolution / bpp
|
||||
; Enable this section to change resolution / bpp
|
||||
; setting a value to 0 or skipping it will leave it unchanged
|
||||
; [Display]
|
||||
; BitsPerPel = 32
|
||||
@@ -80,3 +76,7 @@ ProductOption = 0
|
||||
;[Env]
|
||||
;WINETEST_PLATFORM=reactos
|
||||
|
||||
; Enable this section to enable the default ReactOS theme
|
||||
[Shell]
|
||||
DefaultThemesOff = no
|
||||
CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Mizu\mizu.msstyles"
|
||||
|
||||
@@ -1190,25 +1190,27 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Language","InstallLanguage",0x0000000
|
||||
; If you add/uncomment an entry here, please also add the appropriate Language
|
||||
; in the previous section.
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale",,0x00000012
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000401",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000801",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c01",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001001",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001401",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001801",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001c01",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002001",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002401",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002801",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002c01",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003001",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003401",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003801",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003c01",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00004001",0x00000000,""
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000401",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000801",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c01",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001001",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001401",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001801",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001c01",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002001",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002401",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002801",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002c01",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003001",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003401",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003801",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003c01",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00004001",0x00000000,"d"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000402",0x00000000,"5"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000403",0x00000000,"1"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000404",0x00000000,"9"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c04",0x00000000,"9"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001004",0x00000000,"a"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000804",0x00000000,"a"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000405",0x00000000,"2"
|
||||
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000406",0x00000000,"1"
|
||||
|
||||
@@ -11,3 +11,7 @@ UnattendSetupEnabled = no
|
||||
; see hivesys.inf for available languages
|
||||
LocaleID = 409
|
||||
|
||||
; Enable this section to enable the default ReactOS theme
|
||||
[Shell]
|
||||
DefaultThemesOff = no
|
||||
CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Mizu\mizu.msstyles"
|
||||
|
||||
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
@@ -1928,7 +1928,7 @@
|
||||
x="5.59375"
|
||||
y="1047.7255"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#1e2122;fill-opacity:1;font-family:Lucida Sans Unicode;-inkscape-font-specification:Lucida Sans Unicode"
|
||||
id="tspan3618">Copyright © 1996-2024 ReactOS Team & Contributors</tspan></text>
|
||||
id="tspan3618">Copyright © 1996-2025 ReactOS Team & Contributors</tspan></text>
|
||||
<g
|
||||
transform="matrix(0.16958533,0,0,0.16958533,89.849943,981.79073)"
|
||||
id="g15501">
|
||||
|
||||
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
@@ -865,6 +865,61 @@ cleanup:
|
||||
return bConsoleBoot;
|
||||
}
|
||||
|
||||
extern VOID
|
||||
EnableVisualTheme(
|
||||
_In_opt_ HWND hwndParent,
|
||||
_In_opt_ PCWSTR ThemeFile);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
* Pre-process unattended file to apply early settings.
|
||||
*
|
||||
* @param[in] IsInstall
|
||||
* TRUE if this is ReactOS installation, invoked from InstallReactOS(),
|
||||
* FALSE if this is run as part of LiveCD, invoked form InstallLiveCD().
|
||||
**/
|
||||
static VOID
|
||||
PreprocessUnattend(
|
||||
_In_ BOOL IsInstall)
|
||||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
WCHAR szValue[MAX_PATH];
|
||||
BOOL bDefaultThemesOff;
|
||||
|
||||
if (IsInstall)
|
||||
{
|
||||
/* See also wizard.c!ProcessSetupInf()
|
||||
* Retrieve the path of the setup INF */
|
||||
GetSystemDirectoryW(szPath, _countof(szPath));
|
||||
wcscat(szPath, L"\\$winnt$.inf");
|
||||
}
|
||||
else
|
||||
{
|
||||
/* See also userinit/livecd.c!RunLiveCD() */
|
||||
GetWindowsDirectoryW(szPath, _countof(szPath));
|
||||
wcscat(szPath, L"\\unattend.inf");
|
||||
}
|
||||
|
||||
/*
|
||||
* Apply initial default theming
|
||||
*/
|
||||
|
||||
/* Check whether to use the classic theme (TRUE) instead of the default theme */
|
||||
bDefaultThemesOff = FALSE;
|
||||
if (GetPrivateProfileStringW(L"Shell", L"DefaultThemesOff", L"no", szValue, _countof(szValue), szPath) && *szValue)
|
||||
bDefaultThemesOff = (_wcsicmp(szValue, L"yes") == 0);
|
||||
|
||||
if (!bDefaultThemesOff)
|
||||
{
|
||||
/* Retrieve the complete path to a .theme (or for ReactOS, a .msstyles) file */
|
||||
if (!GetPrivateProfileStringW(L"Shell", L"CustomDefaultThemeFile", NULL, szValue, _countof(szValue), szPath) || !*szValue)
|
||||
bDefaultThemesOff = TRUE; // None specified, fall back to the classic theme.
|
||||
}
|
||||
|
||||
/* Enable the chosen theme, or use the classic theme */
|
||||
EnableVisualTheme(NULL, bDefaultThemesOff ? NULL : szValue);
|
||||
}
|
||||
|
||||
static BOOL
|
||||
CommonInstall(VOID)
|
||||
{
|
||||
@@ -887,7 +942,7 @@ CommonInstall(VOID)
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if(!InstallSysSetupInfComponents())
|
||||
if (!InstallSysSetupInfComponents())
|
||||
{
|
||||
FatalError("InstallSysSetupInfComponents() failed!\n");
|
||||
goto Exit;
|
||||
@@ -918,7 +973,6 @@ CommonInstall(VOID)
|
||||
bResult = TRUE;
|
||||
|
||||
Exit:
|
||||
|
||||
if (bResult == FALSE)
|
||||
{
|
||||
SetupCloseInfFile(hSysSetupInf);
|
||||
@@ -942,6 +996,7 @@ InstallLiveCD(VOID)
|
||||
PROCESS_INFORMATION ProcessInformation;
|
||||
BOOL bRes;
|
||||
|
||||
PreprocessUnattend(FALSE);
|
||||
if (!CommonInstall())
|
||||
goto error;
|
||||
|
||||
@@ -1461,6 +1516,7 @@ InstallReactOS(VOID)
|
||||
|
||||
hHotkeyThread = CreateThread(NULL, 0, HotkeyThread, NULL, 0, NULL);
|
||||
|
||||
PreprocessUnattend(TRUE);
|
||||
if (!CommonInstall())
|
||||
return 0;
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
@@ -79,7 +79,6 @@ typedef struct _TIMEZONE_ENTRY
|
||||
|
||||
extern void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DWORD nCmdShow);
|
||||
|
||||
|
||||
static VOID
|
||||
CenterWindow(HWND hWnd)
|
||||
{
|
||||
@@ -214,67 +213,6 @@ GplDlgProc(HWND hwndDlg,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL
|
||||
RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters)
|
||||
{
|
||||
MSG msg;
|
||||
HWND MainWindow = GetParent(hwnd);
|
||||
STARTUPINFOW StartupInfo;
|
||||
PROCESS_INFORMATION ProcessInformation;
|
||||
WCHAR CmdLine[MAX_PATH] = L"rundll32.exe shell32.dll,Control_RunDLL ";
|
||||
|
||||
if (!pwszCPLParameters)
|
||||
{
|
||||
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
|
||||
StartupInfo.cb = sizeof(StartupInfo);
|
||||
ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
|
||||
|
||||
ASSERT(_countof(CmdLine) > wcslen(CmdLine) + wcslen(pwszCPLParameters));
|
||||
wcscat(CmdLine, pwszCPLParameters);
|
||||
|
||||
if (!CreateProcessW(NULL,
|
||||
CmdLine,
|
||||
NULL,
|
||||
NULL,
|
||||
FALSE,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
&StartupInfo,
|
||||
&ProcessInformation))
|
||||
{
|
||||
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Disable the Back and Next buttons and the main window
|
||||
* while we're interacting with the control panel applet */
|
||||
PropSheet_SetWizButtons(MainWindow, 0);
|
||||
EnableWindow(MainWindow, FALSE);
|
||||
|
||||
while ((MsgWaitForMultipleObjects(1, &ProcessInformation.hProcess, FALSE, INFINITE, QS_ALLINPUT|QS_ALLPOSTMESSAGE )) != WAIT_OBJECT_0)
|
||||
{
|
||||
/* We still need to process main window messages to avoid freeze */
|
||||
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageW(&msg);
|
||||
}
|
||||
}
|
||||
CloseHandle(ProcessInformation.hThread);
|
||||
CloseHandle(ProcessInformation.hProcess);
|
||||
|
||||
/* Enable the Back and Next buttons and the main window again */
|
||||
PropSheet_SetWizButtons(MainWindow, PSWIZB_BACK | PSWIZB_NEXT);
|
||||
EnableWindow(MainWindow, TRUE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
WelcomeDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
@@ -317,16 +255,6 @@ WelcomeDlgProc(HWND hwndDlg,
|
||||
(WPARAM)pSetupData->hTitleFont,
|
||||
(LPARAM)TRUE);
|
||||
|
||||
/* HACK: Set Mizu as default theme (0.4.15)
|
||||
* TODO: Let's have a better way of doing this on future releases.
|
||||
*/
|
||||
WCHAR wszParams[1024];
|
||||
WCHAR wszTheme[MAX_PATH];
|
||||
WCHAR* format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
|
||||
|
||||
SHGetFolderPathAndSubDirW(0, CSIDL_RESOURCES, NULL, SHGFP_TYPE_DEFAULT, L"Themes\\Mizu\\mizu.msstyles", wszTheme);
|
||||
swprintf(wszParams, format, wszTheme);
|
||||
RunControlPanelApplet(hwndDlg, wszParams);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1398,6 +1326,152 @@ SetKeyboardLayoutName(HWND hwnd)
|
||||
SetWindowTextW(hwnd, LayoutPath);
|
||||
}
|
||||
|
||||
|
||||
static BOOL
|
||||
RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters)
|
||||
{
|
||||
MSG msg;
|
||||
HWND MainWindow = GetParent(hwnd);
|
||||
STARTUPINFOW StartupInfo;
|
||||
PROCESS_INFORMATION ProcessInformation;
|
||||
WCHAR CmdLine[MAX_PATH] = L"rundll32.exe shell32.dll,Control_RunDLL ";
|
||||
|
||||
if (!pwszCPLParameters)
|
||||
{
|
||||
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
|
||||
StartupInfo.cb = sizeof(StartupInfo);
|
||||
ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
|
||||
|
||||
ASSERT(_countof(CmdLine) > wcslen(CmdLine) + wcslen(pwszCPLParameters));
|
||||
wcscat(CmdLine, pwszCPLParameters);
|
||||
|
||||
if (!CreateProcessW(NULL,
|
||||
CmdLine,
|
||||
NULL,
|
||||
NULL,
|
||||
FALSE,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
&StartupInfo,
|
||||
&ProcessInformation))
|
||||
{
|
||||
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Disable the Back and Next buttons and the main window
|
||||
* while we're interacting with the control panel applet */
|
||||
PropSheet_SetWizButtons(MainWindow, 0);
|
||||
EnableWindow(MainWindow, FALSE);
|
||||
|
||||
while ((MsgWaitForMultipleObjects(1, &ProcessInformation.hProcess, FALSE, INFINITE, QS_ALLINPUT|QS_ALLPOSTMESSAGE )) != WAIT_OBJECT_0)
|
||||
{
|
||||
/* We still need to process main window messages to avoid freeze */
|
||||
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageW(&msg);
|
||||
}
|
||||
}
|
||||
CloseHandle(ProcessInformation.hThread);
|
||||
CloseHandle(ProcessInformation.hProcess);
|
||||
|
||||
/* Enable the Back and Next buttons and the main window again */
|
||||
PropSheet_SetWizButtons(MainWindow, PSWIZB_BACK | PSWIZB_NEXT);
|
||||
EnableWindow(MainWindow, TRUE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EnableVisualTheme(
|
||||
_In_opt_ HWND hwndParent,
|
||||
_In_opt_ PCWSTR ThemeFile)
|
||||
{
|
||||
enum { THEME_FILE, STYLE_FILE, UNKNOWN } fType;
|
||||
WCHAR szPath[MAX_PATH]; // Expanded path of the file to use.
|
||||
WCHAR szStyleFile[MAX_PATH];
|
||||
|
||||
fType = THEME_FILE; // Default to Classic theme.
|
||||
if (ThemeFile)
|
||||
{
|
||||
/* Expand the path if possible */
|
||||
if (ExpandEnvironmentStringsW(ThemeFile, szPath, _countof(szPath)) != 0)
|
||||
ThemeFile = szPath;
|
||||
|
||||
/* Determine the file type from its extension */
|
||||
fType = UNKNOWN; {
|
||||
PCWSTR pszExt = wcsrchr(ThemeFile, L'.'); // PathFindExtensionW(ThemeFile);
|
||||
if (pszExt)
|
||||
{
|
||||
if (_wcsicmp(pszExt, L".theme") == 0)
|
||||
fType = THEME_FILE;
|
||||
else if (_wcsicmp(pszExt, L".msstyles") == 0)
|
||||
fType = STYLE_FILE;
|
||||
} }
|
||||
if (fType == UNKNOWN)
|
||||
{
|
||||
DPRINT1("EnableVisualTheme(): Unknown file '%S'\n", ThemeFile);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
DPRINT1("Applying visual %s '%S'\n",
|
||||
(fType == THEME_FILE) ? "theme" : "style",
|
||||
ThemeFile ? ThemeFile : L"(Classic)");
|
||||
|
||||
//
|
||||
// TODO: Use instead uxtheme!SetSystemVisualStyle() once it is implemented,
|
||||
// https://stackoverflow.com/a/1036903
|
||||
// https://pinvoke.net/default.aspx/uxtheme.SetSystemVisualStyle
|
||||
// or ApplyTheme(NULL, 0, NULL) for restoring the classic theme.
|
||||
//
|
||||
// NOTE: The '/Action:ActivateMSTheme' is ReactOS-specific.
|
||||
//
|
||||
|
||||
if (ThemeFile && (fType == THEME_FILE))
|
||||
{
|
||||
/* Retrieve the visual style specified in the theme file.
|
||||
* If none, fall back to the classic theme. */
|
||||
if (GetPrivateProfileStringW(L"VisualStyles", L"Path", NULL,
|
||||
szStyleFile, _countof(szStyleFile), ThemeFile) && *szStyleFile)
|
||||
{
|
||||
/* Expand the path if possible */
|
||||
ThemeFile = szStyleFile;
|
||||
if (ExpandEnvironmentStringsW(ThemeFile, szPath, _countof(szPath)) != 0)
|
||||
ThemeFile = szPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
ThemeFile = NULL;
|
||||
}
|
||||
|
||||
DPRINT1("--> Applying visual style '%S'\n",
|
||||
ThemeFile ? ThemeFile : L"(Classic)");
|
||||
}
|
||||
|
||||
if (ThemeFile)
|
||||
{
|
||||
WCHAR wszParams[1024];
|
||||
// FIXME: L"desk.cpl desk,@Appearance" regression, see commit 50d260a7f0
|
||||
PCWSTR format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
|
||||
|
||||
StringCchPrintfW(wszParams, _countof(wszParams), format, ThemeFile);
|
||||
RunControlPanelApplet(hwndParent, wszParams);
|
||||
}
|
||||
else
|
||||
{
|
||||
RunControlPanelApplet(hwndParent, L"desk.cpl,,2 /Action:ActivateMSTheme");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static VOID
|
||||
WriteUserLocale(VOID)
|
||||
{
|
||||
@@ -1958,13 +2032,14 @@ ThemePageDlgProc(HWND hwndDlg,
|
||||
|
||||
/* Register the imagelist */
|
||||
ListView_SetImageList(hListView, himl, LVSIL_NORMAL);
|
||||
/* Transparant background */
|
||||
/* Transparent background */
|
||||
ListView_SetBkColor(hListView, CLR_NONE);
|
||||
ListView_SetTextBkColor(hListView, CLR_NONE);
|
||||
/* Reduce the size between the items */
|
||||
ListView_SetIconSpacing(hListView, 190, 173);
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_NOTIFY:
|
||||
switch (((LPNMHDR)lParam)->code)
|
||||
{
|
||||
@@ -1978,17 +2053,13 @@ ThemePageDlgProc(HWND hwndDlg,
|
||||
|
||||
if (Themes[iTheme].ThemeFile)
|
||||
{
|
||||
WCHAR wszParams[1024];
|
||||
WCHAR wszTheme[MAX_PATH];
|
||||
WCHAR* format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
|
||||
|
||||
SHGetFolderPathAndSubDirW(0, CSIDL_RESOURCES, NULL, SHGFP_TYPE_DEFAULT, Themes[iTheme].ThemeFile, wszTheme);
|
||||
swprintf(wszParams, format, wszTheme);
|
||||
RunControlPanelApplet(hwndDlg, wszParams);
|
||||
EnableVisualTheme(hwndDlg, wszTheme);
|
||||
}
|
||||
else
|
||||
{
|
||||
RunControlPanelApplet(hwndDlg, L"desk.cpl,,2 /Action:ActivateMSTheme");
|
||||
EnableVisualTheme(hwndDlg, Themes[iTheme].ThemeFile);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis Dark.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Deep Sea.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis Dark.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Deep Sea.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Grass.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Polarlicht.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Dark.png" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Light.png" DESTINATION reactos/Web/Wallpaper FOR all)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Grass.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Polarlicht.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Dark.png" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Light.png" DESTINATION reactos/Web/Wallpaper FOR bootcd)
|
||||
|
||||
@@ -6,7 +6,7 @@ Wallpapers
|
||||
|-------------------------------|-----------------------------------------------|--------------------------------------------------------|
|
||||
| Borealis Dark.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
|
||||
| Borealis.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
|
||||
| Deep Sea.bmp | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
|
||||
| Deep Sea.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
|
||||
| Grass.jpg | Public domain | https://jira.reactos.org/browse/CORE-8446 |
|
||||
| Mizu (16x9).bmp | Forum user "Foxlet" (foxlet@furcode.co) | https://jira.reactos.org/browse/CORE-15783 |
|
||||
| Mizu (4x3).bmp | Forum user "Foxlet" (foxlet@furcode.co) | https://jira.reactos.org/browse/CORE-15783 |
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -9,7 +9,7 @@ endif()
|
||||
set(KERNEL_VERSION_MAJOR "0")
|
||||
set(KERNEL_VERSION_MINOR "4")
|
||||
set(KERNEL_VERSION_PATCH_LEVEL "15")
|
||||
set(COPYRIGHT_YEAR "2024")
|
||||
set(COPYRIGHT_YEAR "2025")
|
||||
|
||||
# KERNEL_VERSION_BUILD_TYPE is "dev" for Git builds
|
||||
# or "RC1", "RC2", "" for releases.
|
||||
|
||||