├── DirectDesktop ├── pch.cpp ├── DUser.lib ├── dui70.lib ├── small.ico ├── DirectDesktop.ico ├── DirectDesktop.rc ├── Everything64.lib ├── build_timestamp.h ├── ImageResources │ ├── 1001.png │ ├── 1002.png │ ├── 1003.png │ ├── 1004.png │ ├── 1005.png │ ├── 1006.png │ ├── 1007.png │ ├── 1008.png │ ├── 1009.png │ ├── 1010.png │ ├── 1011.png │ ├── 1012.png │ ├── 1013.png │ ├── 1014.png │ ├── 1015.png │ ├── 1016.png │ ├── 1017.png │ ├── 1018.png │ ├── 1019.png │ ├── 1020.png │ ├── 1021.png │ ├── 1029.png │ ├── 1030.png │ ├── 1031.png │ ├── 1032.png │ ├── 1033.png │ ├── 1034.png │ ├── 1035.png │ ├── 1036.png │ ├── 1037.png │ ├── 1038.png │ ├── 1039.png │ ├── 1040.png │ ├── 1041.png │ ├── 1042.png │ ├── 1043.png │ ├── 1044.png │ ├── 1045.png │ ├── 1046.png │ ├── 1047.png │ ├── 1048.png │ ├── 1049.png │ ├── 1050.png │ ├── 1051.png │ ├── 1052.png │ ├── 1053.png │ ├── 1054.png │ ├── 1055.png │ ├── 1056.png │ ├── 1057.png │ ├── 1058.png │ ├── 1059.png │ ├── 1060.png │ ├── 1061.png │ ├── 1062.png │ ├── 1063.png │ ├── 1064.png │ ├── 1065.png │ ├── 1066.png │ ├── 1067.png │ ├── 1068.png │ ├── 1069.png │ ├── 1070.png │ ├── 1071.png │ ├── 1072.png │ ├── 1073.png │ ├── 1074.png │ ├── 1075.png │ ├── 1076.png │ ├── 1077.png │ ├── 1078.png │ ├── 1079.png │ ├── 1080.png │ ├── 1081.png │ ├── 1082.png │ ├── 1083.png │ ├── 1084.png │ ├── 1085.png │ ├── 1086.png │ ├── 1087.png │ ├── 1088.png │ ├── 1089.png │ ├── 1090.png │ ├── 1091.png │ ├── 1092.png │ ├── 1093.png │ ├── 1094.png │ ├── 1095.png │ ├── 1096.png │ ├── 1097.png │ ├── 1098.png │ ├── 1099.png │ ├── 1100.png │ ├── 1101.png │ ├── 1102.png │ ├── 1103.png │ ├── 1104.png │ ├── 1105.png │ ├── 2001.png │ ├── 2002.png │ ├── 2003.png │ ├── 2004.png │ ├── 2005.png │ ├── 2006.png │ ├── 2007.png │ ├── 2008.png │ ├── 2009.png │ ├── 2010.png │ ├── 2011.png │ ├── 2012.png │ ├── 2013.png │ ├── 2014.png │ ├── 2015.png │ ├── 2016.png │ ├── 2017.png │ ├── 2018.png │ ├── 2019.png │ ├── 2020.png │ ├── 2021.png │ ├── 2029.png │ ├── 2030.png │ ├── 2031.png │ ├── 2032.png │ ├── 2033.png │ ├── 2034.png │ ├── 2035.png │ ├── 2036.png │ ├── 2037.png │ ├── 2038.png │ ├── 2039.png │ ├── 2040.png │ ├── 2041.png │ ├── 2042.png │ ├── 2043.png │ ├── 2044.png │ ├── 2045.png │ ├── 2046.png │ ├── 2047.png │ ├── 2048.png │ ├── 2049.png │ ├── 2050.png │ ├── 2051.png │ ├── 2052.png │ ├── 2053.png │ ├── 2054.png │ ├── 2055.png │ ├── 2056.png │ ├── 2057.png │ ├── 2058.png │ ├── 2059.png │ ├── 2060.png │ ├── 2061.png │ ├── 2062.png │ ├── 2063.png │ ├── 2064.png │ ├── 2065.png │ ├── 2066.png │ ├── 2067.png │ ├── 2068.png │ ├── 2069.png │ ├── 2070.png │ ├── 2071.png │ ├── 2072.png │ ├── 2073.png │ ├── 2074.png │ ├── 2075.png │ ├── 2076.png │ ├── 2077.png │ ├── 2078.png │ ├── 2079.png │ ├── 2080.png │ ├── 2081.png │ ├── 2082.png │ ├── 2083.png │ ├── 2084.png │ ├── 2085.png │ ├── 2086.png │ ├── 2087.png │ ├── 2088.png │ ├── 2089.png │ ├── 2090.png │ ├── 2091.png │ ├── 2092.png │ ├── 2093.png │ ├── 2094.png │ ├── 2095.png │ ├── 2096.png │ ├── 2097.png │ ├── 2098.png │ ├── 2099.png │ ├── 2100.png │ ├── 2101.png │ ├── 2102.png │ ├── 2103.png │ ├── 2104.png │ ├── 2105.png │ ├── 3001.png │ ├── 3002.png │ ├── 3003.png │ ├── 3004.png │ ├── 3005.png │ ├── 3006.png │ ├── 3007.png │ ├── 3008.png │ ├── 3009.png │ ├── 3010.png │ ├── 3011.png │ ├── 3012.png │ ├── 3013.png │ ├── 3014.png │ ├── 3015.png │ ├── 3016.png │ ├── 3024.png │ ├── 3025.png │ ├── 3026.png │ ├── 3027.png │ ├── 3028.png │ ├── 3029.png │ ├── 3030.png │ ├── 3031.png │ ├── 3032.png │ ├── 3033.png │ ├── 3034.png │ ├── 3035.png │ ├── 3036.png │ ├── 3037.png │ ├── 3038.png │ ├── 3039.png │ ├── 3040.png │ ├── 3041.png │ ├── 3042.png │ ├── 3043.png │ ├── 3044.png │ ├── 3045.png │ ├── 3046.png │ ├── 3047.png │ ├── 3048.png │ ├── 3049.png │ ├── 3050.png │ ├── 3051.png │ ├── 3052.png │ ├── 3053.png │ ├── 3054.png │ ├── 3055.png │ ├── 3056.png │ ├── 3057.png │ ├── 3058.png │ ├── 3059.png │ ├── 3060.png │ ├── 3061.png │ ├── 3062.png │ ├── 3063.png │ ├── 3064.png │ ├── 3065.png │ ├── 11101.png │ ├── 11102.png │ ├── 11103.png │ ├── 11104.png │ ├── 11105.png │ ├── 11106.png │ ├── 11107.png │ ├── 11108.png │ ├── 11109.png │ ├── 11110.png │ ├── 11111.png │ ├── 11112.png │ ├── 11113.png │ ├── 11114.png │ ├── 11201.png │ ├── 11202.png │ ├── 11203.png │ ├── 11204.png │ ├── 11205.png │ ├── 11206.png │ ├── 11207.png │ ├── 11208.png │ ├── 11209.png │ ├── 11210.png │ ├── 11211.png │ ├── 11212.png │ ├── 11213.png │ ├── 11214.png │ ├── 11301.png │ ├── 11302.png │ ├── 11303.png │ ├── 11304.png │ ├── 11305.png │ ├── 11306.png │ ├── 11307.png │ ├── 11308.png │ ├── 11309.png │ ├── 11310.png │ ├── 11311.png │ ├── 11312.png │ ├── 11313.png │ ├── 11314.png │ ├── 11401.png │ ├── 11402.png │ ├── 11403.png │ ├── 11404.png │ ├── 11405.png │ ├── 11406.png │ └── 11407.png ├── build_timestamp.ps1 ├── targetver.h ├── coreui │ ├── ColorHelper.h │ ├── AccentColorHelper.h │ ├── BitmapHelper.h │ ├── StyleModifier.h │ ├── AnimationHelper.h │ ├── AccentColorHelper.cpp │ ├── ImmersiveColor.h │ ├── ColorHelper.cpp │ ├── cdpa.h │ └── BlurCore.h ├── pch.h ├── backend │ ├── Logger.h │ ├── ContextMenus.h │ ├── RenameCore.h │ ├── Logger.cpp │ ├── DirectoryHelper.h │ ├── SettingsHelper.h │ ├── EverythingSearch │ │ └── Everything64.def │ └── SettingsHelper.cpp ├── ui │ ├── SearchPage.h │ ├── ShutdownDialog.h │ ├── EditMode.h │ ├── Subview.h │ ├── search.xml │ ├── shutdown.xml │ ├── SearchPage.cpp │ └── uifile.xml ├── framework.h ├── DirectDesktop.manifest ├── DirectDesktop.h └── resource.h ├── .gitmodules ├── .gitattributes ├── DirectDesktop.sln └── .gitignore /DirectDesktop/pch.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" -------------------------------------------------------------------------------- /DirectDesktop/DUser.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/DUser.lib -------------------------------------------------------------------------------- /DirectDesktop/dui70.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/dui70.lib -------------------------------------------------------------------------------- /DirectDesktop/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/small.ico -------------------------------------------------------------------------------- /DirectDesktop/DirectDesktop.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/DirectDesktop.ico -------------------------------------------------------------------------------- /DirectDesktop/DirectDesktop.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/DirectDesktop.rc -------------------------------------------------------------------------------- /DirectDesktop/Everything64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/Everything64.lib -------------------------------------------------------------------------------- /DirectDesktop/build_timestamp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/build_timestamp.h -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1001.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1002.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1003.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1004.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1005.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1006.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1007.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1008.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1009.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1010.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1011.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1012.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1013.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1014.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1015.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1016.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1017.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1018.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1019.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1020.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1021.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1029.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1030.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1031.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1032.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1033.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1034.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1035.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1036.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1037.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1038.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1039.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1040.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1041.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1042.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1043.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1044.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1045.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1046.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1047.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1048.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1049.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1050.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1051.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1052.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1053.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1054.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1055.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1056.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1057.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1058.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1059.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1060.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1061.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1062.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1063.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1064.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1065.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1066.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1067.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1068.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1069.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1070.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1071.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1072.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1073.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1074.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1075.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1076.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1077.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1077.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1078.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1079.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1079.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1080.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1081.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1082.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1082.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1083.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1083.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1084.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1084.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1085.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1085.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1086.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1087.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1088.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1089.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1090.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1091.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1091.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1092.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1092.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1093.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1094.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1094.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1095.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1096.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1097.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1097.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1098.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1098.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1099.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1100.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1101.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1102.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1103.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1104.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/1105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/1105.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2001.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2002.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2003.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2004.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2005.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2006.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2007.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2008.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2009.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2010.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2011.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2012.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2013.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2014.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2015.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2016.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2017.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2018.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2019.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2020.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2021.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2029.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2030.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2031.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2032.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2033.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2034.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2035.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2036.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2037.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2038.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2039.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2040.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2041.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2042.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2043.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2044.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2045.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2046.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2047.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2048.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2049.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2050.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2051.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2052.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2053.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2054.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2055.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2056.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2057.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2058.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2059.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2060.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2061.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2062.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2063.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2064.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2065.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2066.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2067.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2068.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2069.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2070.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2071.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2072.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2073.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2074.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2075.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2076.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2077.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2077.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2078.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2079.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2079.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2080.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2081.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2082.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2082.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2083.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2083.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2084.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2084.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2085.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2085.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2086.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2087.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2088.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2089.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2090.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2091.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2091.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2092.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2092.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2093.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2094.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2094.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2095.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2096.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2097.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2097.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2098.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2098.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2099.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2100.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2101.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2102.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2103.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2104.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/2105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/2105.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3001.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3002.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3003.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3004.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3005.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3006.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3007.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3008.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3009.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3010.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3011.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3012.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3013.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3014.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3015.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3016.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3024.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3025.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3026.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3027.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3028.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3029.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3030.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3031.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3032.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3033.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3034.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3035.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3036.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3037.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3038.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3039.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3040.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3041.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3042.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3043.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3044.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3045.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3046.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3047.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3048.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3049.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3050.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3051.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3052.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3053.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3054.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3055.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3056.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3057.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3058.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3059.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3060.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3061.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3062.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3063.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3064.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/3065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/3065.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11101.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11102.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11103.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11104.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11105.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11106.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11107.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11108.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11109.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11110.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11111.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11112.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11113.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11114.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11201.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11202.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11203.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11203.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11204.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11204.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11205.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11205.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11206.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11206.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11207.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11207.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11208.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11209.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11209.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11210.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11211.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11211.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11212.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11212.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11213.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11213.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11214.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11214.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11301.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11301.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11302.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11302.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11303.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11303.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11304.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11304.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11305.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11305.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11306.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11306.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11307.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11307.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11308.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11308.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11309.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11309.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11310.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11311.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11312.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11312.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11313.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11314.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11314.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11401.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11401.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11402.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11402.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11403.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11404.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11405.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11405.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11406.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11406.png -------------------------------------------------------------------------------- /DirectDesktop/ImageResources/11407.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WinExperiments/DirectDesktop/HEAD/DirectDesktop/ImageResources/11407.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "DirectDesktop/Include/dui70"] 2 | path = DirectDesktop/Include/dui70 3 | url = https://github.com/world-windows-federation/dui70 4 | -------------------------------------------------------------------------------- /DirectDesktop/build_timestamp.ps1: -------------------------------------------------------------------------------- 1 | $compiledate = (Get-Date).ToUniversalTime().ToString('yyyy-MM-dd') 2 | $compiletime = (Get-Date).ToUniversalTime().ToString('yyMMdd-HHmm') 3 | 4 | @" 5 | #define BUILD_DATE L`"$compiledate`" 6 | #define BUILD_TIMESTAMP L`"$compiletime`" 7 | "@ | Out-File -FilePath "$PSScriptRoot\build_timestamp.h" -Encoding Unicode -------------------------------------------------------------------------------- /DirectDesktop/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // // Including SDKDDKVer.h defines the highest available Windows platform. 4 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 5 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 6 | #include 7 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/ColorHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectDesktop 4 | { 5 | DWORD rgb2bgr(COLORREF rgb); 6 | 7 | struct rgb_t 8 | { 9 | double r{}, g{}, b{}; 10 | }; 11 | 12 | struct hsl_t 13 | { 14 | double h{}, s{}, l{}; 15 | }; 16 | 17 | hsl_t rgb2hsl(rgb_t in); 18 | rgb_t hsl2rgb(hsl_t in); 19 | } 20 | -------------------------------------------------------------------------------- /DirectDesktop/pch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "framework.h" 4 | #include "resource.h" 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #include "Include\dui70\DirectUI\DirectUI.h" 13 | #include "Include\dui70\DUser\DUser.h" 14 | 15 | #include 16 | #include 17 | #include 18 | #include -------------------------------------------------------------------------------- /DirectDesktop/coreui/AccentColorHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ColorHelper.h" 4 | 5 | namespace DirectDesktop 6 | { 7 | extern COLORREF g_dwAccent; 8 | extern hsl_t g_hslAccent; 9 | extern int g_hslLightAccentH; 10 | extern int g_hslDarkAccentH; 11 | extern double g_hslEnhancedAccentL; 12 | extern double g_oldhslEnhancedAccentL; 13 | 14 | bool UpdateAccentColor(COLORREF crKey); 15 | } 16 | -------------------------------------------------------------------------------- /DirectDesktop/backend/Logger.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | using namespace std; 6 | 7 | namespace DirectDesktop 8 | { 9 | class Logger 10 | { 11 | public: 12 | ~Logger(); 13 | 14 | void StartLogger(const wchar_t* filename); 15 | 16 | void WriteLine(wstring line); 17 | void WriteLine(wstring line, int exitCode); 18 | 19 | private: 20 | wfstream logfile; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /DirectDesktop/ui/SearchPage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectDesktop 4 | { 5 | extern HWND g_hWndTaskbar; 6 | extern DirectUI::Element* UIContainer; 7 | extern bool g_theme; 8 | extern bool g_searchopen; 9 | extern DirectUI::DUIXmlParser* parser; 10 | 11 | extern DirectUI::NativeHWNDHost* wnd; 12 | extern DirectUI::NativeHWNDHost* searchwnd; 13 | void CreateSearchPage(bool WinAltQ); 14 | void DestroySearchPage(); 15 | } 16 | -------------------------------------------------------------------------------- /DirectDesktop/ui/ShutdownDialog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #pragma warning(disable:6258) 3 | #pragma warning(disable:28159) 4 | 5 | using namespace std; 6 | using namespace DirectUI; 7 | 8 | namespace DirectDesktop 9 | { 10 | extern DWORD shutdownReason; 11 | extern NativeHWNDHost* wnd; 12 | extern NativeHWNDHost* shutdownwnd; 13 | extern int g_dpi, g_dpiLaunch; 14 | extern bool g_dialogopen; 15 | extern bool g_theme; 16 | extern bool delayedshutdownstatuses[6]; 17 | 18 | void DisplayShutdownDialog(); 19 | void DestroyShutdownDialog(); 20 | } 21 | -------------------------------------------------------------------------------- /DirectDesktop/framework.h: -------------------------------------------------------------------------------- 1 | // header.h : include file for standard system include files, 2 | // or project specific include files 3 | // 4 | 5 | #pragma once 6 | 7 | #include "targetver.h" 8 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 9 | // Windows Header Files 10 | #include 11 | // C RunTime Header Files 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | // Use HINST_THISCOMPONENT for futureproofing in case DirectDesktop becomes a DLL 18 | EXTERN_C IMAGE_DOS_HEADER __ImageBase; 19 | #define HINST_THISCOMPONENT ((HINSTANCE)&__ImageBase) 20 | -------------------------------------------------------------------------------- /DirectDesktop/backend/ContextMenus.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define MIN_SHELL_ID 10000 4 | #define MAX_SHELL_ID 30000 5 | 6 | using namespace DirectUI; 7 | 8 | namespace DirectDesktop 9 | { 10 | extern void InitLayout(bool animation, bool fResetUIState, bool bAlreadyOpen); 11 | extern void RearrangeIcons(bool animation, bool reloadicons, bool bAlreadyOpen); 12 | extern bool g_hiddenIcons; 13 | extern bool g_touchmode; 14 | extern int localeType; 15 | extern NativeHWNDHost* wnd; 16 | 17 | 18 | void SetView(int iconsz, int shiconsz, int gpiconsz, bool touch); 19 | void DesktopRightClick(Element* elem, Event* iev); 20 | void ItemRightClick(Element* elem, Event* iev); 21 | } 22 | -------------------------------------------------------------------------------- /DirectDesktop/backend/RenameCore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "..\ui\DDControls.h" 4 | 5 | using namespace DirectUI; 6 | 7 | namespace DirectDesktop 8 | { 9 | extern bool g_renameactive; 10 | extern bool g_touchmode; 11 | extern std::vector pm; 12 | extern std::wstring RemoveQuotes(const std::wstring& input); 13 | extern int localeType; 14 | extern Element* pMain; 15 | extern Element* UIContainer; 16 | extern DUIXmlParser* parser; 17 | extern NativeHWNDHost* wnd; 18 | extern void SelectItemListener(Element* elem, const PropertyInfo* pProp, int type, Value* pV1, Value* pV2); 19 | 20 | template 21 | extern elemType regElem(const wchar_t* elemName, Element* peParent); 22 | 23 | void ShowRename(); 24 | } 25 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/BitmapHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define DT_LVICON (DT_WORDBREAK | DT_NOFULLWIDTHCHARBREAK | DT_NOPREFIX | DT_EDITCONTROL) 4 | 5 | namespace DirectDesktop 6 | { 7 | typedef void (*BitmapPixelHandler)(int& r, int& g, int& b, int& a, COLORREF& crOpt); 8 | 9 | bool IterateBitmap(HBITMAP hbm, BitmapPixelHandler handler, int type, unsigned int blurradius, float alpha, COLORREF crOpt); 10 | bool AddPaddingToBitmap(HBITMAP hOriginalBitmap, HBITMAP& hNewBitmap, int pL, int pT, int pR, int pB); 11 | bool CaptureWallpaperFromProgman(HBITMAP& hBitmap, RECT rc); 12 | bool CreateTextBitmap(HBITMAP& hBitmap, LPCWSTR text, int width, int height, DWORD ellipsisType, bool touch, DWORD dwFontStyle); 13 | bool LoadPNGAsBitmap(HBITMAP& hBitmap, int imageID); 14 | bool CompositeBitmaps(HBITMAP hbmBg, HBITMAP hbmFg, bool hardLight, float hlCoef); 15 | void BlurBackground(HWND hwnd, bool blur, bool fullscreen, BYTE alpha, DirectUI::Element* peOptional); 16 | void BlurBackground2(HWND hwnd, bool blur, bool fullscreen, DirectUI::Element* peOptional); 17 | 18 | extern TEXTMETRICW textm; 19 | extern int g_dpi; 20 | } 21 | -------------------------------------------------------------------------------- /DirectDesktop/backend/Logger.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | #include "Logger.h" 4 | 5 | using namespace std; 6 | 7 | namespace DirectDesktop 8 | { 9 | bool isNonStandard(const wstring& str) 10 | { 11 | for (wchar_t ch : str) 12 | { 13 | if (ch > 127) return true; 14 | } 15 | return false; 16 | } 17 | 18 | void Logger::StartLogger(const wchar_t* filename) 19 | { 20 | logfile.open(filename, wfstream::binary | wfstream::out | wfstream::trunc | wfstream::app); 21 | if (!logfile) 22 | logfile.open(filename, wfstream::binary | wfstream::trunc | wfstream::out); 23 | 24 | logfile << "\n\n"; 25 | if (logfile.good())logfile << "================ New logging started ================\n" << endl; 26 | } 27 | 28 | void Logger::WriteLine(wstring line) 29 | { 30 | if (logfile.good()) 31 | { 32 | if (isNonStandard(line)) 33 | logfile << L"Warning: Redacted output due to non-standard characters." << endl; 34 | else 35 | logfile << line << endl; 36 | } 37 | } 38 | 39 | void Logger::WriteLine(wstring line, int exitCode) 40 | { 41 | logfile << line << L" (exit code: " << to_wstring(exitCode) << L")" << endl; 42 | } 43 | 44 | Logger::~Logger() 45 | { 46 | logfile.close(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/StyleModifier.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectDesktop 4 | { 5 | extern COLORREF ImmersiveColor; 6 | extern COLORREF ImmersiveColorL; 7 | extern COLORREF ImmersiveColorD; 8 | extern COLORREF IconColorizationColor; 9 | extern bool g_theme; 10 | extern bool g_themeOld; 11 | extern bool g_touchmode; 12 | extern bool g_isColorized; 13 | extern bool g_isDarkIconsEnabled; 14 | extern BYTE iconColorID; 15 | extern const wchar_t* sheetName; 16 | 17 | extern COLORREF g_colorPickerPalette[8]; 18 | 19 | void UpdateScale(); 20 | void UpdateModeInfo(); 21 | void SetTheme(); 22 | extern bool IconToBitmap(HICON hIcon, HBITMAP& hBitmap, int x, int y); 23 | 24 | void StandardBitmapPixelHandler(int& r, int& g, int& b, int& a, COLORREF& crOpt); 25 | void EnhancedBitmapPixelHandler(int& r, int& g, int& b, int& a, COLORREF& crOpt); 26 | void SimpleBitmapPixelHandler(int& r, int& g, int& b, int& a, COLORREF& crOpt); 27 | void UndoPremultiplication(int& r, int& g, int& b, int& a, COLORREF& crOpt); 28 | void DesaturateWhiten(int& r, int& g, int& b, int& a, COLORREF& crOpt); 29 | void DesaturateWhitenGlass(int& r, int& g, int& b, int& a, COLORREF& crOpt); 30 | void ColorToAlpha(int& r, int& g, int& b, int& a, COLORREF& crOpt); 31 | void InvertConstHue(int& r, int& g, int& b, int& a, COLORREF& crOpt); 32 | void IncreaseBrightness(COLORREF& cr); 33 | COLORREF GetColorFromPixel(HDC hdc, POINT pt); 34 | COLORREF GetDominantColorFromIcon(HBITMAP hbm, int iconsize, int nonGreyishThreshold); 35 | COLORREF GetMostFrequentLightnessFromIcon(HBITMAP hbm, int iconsize); 36 | COLORREF GetLightestPixel(HBITMAP hbm); 37 | } 38 | -------------------------------------------------------------------------------- /DirectDesktop/DirectDesktop.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 34 | 35 | 36 | 37 | 38 | 40 | True 41 | PerMonitorV2,PerMonitor 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/AnimationHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | using namespace DirectUI; 4 | 5 | namespace DirectDesktop 6 | { 7 | extern DWORD g_animCoef; 8 | extern bool g_AnimShiftKey; 9 | 10 | void TriggerTranslate(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 11 | float rX0, float rY0, float rX1, float rY1, float initialPosX, float initialPosY, float targetPosX, float targetPosY, bool fHide, bool fDestroy); 12 | void TriggerFade(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 13 | float rX0, float rY0, float rX1, float rY1, float initialOpacity, float targetOpacity, bool fHide, bool fDestroy, bool fStuckFade); 14 | void TriggerScaleIn(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 15 | float rX0, float rY0, float rX1, float rY1, float initialScaleX, float initialScaleY, float initialOriginX, float initialOriginY, 16 | float targetScaleX, float targetScaleY, float targetOriginX, float targetOriginY, bool fHide, bool fDestroy); 17 | void TriggerScaleOut(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 18 | float rX0, float rY0, float rX1, float rY1, float targetScaleX, float targetScaleY, float targetOriginX, float targetOriginY, bool fHide, bool fDestroy); 19 | void TriggerClip(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 20 | float rX0, float rY0, float rX1, float rY1, float initialLeft, float initialTop, float initialRight, float initialBottom, 21 | float targetLeft, float targetTop, float targetRight, float targetBottom, bool fHide, bool fDestroy); 22 | void TriggerSkew(Element* pe, GTRANS_DESC* rgTrans, UINT transIndex, float flDelay, float flDuration, 23 | float rX0, float rY0, float rX1, float rY1, float initialAngleX, float initialAngleY, float targetAngleX, float targetAngleY, bool fHide, bool fDestroy); 24 | } -------------------------------------------------------------------------------- /DirectDesktop/ui/EditMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "DDControls.h" 4 | 5 | using namespace DirectUI; 6 | 7 | namespace DirectDesktop 8 | { 9 | extern bool g_editmode; 10 | extern bool g_invokedpagechange; 11 | extern bool g_hiddenIcons; 12 | extern bool g_pageviewer; 13 | extern std::vector pm; 14 | extern struct DesktopIcon; 15 | extern DUIXmlParser* parser; 16 | extern Element* pEdit; 17 | extern NativeHWNDHost* wnd; 18 | extern NativeHWNDHost* editwnd; 19 | extern NativeHWNDHost* editbgwnd; 20 | extern HWND g_hWndTaskbar, g_hWorkerW, g_hSHELLDLL_DefView; 21 | extern Element* mainContainer, *UIContainer; 22 | extern TouchButton* PageViewer; 23 | extern int localeType; 24 | extern int g_currentPageID, g_maxPageID; 25 | extern void SetPopupSize(Element* elem, int width, int height); 26 | extern void TogglePage(Element* pageElem, float offsetL, float offsetT, float offsetR, float offsetB); 27 | extern void ApplyIcons(vector* pmLVItem, DesktopIcon* di, bool subdirectory, int id, float scale, COLORREF crSubdir); 28 | extern TouchButton *nextpageMain, *prevpageMain; 29 | extern DDScalableTouchButton *nextpage, *prevpage; 30 | extern DDScalableRichText* pageinfo; 31 | extern DDScalableElement* fullscreeninnerE; 32 | extern TouchButton* centeredE; 33 | 34 | extern void testEventListener3(Element* elem, Event* iev); 35 | extern void ShowSettings(Element* elem, Event* iev); 36 | extern void GoToPrevPage(Element* elem, Event* iev); 37 | extern void GoToNextPage(Element* elem, Event* iev); 38 | extern DWORD WINAPI AnimateWindowWrapper2(LPVOID lpParam); 39 | 40 | void ShowSimpleView(bool animate, DWORD animFlags); 41 | void RefreshSimpleView(DWORD animFlags); 42 | void HideSimpleView(bool fullanimate); 43 | void TriggerEMToPV(bool fReverse); 44 | void TriggerNoMorePagesOnEdit(); 45 | } 46 | -------------------------------------------------------------------------------- /DirectDesktop/ui/Subview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "..\DirectDesktop.h" 4 | 5 | using namespace DirectUI; 6 | 7 | namespace DirectDesktop 8 | { 9 | extern int g_lastDpiChangeTick; 10 | extern int g_settingsPageID; 11 | extern int g_touchSizeX, g_touchSizeY; 12 | extern BYTE iconColorID; 13 | extern COLORREF IconColorizationColor; 14 | extern bool g_delayGroupsForDpi; 15 | extern bool g_ignoreWorkAreaChange; 16 | extern bool g_checkifelemexists; 17 | extern bool g_issubviewopen; 18 | extern bool g_issettingsopen; 19 | extern BYTE* shellstate; 20 | 21 | extern void UpdateScale(); 22 | extern void AdjustWindowSizes(bool firsttime); 23 | extern void CalcDesktopIconInfo(yValue* yV, int* lines_basedOnEllipsis, DWORD* alignment, bool subdirectory, vector* pmLVItem); 24 | extern void ApplyIcons(vector* pmLVItem, DesktopIcon* di, bool subdirectory, int id, float scale, COLORREF crSubdir); 25 | extern void ShowDebugInfoOnDesktop(bool bUnused1, bool bUnused2, bool bUnused3); 26 | 27 | extern void ShowCheckboxIfNeeded(Element* elem, const PropertyInfo* pProp, int type, Value* pV1, Value* pV2); 28 | extern void OpenGroupInExplorer(Element* elem, Event* iev); 29 | extern void OpenCustomizePage(Element* elem, Event* iev); 30 | extern void PinGroup(Element* elem, Event* iev); 31 | 32 | extern NativeHWNDHost* wnd; 33 | extern Element* UIContainer; 34 | extern DDScalableElement* RegistryListener; 35 | extern TouchButton* fullscreenpopupbase; 36 | extern DDScalableTouchButton* fullscreeninner; 37 | extern TouchButton* centered; 38 | extern NativeHWNDHost* subviewwnd; 39 | extern DUIXmlParser* parserSubview; 40 | extern Element* pSubview; 41 | 42 | extern HMODULE g_hModTWinUI; 43 | 44 | void ShowPopupCore(Element* peAnimateFrom); 45 | void HidePopupCore(bool WinDInvoked, bool fNoRefresh); 46 | void InitSubview(); 47 | 48 | void ShowDirAsGroup(LVItem* lvi); 49 | void SetDefaultRes(Element* elem, Event* iev); 50 | void SelectSubItem(Element* elem, Event* iev); 51 | void SelectSubItemListener(Element* elem, const PropertyInfo* pProp, int type, Value* pV1, Value* pV2); 52 | 53 | DWORD WINAPI subfastin(LPVOID lpParam); 54 | } -------------------------------------------------------------------------------- /DirectDesktop/coreui/AccentColorHelper.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | #include "AccentColorHelper.h" 4 | 5 | namespace DirectDesktop 6 | { 7 | COLORREF g_dwAccent{}; 8 | hsl_t g_hslAccent{}; 9 | int g_hslLightAccentH{}; 10 | int g_hslDarkAccentH{}; 11 | double g_hslEnhancedAccentL{}; 12 | 13 | bool UpdateAccentColor(COLORREF crKey) 14 | { 15 | g_hslAccent.h = rgb2hsl({ 16 | (double)GetRValue(crKey) / 255, 17 | (double)GetGValue(crKey) / 255, 18 | (double)GetBValue(crKey) / 255 19 | }).h; 20 | if (g_hslAccent.h >= 0 && g_hslAccent.h < 125) 21 | { 22 | g_hslLightAccentH = 60; 23 | } 24 | else if (g_hslAccent.h >= 125 && g_hslAccent.h < 150) 25 | { 26 | g_hslLightAccentH = 120; 27 | } 28 | else if (g_hslAccent.h >= 150 && g_hslAccent.h < 240) 29 | { 30 | g_hslLightAccentH = 180; 31 | } 32 | else if (g_hslAccent.h >= 240 && g_hslAccent.h < 345) 33 | { 34 | g_hslLightAccentH = 300; 35 | } 36 | else if (g_hslAccent.h >= 345 && g_hslAccent.h < 360) 37 | { 38 | g_hslLightAccentH = 420; 39 | } 40 | if (g_hslAccent.h >= 0 && g_hslAccent.h < 60) 41 | { 42 | g_hslDarkAccentH = 0; 43 | } 44 | else if (g_hslAccent.h >= 60 && g_hslAccent.h < 180) 45 | { 46 | g_hslDarkAccentH = 120; 47 | } 48 | else if (g_hslAccent.h >= 180 && g_hslAccent.h < 300) 49 | { 50 | g_hslDarkAccentH = 240; 51 | } 52 | else if (g_hslAccent.h >= 300 && g_hslAccent.h < 360) 53 | { 54 | g_hslDarkAccentH = 360; 55 | } 56 | 57 | g_hslAccent.s = double(rgb2hsl({ 58 | (double)GetRValue(crKey) / 254.999999999, 59 | (double)GetGValue(crKey) / 254.999999999, 60 | (double)GetBValue(crKey) / 254.999999999 61 | }).s); 62 | 63 | g_hslAccent.l = ((double)(rgb2hsl({ 64 | (double)GetRValue(crKey) / 255, 65 | (double)GetGValue(crKey) / 255, 66 | (double)GetBValue(crKey) / 255 67 | }).l) * -255.0) + 107.0; 68 | 69 | return true; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /DirectDesktop/backend/DirectoryHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Logger.h" 4 | 5 | #include "..\ui\DDControls.h" 6 | 7 | using namespace std; 8 | 9 | namespace DirectDesktop 10 | { 11 | extern Logger MainLogger; 12 | 13 | extern bool g_touchmode; 14 | extern int logging; 15 | extern int localeType; 16 | extern int g_iconsz; 17 | extern vector pm; 18 | extern void InitLayout(bool animation, bool fResetUIState, bool bAlreadyOpen); 19 | extern void InitNewLVItem(const wstring& filepath, const wstring& filename); 20 | extern void RemoveLVItem(const wstring& filepath, const wstring& filename); 21 | extern void UpdateLVItem(const wstring& filepath, const wstring& filename, BYTE type); // types: 1: old, 2: new 22 | 23 | class ThumbIcons 24 | { 25 | public: 26 | wstring GetFilename(); 27 | void SetFilename(const wstring& wsFilename); 28 | bool GetHiddenState(); 29 | bool GetColorLock(); 30 | bool GetHasAdvancedIcon(); 31 | void SetHiddenState(bool hiddenState); 32 | void SetColorLock(bool colorLockState); 33 | void SetHasAdvancedIcon(bool hai); 34 | 35 | private: 36 | wstring _filename{}; 37 | bool _isHidden = false; 38 | bool _colorLock = false; 39 | bool _hai = false; 40 | }; 41 | 42 | extern vector imageExts; 43 | extern vector advancedIconExts; 44 | wstring hideExt(const wstring& filename, bool isEnabled, bool dir, LVItem* shortpm); 45 | void isSpecialProp(const wstring& filename, bool bReset, bool* result, vector* exts); 46 | wstring GetExplorerTooltipText(const wstring& filePath); 47 | void StartMonitorFileChanges(const wstring& path); 48 | unsigned short EnumerateFolder_Helper(LPWSTR path); 49 | void EnumerateFolder(LPWSTR path, vector* pm, int* count2 = nullptr, unsigned short limit = 65535); 50 | void EnumerateFolderForThumbnails(LPWSTR path, vector* strs, unsigned short limit); 51 | void GetPos(bool getSpotlightIcon, int* setSpotlightIcon); 52 | void GetPos2(bool full); 53 | void SetPos(bool full); 54 | bool PlaceDesktopInPos(int* WindowsBuild, HWND* hWndProgman, HWND* hWorkerW, HWND* hSHELLDLL_DefView, bool findSHELLDLL_DefView); 55 | } 56 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /DirectDesktop/backend/SettingsHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | using namespace DirectUI; 4 | 5 | namespace DirectDesktop 6 | { 7 | extern bool g_debugmode; 8 | extern bool g_AnimShiftKey; 9 | extern bool g_debuginfo; 10 | extern bool g_enableexit; 11 | extern bool g_showcheckboxes; 12 | extern BYTE g_showHidden; 13 | extern BYTE g_showSuperHidden; 14 | extern BYTE g_hideFileExt; 15 | extern BYTE g_iconunderline; 16 | extern bool g_treatdirasgroup; 17 | extern bool g_tripleclickandhide; 18 | extern bool g_lockiconpos; 19 | extern bool g_isColorized; 20 | extern bool g_isColorizedOld; 21 | extern bool g_isDarkIconsEnabled; 22 | extern bool g_automaticDark; 23 | extern bool g_isGlass; 24 | extern bool g_isThumbnailHidden; 25 | extern BYTE iconColorID; 26 | extern COLORREF IconColorizationColor; 27 | extern bool g_atleastonesetting; 28 | extern int localeType; 29 | 30 | extern Element* UIContainer; 31 | extern NativeHWNDHost* wnd; 32 | extern NativeHWNDHost* subviewwnd; 33 | extern void RearrangeIcons(bool animation, bool reloadicons, bool bAlreadyOpen); 34 | extern void InitLayout(bool animation, bool fResetUIState, bool bAlreadyOpen); 35 | 36 | void ToggleSetting(Element* elem, Event* iev); 37 | POINT GetTopLeftMonitor(); 38 | int GetRightMonitor(); 39 | 40 | class RegKeyValue 41 | { 42 | public: 43 | RegKeyValue() noexcept 44 | : _hKeyName(nullptr) 45 | , _path() 46 | , _valueToFind() 47 | , _dwValue(0) 48 | { 49 | } 50 | 51 | RegKeyValue(HKEY hKey, const WCHAR* path, const WCHAR* valueToFind, DWORD dwValue) noexcept 52 | : _hKeyName(hKey) 53 | , _path(path ? path : L"") 54 | , _valueToFind(valueToFind ? valueToFind : L"") 55 | , _dwValue(dwValue) 56 | { 57 | } 58 | 59 | RegKeyValue(const RegKeyValue&) = default; 60 | RegKeyValue(RegKeyValue&&) = default; 61 | RegKeyValue& operator=(const RegKeyValue&) = default; 62 | RegKeyValue& operator=(RegKeyValue&&) = default; 63 | ~RegKeyValue() = default; 64 | 65 | HKEY GetHKeyName() const noexcept; 66 | const WCHAR* GetPath() const noexcept; 67 | const WCHAR* GetValueToFind() const noexcept; 68 | DWORD GetDwValue() const noexcept; 69 | void SetHKeyName(HKEY hKeyName) noexcept; 70 | void SetPath(const WCHAR* path) noexcept; 71 | void SetValueToFind(const WCHAR* valueToFind) noexcept; 72 | void SetValue(DWORD dwValue) noexcept; 73 | 74 | private: 75 | HKEY _hKeyName; 76 | const WCHAR* _path; 77 | const WCHAR* _valueToFind; 78 | DWORD _dwValue; 79 | }; 80 | } 81 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/ImmersiveColor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | HMODULE hUxtheme = LoadLibraryW(L"uxtheme.dll"); 5 | 6 | typedef enum IMMERSIVE_COLOR_TYPE 7 | { 8 | // Defining only used ones 9 | IMCLR_SystemAccentLight2 = 2, 10 | IMCLR_SystemAccent = 4, 11 | IMCLR_SystemAccentDark1 = 5, 12 | IMCLR_StartDesktopTilesText = 11, 13 | } IMMERSIVE_COLOR_TYPE; 14 | 15 | typedef struct IMMERSIVE_COLOR_PREFERENCE 16 | { 17 | DWORD crStartColor; 18 | DWORD crAccentColor; 19 | } IMMERSIVE_COLOR_PREFERENCE; 20 | 21 | typedef enum IMMERSIVE_HC_CACHE_MODE 22 | { 23 | IHCM_USE_CACHED_VALUE = 0, 24 | IHCM_REFRESH = 1 25 | } IMMERSIVE_HC_CACHE_MODE; 26 | 27 | typedef bool (*RefreshImmersiveColorPolicyState_t)(); // 104 28 | RefreshImmersiveColorPolicyState_t RefreshImmersiveColorPolicyState = (RefreshImmersiveColorPolicyState_t)GetProcAddress(hUxtheme, MAKEINTRESOURCEA(104)); 29 | typedef bool (*GetIsImmersiveColorUsingHighContrast_t)(IMMERSIVE_HC_CACHE_MODE); // 106 30 | GetIsImmersiveColorUsingHighContrast_t GetIsImmersiveColorUsingHighContrast = (GetIsImmersiveColorUsingHighContrast_t)GetProcAddress(hUxtheme, MAKEINTRESOURCEA(106));; 31 | typedef HRESULT (*GetUserColorPreference_t)(IMMERSIVE_COLOR_PREFERENCE*, bool); // 120 32 | GetUserColorPreference_t GetUserColorPreference = (GetUserColorPreference_t)GetProcAddress(hUxtheme, MAKEINTRESOURCEA(120)); 33 | typedef DWORD (*GetColorFromPreference_t)(const IMMERSIVE_COLOR_PREFERENCE*, IMMERSIVE_COLOR_TYPE, bool, IMMERSIVE_HC_CACHE_MODE); // 121 34 | GetColorFromPreference_t GetColorFromPreference = (GetColorFromPreference_t)GetProcAddress(hUxtheme, MAKEINTRESOURCEA(121)); 35 | 36 | class CImmersiveColor 37 | { 38 | public: 39 | static DWORD GetColor(IMMERSIVE_COLOR_TYPE colorType) 40 | { 41 | IMMERSIVE_COLOR_PREFERENCE icp; 42 | icp.crStartColor = 0; 43 | icp.crAccentColor = 0; 44 | GetUserColorPreference(&icp, false/*, true*/); 45 | return GetColorFromPreference(&icp, colorType, false, IHCM_REFRESH); 46 | } 47 | 48 | static bool IsColorSchemeChangeMessage(UINT uMsg, LPARAM lParam) 49 | { 50 | bool bRet = false; 51 | if (uMsg == WM_SETTINGCHANGE && lParam && CompareStringOrdinal((WCHAR*)lParam, -1, L"ImmersiveColorSet", -1, TRUE) == CSTR_EQUAL) 52 | { 53 | RefreshImmersiveColorPolicyState(); 54 | bRet = true; 55 | } 56 | GetIsImmersiveColorUsingHighContrast(IHCM_REFRESH); 57 | return bRet; 58 | } 59 | }; 60 | 61 | class CImmersiveColorImpl 62 | { 63 | public: 64 | static HRESULT GetColorPreferenceImpl(IMMERSIVE_COLOR_PREFERENCE* pcpPreference, bool fForceReload, bool fUpdateCached) 65 | { 66 | return GetUserColorPreference(pcpPreference, fForceReload); 67 | } 68 | }; 69 | -------------------------------------------------------------------------------- /DirectDesktop/backend/EverythingSearch/Everything64.def: -------------------------------------------------------------------------------- 1 | LIBRARY Everything64 2 | 3 | EXPORTS 4 | 5 | Everything_GetLastError 6 | 7 | Everything_SetSearchA 8 | Everything_SetSearchW 9 | Everything_SetMatchPath 10 | Everything_SetMatchCase 11 | Everything_SetMatchWholeWord 12 | Everything_SetRegex 13 | Everything_SetMax 14 | Everything_SetOffset 15 | Everything_SetReplyID 16 | Everything_SetReplyWindow 17 | 18 | Everything_GetSearchA 19 | Everything_GetSearchW 20 | Everything_GetMatchPath 21 | Everything_GetMatchCase 22 | Everything_GetMatchWholeWord 23 | Everything_GetRegex 24 | Everything_GetMax 25 | Everything_GetOffset 26 | Everything_GetReplyID 27 | Everything_GetReplyWindow 28 | 29 | Everything_QueryA 30 | Everything_QueryW 31 | 32 | Everything_IsQueryReply 33 | 34 | Everything_SortResultsByPath 35 | 36 | Everything_GetNumFileResults 37 | Everything_GetNumFolderResults 38 | Everything_GetNumResults 39 | Everything_GetTotFileResults 40 | Everything_GetTotFolderResults 41 | Everything_GetTotResults 42 | 43 | Everything_IsVolumeResult 44 | Everything_IsFolderResult 45 | Everything_IsFileResult 46 | 47 | Everything_GetResultFileNameA 48 | Everything_GetResultFileNameW 49 | Everything_GetResultPathA 50 | Everything_GetResultPathW 51 | Everything_GetResultFullPathNameA 52 | Everything_GetResultFullPathNameW 53 | 54 | Everything_Reset 55 | Everything_CleanUp 56 | 57 | Everything_SetSort 58 | Everything_SetRequestFlags 59 | Everything_GetSort 60 | Everything_GetRequestFlags 61 | Everything_GetResultListSort 62 | Everything_GetResultListRequestFlags 63 | Everything_GetResultExtensionW 64 | Everything_GetResultExtensionA 65 | Everything_GetResultSize 66 | Everything_GetResultDateCreated 67 | Everything_GetResultDateModified 68 | Everything_GetResultDateAccessed 69 | Everything_GetResultAttributes 70 | Everything_GetResultFileListFileNameW 71 | Everything_GetResultFileListFileNameA 72 | Everything_GetResultRunCount 73 | Everything_GetResultDateRun 74 | Everything_GetResultDateRecentlyChanged 75 | Everything_GetResultHighlightedFileNameW 76 | Everything_GetResultHighlightedFileNameA 77 | Everything_GetResultHighlightedPathW 78 | Everything_GetResultHighlightedPathA 79 | Everything_GetResultHighlightedFullPathAndFileNameW 80 | Everything_GetResultHighlightedFullPathAndFileNameA 81 | Everything_GetMajorVersion 82 | Everything_GetMinorVersion 83 | Everything_GetRevision 84 | Everything_GetBuildNumber 85 | Everything_Exit 86 | Everything_IsDBLoaded 87 | Everything_IsAdmin 88 | Everything_IsAppData 89 | Everything_RebuildDB 90 | Everything_UpdateAllFolderIndexes 91 | Everything_SaveDB 92 | Everything_SaveRunHistory 93 | Everything_DeleteRunHistory 94 | Everything_GetTargetMachine 95 | Everything_IsFastSort 96 | Everything_IsFileInfoIndexed 97 | Everything_GetRunCountFromFileNameW 98 | Everything_GetRunCountFromFileNameA 99 | Everything_SetRunCountFromFileNameW 100 | Everything_SetRunCountFromFileNameA 101 | Everything_IncRunCountFromFileNameW 102 | Everything_IncRunCountFromFileNameA 103 | -------------------------------------------------------------------------------- /DirectDesktop.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.14.36109.1 d17.14 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectDesktop", "DirectDesktop\DirectDesktop.vcxproj", "{1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454} = {0B7DE49A-33C6-41B1-A9CE-D353031F8454} 9 | {11541C39-BDE1-4AA4-8FC3-D1C209267802} = {11541C39-BDE1-4AA4-8FC3-D1C209267802} 10 | EndProjectSection 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectUI", "DirectDesktop\Include\dui70\DirectUI\DirectUI.vcxproj", "{0B7DE49A-33C6-41B1-A9CE-D353031F8454}" 13 | EndProject 14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUser", "DirectDesktop\Include\dui70\DUser\DUser.vcxproj", "{11541C39-BDE1-4AA4-8FC3-D1C209267802}" 15 | EndProject 16 | Global 17 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 18 | Debug|x64 = Debug|x64 19 | Debug|x86 = Debug|x86 20 | Release|x64 = Release|x64 21 | Release|x86 = Release|x86 22 | EndGlobalSection 23 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 24 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Debug|x64.ActiveCfg = Debug|x64 25 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Debug|x64.Build.0 = Debug|x64 26 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Debug|x86.ActiveCfg = Debug|Win32 27 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Debug|x86.Build.0 = Debug|Win32 28 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Release|x64.ActiveCfg = Release|x64 29 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Release|x64.Build.0 = Release|x64 30 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Release|x86.ActiveCfg = Release|Win32 31 | {1D0F8BF4-F1CB-44BA-8012-5D0EB6735F5C}.Release|x86.Build.0 = Release|Win32 32 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Debug|x64.ActiveCfg = Debug|x64 33 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Debug|x64.Build.0 = Debug|x64 34 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Debug|x86.ActiveCfg = Debug|Win32 35 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Debug|x86.Build.0 = Debug|Win32 36 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Release|x64.ActiveCfg = Release|x64 37 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Release|x64.Build.0 = Release|x64 38 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Release|x86.ActiveCfg = Release|Win32 39 | {0B7DE49A-33C6-41B1-A9CE-D353031F8454}.Release|x86.Build.0 = Release|Win32 40 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Debug|x64.ActiveCfg = Debug|x64 41 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Debug|x64.Build.0 = Debug|x64 42 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Debug|x86.ActiveCfg = Debug|Win32 43 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Debug|x86.Build.0 = Debug|Win32 44 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Release|x64.ActiveCfg = Release|x64 45 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Release|x64.Build.0 = Release|x64 46 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Release|x86.ActiveCfg = Release|Win32 47 | {11541C39-BDE1-4AA4-8FC3-D1C209267802}.Release|x86.Build.0 = Release|Win32 48 | EndGlobalSection 49 | GlobalSection(SolutionProperties) = preSolution 50 | HideSolutionNode = FALSE 51 | EndGlobalSection 52 | GlobalSection(ExtensibilityGlobals) = postSolution 53 | SolutionGuid = {D6CB341A-DBE4-411B-A50E-2D34216376B9} 54 | EndGlobalSection 55 | EndGlobal 56 | -------------------------------------------------------------------------------- /DirectDesktop/ui/search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 40 | 52 | 53 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/ColorHelper.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | #include "ColorHelper.h" 4 | 5 | namespace DirectDesktop 6 | { 7 | DWORD rgb2bgr(COLORREF color) 8 | { 9 | return (color & 0xFF000000) | ((color & 0xFF0000) >> 16) | (color & 0x00FF00) | ((color & 0x0000FF) << 16); 10 | } 11 | 12 | 13 | // https://www.niwa.nu/2013/05/math-behind-colorspace-conversions-rgb-hsl/ 14 | 15 | hsl_t rgb2hsl(rgb_t in) 16 | { 17 | hsl_t out{}; 18 | double min, max, sigma, delta; 19 | 20 | min = in.r < in.g ? in.r : in.g; 21 | min = min < in.b ? min : in.b; 22 | 23 | max = in.r > in.g ? in.r : in.g; 24 | max = max > in.b ? max : in.b; 25 | 26 | sigma = max + min; 27 | out.l = sigma / 2; 28 | delta = max - min; 29 | if (max > 0.0) 30 | { 31 | // NOTE: if max is == 0, this divide would cause a crash 32 | if (out.l <= 0.5) 33 | { 34 | out.s = delta / sigma; 35 | } 36 | if (out.l > 0.5) 37 | { 38 | out.s = delta / (2 - sigma); 39 | } 40 | /* if (out.s > 1) 41 | { 42 | out.s = out.s - (out.s - 1); 43 | } 44 | if (out.s < 0) 45 | { 46 | out.s = (0 - out.s); 47 | } */ 48 | } 49 | else 50 | { 51 | // if max is 0, then r = g = b = 0 52 | out.h = 210.0; 53 | out.s = 0.0; 54 | return out; 55 | } 56 | if (in.r >= max) // ">" is useless, just keeps compiler happy 57 | out.h = (((in.g - in.b) / 6) / delta) * 360.0; // between yellow & magenta 58 | else if (in.g >= max) 59 | out.h = ((1.0 / 3.0) + ((in.b - in.r) / 6) / delta) * 360.0; // between cyan & yellow 60 | else 61 | out.h = ((2.0 / 3.0) + ((in.r - in.g) / 6) / delta) * 360.0; // between magenta & cyan 62 | 63 | if (out.h < 0.0) 64 | out.h += 360.0; 65 | 66 | if (out.h > 360.0) 67 | out.h -= 360.0; 68 | 69 | return out; 70 | } 71 | 72 | rgb_t hsl2rgb(hsl_t in) 73 | { 74 | double ot{}, tt{}, ht{}, rt{}, gt{}, bt{}; // temporary values one, two, hue, red, green, blue 75 | rgb_t out{}; 76 | 77 | /*if (in.s <= 0.0) { // "<" is useless, just shuts up warnings 78 | out.r = in.l; 79 | out.g = in.l; 80 | out.b = in.l; 81 | return out; 82 | }*/ // this was making saturation always return 0 83 | if (in.s > 1.0) in.s = 1.0; 84 | if (in.s < -1.0) in.s = -1.0; 85 | if (in.l > 255) in.l = 255; 86 | if (in.l < 0.5) 87 | { 88 | ot = in.l * (1.0 + in.s); 89 | } 90 | else if (in.l >= 0.5) 91 | { 92 | ot = in.l + in.s - (in.l * in.s); 93 | } 94 | tt = (2 * in.l) - ot; 95 | ht = in.h / 360.0; 96 | if (ht > 0.6666667) 97 | { 98 | rt = ht - (0.6666667); 99 | } 100 | if (ht <= 0.6666667) 101 | { 102 | rt = ht + (0.3333333); 103 | } 104 | gt = ht; 105 | if (ht < 0.3333333) 106 | { 107 | bt = ht + (0.6666667); 108 | } 109 | if (ht >= 0.3333333) 110 | { 111 | bt = ht - (0.3333333); 112 | } 113 | if (rt * 6 <= 1) 114 | { 115 | out.r = tt + (ot - tt) * 6 * rt; 116 | } 117 | else if (rt * 2 <= 1) 118 | { 119 | out.r = ot; 120 | } 121 | else if (rt * 3 <= 2) 122 | { 123 | out.r = tt + (ot - tt) * (0.6666667 - rt) * 6; 124 | } 125 | else 126 | out.r = tt; 127 | if (gt * 6 <= 1) 128 | { 129 | out.g = tt + (ot - tt) * 6 * gt; 130 | } 131 | else if (gt * 2 <= 1) 132 | { 133 | out.g = ot; 134 | } 135 | else if (gt * 3 <= 2) 136 | { 137 | out.g = tt + (ot - tt) * (0.6666667 - gt) * 6; 138 | } 139 | else 140 | out.g = tt; 141 | if (bt * 6 <= 1) 142 | { 143 | out.b = tt + (ot - tt) * 6 * bt; 144 | } 145 | else if (bt * 2 <= 1) 146 | { 147 | out.b = ot; 148 | } 149 | else if (bt * 3 <= 2) 150 | { 151 | out.b = tt + (ot - tt) * (0.6666667 - bt) * 6; 152 | } 153 | else 154 | out.b = tt; 155 | 156 | if (out.r > 255) 157 | { 158 | out.r = out.r - (out.r - 255); 159 | } 160 | if (out.g > 255) 161 | { 162 | out.g = out.g - (out.g - 255); 163 | } 164 | if (out.b > 255) 165 | { 166 | out.b = out.b - (out.b - 255); 167 | } 168 | 169 | if (out.r < 0) 170 | { 171 | out.r = (0 - out.r); 172 | } 173 | if (out.g < 0) 174 | { 175 | out.g = (0 - out.g); 176 | } 177 | if (out.b < 0) 178 | { 179 | out.b = (0 - out.b); 180 | } 181 | 182 | return out; 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/cdpa.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | template 4 | class CDPA_Base 5 | { 6 | public: 7 | using EnumCallbackType = int (*)(T*, void*); 8 | using CompareType = int (*)(T* p1, T* p2, LPARAM lParam); 9 | using MergeType = T * (*)(UINT uMsg, T* pDest, T* pSrc, LPARAM lParam); 10 | 11 | CDPA_Base(HDPA hdpa = nullptr) : m_hdpa(hdpa) 12 | { 13 | } 14 | 15 | ~CDPA_Base() 16 | { 17 | if (m_hdpa) 18 | Destroy(); 19 | } 20 | 21 | BOOL IsDPASet() const 22 | { 23 | return m_hdpa != nullptr; 24 | } 25 | 26 | void Attach(HDPA hdpa) 27 | { 28 | m_hdpa = hdpa; 29 | } 30 | 31 | HDPA Detach() 32 | { 33 | HDPA hdpa = m_hdpa; 34 | m_hdpa = nullptr; 35 | return hdpa; 36 | } 37 | 38 | operator HDPA() const 39 | { 40 | return m_hdpa; 41 | } 42 | 43 | BOOL Create(int cItemGrow) 44 | { 45 | m_hdpa = DPA_Create(cItemGrow); 46 | return m_hdpa != nullptr; 47 | } 48 | 49 | BOOL CreateEx(int cpGrow, HANDLE hheap) 50 | { 51 | m_hdpa = DPA_CreateEx(cpGrow, hheap); 52 | return m_hdpa != nullptr; 53 | } 54 | 55 | BOOL Destroy() 56 | { 57 | BOOL result = TRUE; 58 | if (m_hdpa) 59 | { 60 | DestroyCallback(_StandardDestroyCB, nullptr); 61 | result = DPA_Destroy(m_hdpa); 62 | m_hdpa = nullptr; 63 | } 64 | return result; 65 | } 66 | 67 | HDPA Clone(HDPA hdpaNew) const 68 | { 69 | return DPA_Clone(m_hdpa, hdpaNew); 70 | } 71 | 72 | T* GetPtr(INT_PTR i) const 73 | { 74 | return (T*)DPA_GetPtr(m_hdpa, i); 75 | } 76 | 77 | int GetPtrIndex(T* p) 78 | { 79 | return DPA_GetPtrIndex(m_hdpa, p); 80 | } 81 | 82 | BOOL Grow(int cp) 83 | { 84 | return DPA_Grow(m_hdpa, cp); 85 | } 86 | 87 | BOOL SetPtr(int i, T* p) 88 | { 89 | return DPA_SetPtr(m_hdpa, i, p); 90 | } 91 | 92 | HRESULT InsertPtr(int i, T* p, int* outIndex = nullptr) 93 | { 94 | int result = DPA_InsertPtr(m_hdpa, i, p); 95 | if (outIndex) 96 | *outIndex = result; 97 | if (result == -1) 98 | return E_OUTOFMEMORY; 99 | return S_OK; 100 | } 101 | 102 | T* DeletePtr(int i) 103 | { 104 | return (T*)DPA_DeletePtr(m_hdpa, i); 105 | } 106 | 107 | BOOL DeleteAllPtrs() 108 | { 109 | return DPA_DeleteAllPtrs(m_hdpa); 110 | } 111 | 112 | void EnumCallback(EnumCallbackType pfnCB, void* pData = nullptr) 113 | { 114 | DPA_EnumCallback(m_hdpa, (PFNDPAENUMCALLBACK)pfnCB, pData); 115 | } 116 | 117 | void DestroyCallback(EnumCallbackType pfnCB, void* pData = nullptr) 118 | { 119 | if (m_hdpa) 120 | { 121 | DPA_DestroyCallback(m_hdpa, (PFNDPAENUMCALLBACK)pfnCB, pData); 122 | m_hdpa = nullptr; 123 | } 124 | } 125 | 126 | int GetPtrCount() const 127 | { 128 | return m_hdpa ? DPA_GetPtrCount(m_hdpa) : 0; 129 | } 130 | 131 | void SetPtrCount(int cItems) 132 | { 133 | DPA_SetPtrCount(m_hdpa, cItems); 134 | } 135 | 136 | T** GetPtrPtr() const 137 | { 138 | return (T**)DPA_GetPtrPtr(m_hdpa); 139 | } 140 | 141 | T*& FastGetPtr(int i) const 142 | { 143 | return (T*&)DPA_FastGetPtr(m_hdpa, i); 144 | } 145 | 146 | HRESULT AppendPtr(T* p, int* outIndex = nullptr) 147 | { 148 | int result = DPA_AppendPtr(m_hdpa, p); 149 | if (outIndex) 150 | *outIndex = result; 151 | if (result == -1) 152 | return E_OUTOFMEMORY; 153 | return S_OK; 154 | } 155 | 156 | ULONGLONG GetSize() 157 | { 158 | return DPA_GetSize(m_hdpa); 159 | } 160 | 161 | HRESULT LoadStream(PFNDPASTREAM pfn, IStream* pstream, void* pvInstData) 162 | { 163 | return DPA_LoadStream(&m_hdpa, pfn, pstream, pvInstData); 164 | } 165 | 166 | HRESULT SaveStream(PFNDPASTREAM pfn, IStream* pstream, void* pvInstData) 167 | { 168 | return DPA_SaveStream(m_hdpa, pfn, pstream, pvInstData); 169 | } 170 | 171 | BOOL Sort(CompareType pfnCompare, LPARAM lParam) 172 | { 173 | return DPA_Sort(m_hdpa, (PFNDACOMPARE)pfnCompare, lParam); 174 | } 175 | 176 | BOOL Merge(CDPA_Base* pdpaDest, DWORD dwFlags, CompareType pfnCompare, MergeType pfnMerge, LPARAM lParam) 177 | { 178 | return DPA_Merge(m_hdpa, pdpaDest->m_hdpa, dwFlags, (PFNDACOMPARE)pfnCompare, (PFNDPAMERGE)pfnMerge, lParam); 179 | } 180 | 181 | int Search(T* pFind, int iStart, CompareType pfnCompare, LPARAM lParam, UINT options) 182 | { 183 | return DPA_Search(m_hdpa, pFind, iStart, (PFNDACOMPARE)pfnCompare, lParam, options); 184 | } 185 | 186 | BOOL SortedInsertPtr(T* pItem, int iStart, CompareType pfnCompare, LPARAM lParam, UINT options, T* pFind) 187 | { 188 | return DPA_SortedInsertPtr(m_hdpa, pFind, iStart, (PFNDACOMPARE)pfnCompare, lParam, options, pItem); 189 | } 190 | 191 | private: 192 | static int _StandardDestroyCB(T* p, void* pData) 193 | { 194 | ContainerPolicy::Destroy(p); 195 | return 1; 196 | } 197 | 198 | HDPA m_hdpa; 199 | }; 200 | 201 | template 202 | class CDPA : public CDPA_Base 203 | { 204 | public: 205 | CDPA(HDPA hdpa = nullptr) 206 | : CDPA_Base(hdpa) 207 | { 208 | } 209 | }; 210 | 211 | template 212 | class CTContainer_PolicyUnOwned 213 | { 214 | public: 215 | static void Destroy(T* p) 216 | { 217 | } 218 | }; 219 | -------------------------------------------------------------------------------- /DirectDesktop/backend/SettingsHelper.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | #include "SettingsHelper.h" 4 | #include "..\DirectDesktop.h" 5 | 6 | using namespace std; 7 | using namespace DirectUI; 8 | 9 | namespace DirectDesktop 10 | { 11 | bool g_debugmode; 12 | bool g_AnimShiftKey; 13 | bool g_debuginfo; 14 | bool g_enableexit; 15 | bool g_showcheckboxes; 16 | BYTE g_showHidden; 17 | BYTE g_showSuperHidden; 18 | BYTE g_hideFileExt; 19 | BYTE g_iconunderline; 20 | bool g_treatdirasgroup; 21 | bool g_tripleclickandhide; 22 | bool g_lockiconpos; 23 | bool g_isColorized; 24 | bool g_isColorizedOld; 25 | bool g_isDarkIconsEnabled; 26 | bool g_automaticDark; 27 | bool g_isGlass; 28 | bool g_isThumbnailHidden; 29 | BYTE iconColorID; 30 | COLORREF IconColorizationColor; 31 | bool g_atleastonesetting{}; 32 | Element* UIContainer; 33 | 34 | HKEY RegKeyValue::GetHKeyName() const noexcept 35 | { 36 | return _hKeyName; 37 | } 38 | 39 | const WCHAR* RegKeyValue::GetPath() const noexcept 40 | { 41 | return _path; 42 | } 43 | 44 | const WCHAR* RegKeyValue::GetValueToFind() const noexcept 45 | { 46 | return _valueToFind; 47 | } 48 | 49 | DWORD RegKeyValue::GetDwValue() const noexcept 50 | { 51 | return _dwValue; 52 | } 53 | 54 | void RegKeyValue::SetHKeyName(HKEY hKeyName) noexcept 55 | { 56 | _hKeyName = hKeyName; 57 | } 58 | 59 | void RegKeyValue::SetPath(const WCHAR* path) noexcept 60 | { 61 | _path = path; 62 | } 63 | 64 | void RegKeyValue::SetValueToFind(const WCHAR* valueToFind) noexcept 65 | { 66 | _valueToFind = valueToFind; 67 | } 68 | 69 | void RegKeyValue::SetValue(DWORD dwValue) noexcept 70 | { 71 | _dwValue = dwValue; 72 | } 73 | 74 | BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) 75 | { 76 | vector* monitors = reinterpret_cast*>(dwData); 77 | MONITORINFOEX monitorInfo{}; 78 | monitorInfo.cbSize = sizeof(MONITORINFOEX); 79 | if (GetMonitorInfoW(hMonitor, &monitorInfo)) 80 | { 81 | RECT rcMonitor; 82 | rcMonitor = monitorInfo.rcMonitor; 83 | monitors->push_back(rcMonitor); 84 | } 85 | return TRUE; 86 | } 87 | 88 | POINT GetTopLeftMonitor() 89 | { 90 | vector monitors{}; 91 | POINT ptFinal{}; 92 | EnumDisplayMonitors(nullptr, nullptr, MonitorEnumProc, reinterpret_cast(&monitors)); 93 | sort(monitors.begin(), monitors.end(), [](const RECT& a, const RECT& b) 94 | { 95 | if (localeType != 1) return a.left < b.left; 96 | else return a.left > b.left; 97 | }); 98 | ptFinal.x = monitors[0].left; 99 | sort(monitors.begin(), monitors.end(), [](const RECT& a, const RECT& b) 100 | { 101 | return a.top < b.top; 102 | }); 103 | ptFinal.y = monitors[0].top; 104 | return ptFinal; 105 | } 106 | 107 | int GetRightMonitor() 108 | { 109 | vector monitors{}; 110 | int iFinal{}; 111 | EnumDisplayMonitors(nullptr, nullptr, MonitorEnumProc, reinterpret_cast(&monitors)); 112 | sort(monitors.begin(), monitors.end(), [](const RECT& a, const RECT& b) 113 | { 114 | return a.right > b.right; 115 | }); 116 | iFinal = monitors[0].right; 117 | return iFinal; 118 | } 119 | 120 | DWORD WINAPI TempDisableToggle(LPVOID lpParam) 121 | { 122 | SendMessageW(subviewwnd->GetHWND(), WM_USER + 5, (WPARAM)lpParam, NULL); 123 | Sleep(700); 124 | SendMessageW(subviewwnd->GetHWND(), WM_USER + 5, (WPARAM)lpParam, 1); 125 | return 0; 126 | } 127 | 128 | void ToggleSetting(Element* elem, Event* iev) 129 | { 130 | if (elem->GetClassInfoW() == DDCheckBox::GetClassInfoPtr() || elem->GetClassInfoW() == DDToggleButton::GetClassInfoPtr()) 131 | { 132 | if (iev->uidType == TouchButton::Click) 133 | { 134 | DDToggleButton* ddtb = (DDToggleButton*)elem; 135 | ddtb->SetCheckedState(!ddtb->GetCheckedState()); 136 | void* associatedSetting = ddtb->GetAssociatedSetting(); 137 | RegKeyValue rkv = ddtb->GetRegKeyValue(); 138 | BYTE regSetter = ddtb->GetCheckedState(); 139 | if (rkv.GetValueToFind() == L"Hidden") regSetter = (!ddtb->GetCheckedState() + 1); 140 | if (rkv.GetValueToFind() == L"Logging") regSetter = (!ddtb->GetCheckedState() + 6); 141 | if (rkv.GetValueToFind() == L"IconUnderline") regSetter = (!ddtb->GetCheckedState() + 2); 142 | if (rkv.GetHKeyName() != nullptr) SetRegistryValues(rkv.GetHKeyName(), rkv.GetPath(), rkv.GetValueToFind(), regSetter, false, nullptr); 143 | if (ddtb->GetAssociatedFn() != nullptr) 144 | ddtb->ExecAssociatedFn(ddtb->GetAssociatedFn()); 145 | if (ddtb->GetShellInteraction()) 146 | { 147 | SHChangeNotify(SHCNE_ALLEVENTS, SHCNF_IDLIST, nullptr, nullptr); 148 | SendMessageTimeoutW(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"ShellState", SMTO_NORMAL, 200, nullptr); 149 | } 150 | else if (associatedSetting) *(BYTE*)associatedSetting = regSetter; 151 | if (rkv.GetValueToFind() == L"Hidden") 152 | { 153 | DWORD dwDisableToggle; 154 | HANDLE DisableToggleHandle = CreateThread(nullptr, 0, TempDisableToggle, (LPVOID)elem, 0, &dwDisableToggle); 155 | if (DisableToggleHandle) CloseHandle(DisableToggleHandle); 156 | return; 157 | } 158 | g_atleastonesetting = true; 159 | } 160 | } 161 | if (elem->GetClassInfoW() == DDCombobox::GetClassInfoPtr()) 162 | { 163 | if (iev->uidType == DDCombobox::SelectionChange) 164 | { 165 | DDCombobox* ddcmb = (DDCombobox*)elem; 166 | void* associatedSetting = ddcmb->GetAssociatedSetting(); 167 | RegKeyValue rkv = ddcmb->GetRegKeyValue(); 168 | BYTE regSetter = ddcmb->GetSelection(); 169 | if (rkv.GetHKeyName() != nullptr) SetRegistryValues(rkv.GetHKeyName(), rkv.GetPath(), rkv.GetValueToFind(), regSetter, false, nullptr); 170 | if (ddcmb->GetAssociatedFn() != nullptr) 171 | ddcmb->ExecAssociatedFn(ddcmb->GetAssociatedFn()); 172 | if (ddcmb->GetShellInteraction()) 173 | { 174 | SHChangeNotify(SHCNE_ALLEVENTS, SHCNF_IDLIST, nullptr, nullptr); 175 | SendMessageTimeoutW(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"ShellState", SMTO_NORMAL, 200, nullptr); 176 | } 177 | else if (associatedSetting) *(BYTE*)associatedSetting = regSetter; 178 | g_atleastonesetting = true; 179 | } 180 | } 181 | } 182 | } 183 | -------------------------------------------------------------------------------- /DirectDesktop/DirectDesktop.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #pragma warning(disable:28159) 3 | 4 | #include "ui\DDControls.h" 5 | #include "coreui\AnimationHelper.h" 6 | 7 | using namespace DirectUI; 8 | 9 | #define DESKPADDING_NORMAL 4 10 | #define DESKPADDING_NORMAL_X 4 11 | #define DESKPADDING_NORMAL_Y 4 12 | #define DESKPADDING_TOUCH 8 13 | #define DESKPADDING_TOUCH_X 32 14 | #define DESKPADDING_TOUCH_Y 128 15 | 16 | namespace DirectDesktop 17 | { 18 | extern float g_flScaleFactor; 19 | extern int g_touchSizeX, g_touchSizeY; 20 | extern unsigned short g_defWidth, g_defHeight, g_lastWidth, g_lastHeight; 21 | extern int g_iconsz, g_shiconsz, g_gpiconsz; 22 | extern int g_currentPageID, g_maxPageID, g_homePageID; 23 | extern HWND g_msgwnd; 24 | extern bool DWMActive; 25 | extern bool g_treatdirasgroup, g_canRefreshMain; 26 | 27 | struct yValue 28 | { 29 | int num{}; 30 | float fl1{}; 31 | float fl2{}; 32 | }; 33 | 34 | struct yValueEx 35 | { 36 | int num{}; 37 | float fl1{}; 38 | float fl2{}; 39 | std::vector* vpm{}; 40 | Element* peOptionalTarget1{}; 41 | Element* peOptionalTarget2{}; 42 | }; 43 | 44 | struct yValuePtrs 45 | { 46 | void* ptr1{}; 47 | void* ptr2{}; 48 | DWORD dwMillis; 49 | }; 50 | 51 | struct DesktopIcon 52 | { 53 | HBITMAP icon{}; 54 | HBITMAP iconshortcut{}; 55 | HBITMAP text{}; 56 | COLORREF crDominantTile{}; 57 | }; 58 | 59 | struct DelayedElementActions 60 | { 61 | DWORD dwMillis; 62 | Element* pe; 63 | float val1; 64 | float val2; 65 | }; 66 | 67 | struct EventListener : public IElementListener 68 | { 69 | void (*f)(Element*, Event*); 70 | 71 | EventListener(void (*func)(Element*, Event*)) 72 | { 73 | f = func; 74 | } 75 | 76 | void OnListenerAttach(Element* elem) override 77 | { 78 | } 79 | 80 | void OnListenerDetach(Element* elem) override 81 | { 82 | } 83 | 84 | bool OnListenedPropertyChanging(Element* elem, const PropertyInfo* prop, int unk, Value* v1, Value* v2) override 85 | { 86 | return true; 87 | } 88 | 89 | void OnListenedPropertyChanged(Element* elem, const PropertyInfo* prop, int type, Value* v1, Value* v2) override 90 | { 91 | } 92 | 93 | void OnListenedEvent(Element* elem, struct Event* iev) override 94 | { 95 | f(elem, iev); 96 | } 97 | 98 | void OnListenedInput(Element* elem, struct InputEvent* ev) override 99 | { 100 | } 101 | }; 102 | 103 | struct EventListener2 : public IElementListener 104 | { 105 | void (*f)(Element*, const PropertyInfo*, int, Value*, Value*); 106 | 107 | EventListener2(void (*func)(Element*, const PropertyInfo*, int, Value*, Value*)) 108 | { 109 | f = func; 110 | } 111 | 112 | void OnListenerAttach(Element* elem) override 113 | { 114 | } 115 | 116 | void OnListenerDetach(Element* elem) override 117 | { 118 | } 119 | 120 | bool OnListenedPropertyChanging(Element* elem, const PropertyInfo* prop, int unk, Value* v1, Value* v2) override 121 | { 122 | return true; 123 | } 124 | 125 | void OnListenedPropertyChanged(Element* elem, const PropertyInfo* prop, int type, Value* v1, Value* v2) override 126 | { 127 | f(elem, prop, type, v1, v2); 128 | } 129 | 130 | void OnListenedEvent(Element* elem, struct Event* iev) override 131 | { 132 | } 133 | 134 | void OnListenedInput(Element* elem, struct InputEvent* ev) override 135 | { 136 | } 137 | }; 138 | 139 | //class DDWindowCommon 140 | //{ 141 | //public: 142 | // DDWindowCommon() 143 | // : _wnd(nullptr) 144 | // , _parent(nullptr) 145 | // , _parser(nullptr) 146 | // , _peHost(nullptr) 147 | // { 148 | // } 149 | // ~DDWindowCommon(); 150 | // NativeHWNDHost* GetWindowHost(); 151 | // HWNDElement* GetHostParentElement(); 152 | // DUIXmlParser* GetParser(); 153 | // Element* GetHostElement(); 154 | 155 | //protected: 156 | // NativeHWNDHost* _wnd; 157 | // HWNDElement* _parent; 158 | // DUIXmlParser* _parser; 159 | // Element* _peHost; 160 | // DWORD _key; 161 | // virtual HRESULT CreateAndInitWindow() 162 | // { 163 | // } 164 | //}; 165 | 166 | //class DesktopHost : public DDWindowCommon 167 | //{ 168 | //public: 169 | // DesktopHost() 170 | // { 171 | // } 172 | // ~DesktopHost() 173 | // { 174 | // } 175 | // HRESULT CreateAndInitWindow() override; 176 | // Element* GetMainContainer(); 177 | // Element* GetUIContainer(); 178 | // TouchButton* GetEmptySpace(); 179 | // LVItem* GetLVItemTemplate(); 180 | // Element* GetSelector(); 181 | // TouchButton* GetPreviousPageButton(); 182 | // TouchButton* GetNextPageButton(); 183 | // Element* GetDragPreviewTemplate(); 184 | // Element* GetRegularDragPreview(); 185 | // Element* GetTouchDragPreview(); 186 | //private: 187 | // Element* mainContainer; 188 | // Element* UIContainer; 189 | // TouchButton* emptyspace; 190 | // LVItem* g_outerElem; 191 | // Element* selector; 192 | // TouchButton* prevpageMain, *nextpageMain; 193 | // Element* g_dragpreview; 194 | // Element* dragpreview, *dragpreviewTouch; 195 | //}; 196 | 197 | // Common functions 198 | std::wstring LoadStrFromRes(UINT id); 199 | std::wstring LoadStrFromRes(UINT id, LPCWSTR dllName); 200 | std::wstring RemoveQuotes(const std::wstring& input); 201 | std::wstring GetDialogString(UINT id, LPCWSTR dllName, UINT optCtrlID, short uCtrlIDOrder); 202 | extern void DUI_SetGadgetZOrder(DirectUI::Element* pe, UINT uZOrder); 203 | BOOL ScheduleGadgetTransitions_DWMCheck(UINT uOrder, UINT rgTransSize, const GTRANS_DESC* rgTrans, HGADGET hgad, TransitionStoryboardInfo* ptsbInfo); 204 | extern void CALLBACK DUI_ParserErrorCB(const WCHAR* pszError, const WCHAR* pszToken, int dLine, void* pContext); 205 | extern bool EnsureRegValueExists(HKEY hKeyName, LPCWSTR path, LPCWSTR valueToFind); 206 | extern int GetRegistryValues(HKEY hKeyName, LPCWSTR path, LPCWSTR valueName); 207 | extern void SetRegistryValues(HKEY hKeyName, LPCWSTR path, LPCWSTR valueName, DWORD dwValue, bool find, bool* isNewValue); 208 | extern bool GetRegistryStrValues(HKEY hKeyName, LPCWSTR path, LPCWSTR valueName, WCHAR** outStr); 209 | extern bool GetRegistryBinValues(HKEY hKeyName, LPCWSTR path, LPCWSTR valueName, BYTE** outBytes); 210 | extern void SetRegistryBinValues(HKEY hKeyName, LPCWSTR path, LPCWSTR valueName, BYTE* bValue, DWORD length, bool find, bool* isNewValue); 211 | extern HRESULT CloakWindow(HWND hwnd, bool fCloak); 212 | extern float CalcAnimOrigin(float flOriginFrom, float flOriginTo, float flScaleFrom, float flScaleTo); 213 | 214 | extern void LaunchItem(LPCWSTR filename); 215 | 216 | extern bool isDefaultRes(); 217 | 218 | DWORD WINAPI fastin(LPVOID lpParam); 219 | DWORD WINAPI SetElemPos(LPVOID lpParam); 220 | 221 | template 222 | elemType regElem(const wchar_t* elemName, Element* peParent) 223 | { 224 | elemType result = (elemType)peParent->FindDescendent(StrToID(elemName)); 225 | return result; 226 | } 227 | EventListener* assignFn(Element* elemName, void (*fnName)(Element* elem, Event* iev), bool fReturn = false); 228 | EventListener2* assignExtendedFn(Element* elemName, void (*fnName)(Element* elem, const PropertyInfo* pProp, int type, Value* pV1, Value* pV2), bool fReturn = false); 229 | } 230 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]elease [Ss]tatic/ 24 | [Rr]eleases/ 25 | x64/ 26 | x86/ 27 | [Ww][Ii][Nn]32/ 28 | [Aa][Rr][Mm]/ 29 | [Aa][Rr][Mm]64/ 30 | bld/ 31 | [Bb]in/ 32 | [Oo]bj/ 33 | [Oo]ut/ 34 | [Ll]og/ 35 | [Ll]ogs/ 36 | 37 | # Visual Studio 2015/2017 cache/options directory 38 | .vs/ 39 | # Uncomment if you have tasks that create the project's static files in wwwroot 40 | #wwwroot/ 41 | 42 | # Visual Studio 2017 auto generated files 43 | Generated\ Files/ 44 | 45 | # MSTest test Results 46 | [Tt]est[Rr]esult*/ 47 | [Bb]uild[Ll]og.* 48 | 49 | # NUnit 50 | *.VisualState.xml 51 | TestResult.xml 52 | nunit-*.xml 53 | 54 | # Build Results of an ATL Project 55 | [Dd]ebugPS/ 56 | [Rr]eleasePS/ 57 | dlldata.c 58 | 59 | # Benchmark Results 60 | BenchmarkDotNet.Artifacts/ 61 | 62 | # .NET Core 63 | project.lock.json 64 | project.fragment.lock.json 65 | artifacts/ 66 | 67 | # ASP.NET Scaffolding 68 | ScaffoldingReadMe.txt 69 | 70 | # StyleCop 71 | StyleCopReport.xml 72 | 73 | # Files built by Visual Studio 74 | *_i.c 75 | *_p.c 76 | *_h.h 77 | *.ilk 78 | *.meta 79 | *.obj 80 | *.iobj 81 | *.pch 82 | *.pdb 83 | *.ipdb 84 | *.pgc 85 | *.pgd 86 | *.rsp 87 | *.sbr 88 | *.tlb 89 | *.tli 90 | *.tlh 91 | *.tmp 92 | *.tmp_proj 93 | *_wpftmp.csproj 94 | *.log 95 | *.vspscc 96 | *.vssscc 97 | .builds 98 | *.pidb 99 | *.svclog 100 | *.scc 101 | 102 | # Chutzpah Test files 103 | _Chutzpah* 104 | 105 | # Visual C++ cache files 106 | ipch/ 107 | *.aps 108 | *.ncb 109 | *.opendb 110 | *.opensdf 111 | *.sdf 112 | *.cachefile 113 | *.VC.db 114 | *.VC.VC.opendb 115 | 116 | # Visual Studio profiler 117 | *.psess 118 | *.vsp 119 | *.vspx 120 | *.sap 121 | 122 | # Visual Studio Trace Files 123 | *.e2e 124 | 125 | # TFS 2012 Local Workspace 126 | $tf/ 127 | 128 | # Guidance Automation Toolkit 129 | *.gpState 130 | 131 | # ReSharper is a .NET coding add-in 132 | _ReSharper*/ 133 | *.[Rr]e[Ss]harper 134 | *.DotSettings.user 135 | 136 | # TeamCity is a build add-in 137 | _TeamCity* 138 | 139 | # DotCover is a Code Coverage Tool 140 | *.dotCover 141 | 142 | # AxoCover is a Code Coverage Tool 143 | .axoCover/* 144 | !.axoCover/settings.json 145 | 146 | # Coverlet is a free, cross platform Code Coverage Tool 147 | coverage*.json 148 | coverage*.xml 149 | coverage*.info 150 | 151 | # Visual Studio code coverage results 152 | *.coverage 153 | *.coveragexml 154 | 155 | # NCrunch 156 | _NCrunch_* 157 | .*crunch*.local.xml 158 | nCrunchTemp_* 159 | 160 | # MightyMoose 161 | *.mm.* 162 | AutoTest.Net/ 163 | 164 | # Web workbench (sass) 165 | .sass-cache/ 166 | 167 | # Installshield output folder 168 | [Ee]xpress/ 169 | 170 | # DocProject is a documentation generator add-in 171 | DocProject/buildhelp/ 172 | DocProject/Help/*.HxT 173 | DocProject/Help/*.HxC 174 | DocProject/Help/*.hhc 175 | DocProject/Help/*.hhk 176 | DocProject/Help/*.hhp 177 | DocProject/Help/Html2 178 | DocProject/Help/html 179 | 180 | # Click-Once directory 181 | publish/ 182 | 183 | # Publish Web Output 184 | *.[Pp]ublish.xml 185 | *.azurePubxml 186 | # Note: Comment the next line if you want to checkin your web deploy settings, 187 | # but database connection strings (with potential passwords) will be unencrypted 188 | *.pubxml 189 | *.publishproj 190 | 191 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 192 | # checkin your Azure Web App publish settings, but sensitive information contained 193 | # in these scripts will be unencrypted 194 | PublishScripts/ 195 | 196 | # NuGet Packages 197 | *.nupkg 198 | # NuGet Symbol Packages 199 | *.snupkg 200 | # The packages folder can be ignored because of Package Restore 201 | **/[Pp]ackages/* 202 | # except build/, which is used as an MSBuild target. 203 | !**/[Pp]ackages/build/ 204 | # Uncomment if necessary however generally it will be regenerated when needed 205 | #!**/[Pp]ackages/repositories.config 206 | # NuGet v3's project.json files produces more ignorable files 207 | *.nuget.props 208 | *.nuget.targets 209 | 210 | # Microsoft Azure Build Output 211 | csx/ 212 | *.build.csdef 213 | 214 | # Microsoft Azure Emulator 215 | ecf/ 216 | rcf/ 217 | 218 | # Windows Store app package directories and files 219 | AppPackages/ 220 | BundleArtifacts/ 221 | Package.StoreAssociation.xml 222 | _pkginfo.txt 223 | *.appx 224 | *.appxbundle 225 | *.appxupload 226 | 227 | # Visual Studio cache files 228 | # files ending in .cache can be ignored 229 | *.[Cc]ache 230 | # but keep track of directories ending in .cache 231 | !?*.[Cc]ache/ 232 | 233 | # Others 234 | ClientBin/ 235 | ~$* 236 | *~ 237 | *.dbmdl 238 | *.dbproj.schemaview 239 | *.jfm 240 | *.pfx 241 | *.publishsettings 242 | orleans.codegen.cs 243 | 244 | # Including strong name files can present a security risk 245 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 246 | #*.snk 247 | 248 | # Since there are multiple workflows, uncomment next line to ignore bower_components 249 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 250 | #bower_components/ 251 | 252 | # RIA/Silverlight projects 253 | Generated_Code/ 254 | 255 | # Backup & report files from converting an old project file 256 | # to a newer Visual Studio version. Backup files are not needed, 257 | # because we have git ;-) 258 | _UpgradeReport_Files/ 259 | Backup*/ 260 | UpgradeLog*.XML 261 | UpgradeLog*.htm 262 | ServiceFabricBackup/ 263 | *.rptproj.bak 264 | 265 | # SQL Server files 266 | *.mdf 267 | *.ldf 268 | *.ndf 269 | 270 | # Business Intelligence projects 271 | *.rdl.data 272 | *.bim.layout 273 | *.bim_*.settings 274 | *.rptproj.rsuser 275 | *- [Bb]ackup.rdl 276 | *- [Bb]ackup ([0-9]).rdl 277 | *- [Bb]ackup ([0-9][0-9]).rdl 278 | 279 | # Microsoft Fakes 280 | FakesAssemblies/ 281 | 282 | # GhostDoc plugin setting file 283 | *.GhostDoc.xml 284 | 285 | # Node.js Tools for Visual Studio 286 | .ntvs_analysis.dat 287 | node_modules/ 288 | 289 | # Visual Studio 6 build log 290 | *.plg 291 | 292 | # Visual Studio 6 workspace options file 293 | *.opt 294 | 295 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 296 | *.vbw 297 | 298 | # Visual Studio LightSwitch build output 299 | **/*.HTMLClient/GeneratedArtifacts 300 | **/*.DesktopClient/GeneratedArtifacts 301 | **/*.DesktopClient/ModelManifest.xml 302 | **/*.Server/GeneratedArtifacts 303 | **/*.Server/ModelManifest.xml 304 | _Pvt_Extensions 305 | 306 | # Paket dependency manager 307 | .paket/paket.exe 308 | paket-files/ 309 | 310 | # FAKE - F# Make 311 | .fake/ 312 | 313 | # CodeRush personal settings 314 | .cr/personal 315 | 316 | # Python Tools for Visual Studio (PTVS) 317 | __pycache__/ 318 | *.pyc 319 | 320 | # Cake - Uncomment if you are using it 321 | # tools/** 322 | # !tools/packages.config 323 | 324 | # Tabs Studio 325 | *.tss 326 | 327 | # Telerik's JustMock configuration file 328 | *.jmconfig 329 | 330 | # BizTalk build output 331 | *.btp.cs 332 | *.btm.cs 333 | *.odx.cs 334 | *.xsd.cs 335 | 336 | # OpenCover UI analysis results 337 | OpenCover/ 338 | 339 | # Azure Stream Analytics local run output 340 | ASALocalRun/ 341 | 342 | # MSBuild Binary and Structured Log 343 | *.binlog 344 | 345 | # NVidia Nsight GPU debugger configuration file 346 | *.nvuser 347 | 348 | # MFractors (Xamarin productivity tool) working folder 349 | .mfractor/ 350 | 351 | # Local History for Visual Studio 352 | .localhistory/ 353 | 354 | # BeatPulse healthcheck temp database 355 | healthchecksdb 356 | 357 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 358 | MigrationBackup/ 359 | 360 | # Ionide (cross platform F# VS Code tools) working folder 361 | .ionide/ 362 | 363 | # Fody - auto-generated XML schema 364 | FodyWeavers.xsd 365 | 366 | DirectDesktop/x64/ 367 | x64/Debug 368 | /build 369 | /.idea 370 | -------------------------------------------------------------------------------- /DirectDesktop/coreui/BlurCore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "StyleModifier.h" 4 | #include "..\DirectDesktop.h" 5 | #include 6 | 7 | using namespace std; 8 | 9 | namespace DirectDesktop 10 | { 11 | // https://blog.ivank.net/fastest-gaussian-blur.html 12 | 13 | vector boxesForGauss(float sigma, int n) // standard deviation, number of boxes 14 | { 15 | auto wIdeal = sqrt((12 * sigma * sigma / n) + 1); // Ideal averaging filter width 16 | int wl = floor(wIdeal); 17 | if (wl % 2 == 0) 18 | wl--; 19 | int wu = wl + 2; 20 | 21 | auto mIdeal = (12 * sigma * sigma - n * wl * wl - 4 * n * wl - 3 * n) / (-4 * wl - 4); 22 | int m = round(mIdeal); 23 | 24 | vector sizes(n); 25 | for (auto i = 0; i < n; i++) 26 | sizes[i] = i < m ? wl : wu; 27 | return sizes; 28 | } 29 | 30 | void boxBlurH_4(vector& scl, vector& tcl, int w, int h, int r) 31 | { 32 | float iarr = 1.f / (r + r + 1); 33 | for (auto i = 0; i < h; i++) 34 | { 35 | auto ti = i * w, li = ti, ri = ti + r; 36 | auto fv = scl[ti], lv = scl[ti + w - 1]; 37 | auto val = (r + 1) * fv; 38 | for (auto j = 0; j < r; j++) val += scl[ti + j]; 39 | for (auto j = 0; j <= r; j++) 40 | { 41 | val += scl[ri++] - fv; 42 | tcl[ti++] = round(val * iarr); 43 | } 44 | for (auto j = r + 1; j < w - r; j++) 45 | { 46 | val += scl[ri++] - scl[li++]; 47 | tcl[ti++] = round(val * iarr); 48 | } 49 | for (auto j = w - r; j < w; j++) 50 | { 51 | val += lv - scl[li++]; 52 | tcl[ti++] = round(val * iarr); 53 | } 54 | } 55 | } 56 | 57 | void boxBlurT_4(vector& scl, vector& tcl, int w, int h, int r) 58 | { 59 | float iarr = 1.f / (r + r + 1); 60 | for (auto i = 0; i < w; i++) 61 | { 62 | auto ti = i, li = ti, ri = ti + r * w; 63 | auto fv = scl[ti], lv = scl[ti + w * (h - 1)]; 64 | auto val = (r + 1) * fv; 65 | for (auto j = 0; j < r; j++) val += scl[ti + j * w]; 66 | for (auto j = 0; j <= r; j++) 67 | { 68 | val += scl[ri] - fv; 69 | tcl[ti] = round(val * iarr); 70 | ri += w; 71 | ti += w; 72 | } 73 | for (auto j = r + 1; j < h - r; j++) 74 | { 75 | val += scl[ri] - scl[li]; 76 | tcl[ti] = round(val * iarr); 77 | li += w; 78 | ri += w; 79 | ti += w; 80 | } 81 | for (auto j = h - r; j < h; j++) 82 | { 83 | val += lv - scl[li]; 84 | tcl[ti] = round(val * iarr); 85 | li += w; 86 | ti += w; 87 | } 88 | } 89 | } 90 | 91 | void boxBlur_4(vector& scl, vector& tcl, int w, int h, int r) 92 | { 93 | for (auto i = 0; i < scl.size(); i++) tcl[i] = scl[i]; 94 | boxBlurH_4(tcl, scl, w, h, r); 95 | boxBlurT_4(scl, tcl, w, h, r); 96 | } 97 | 98 | void gaussBlur_4(vector& scl, vector& tcl, int w, int h, int r) 99 | { 100 | auto bxs = boxesForGauss(r, 3); 101 | boxBlur_4(scl, tcl, w, h, (bxs[0] - 1) / 2); 102 | boxBlur_4(tcl, scl, w, h, (bxs[1] - 1) / 2); 103 | boxBlur_4(scl, tcl, w, h, (bxs[2] - 1) / 2); 104 | } 105 | 106 | void Blur(vector& source, int w, int h, int radius) 107 | { 108 | vector lowpass = source; // copy constructor 109 | vector target(source.size(), 0); 110 | gaussBlur_4(lowpass, target, w, h, radius); 111 | 112 | source = target; 113 | lowpass.clear(); 114 | target.clear(); 115 | } 116 | 117 | // https://github.com/ALTaleX531/TranslucentFlyouts/blob/master/TFMain/EffectHelper.hpp 118 | 119 | enum class WINDOWCOMPOSITIONATTRIBUTE 120 | { 121 | WCA_UNDEFINED, 122 | WCA_NCRENDERING_ENABLED, 123 | WCA_NCRENDERING_POLICY, 124 | WCA_TRANSITIONS_FORCEDISABLED, 125 | WCA_ALLOW_NCPAINT, 126 | WCA_CAPTION_BUTTON_BOUNDS, 127 | WCA_NONCLIENT_RTL_LAYOUT, 128 | WCA_FORCE_ICONIC_REPRESENTATION, 129 | WCA_EXTENDED_FRAME_BOUNDS, 130 | WCA_HAS_ICONIC_BITMAP, 131 | WCA_THEME_ATTRIBUTES, 132 | WCA_NCRENDERING_EXILED, 133 | WCA_NCADORNMENTINFO, 134 | WCA_EXCLUDED_FROM_LIVEPREVIEW, 135 | WCA_VIDEO_OVERLAY_ACTIVE, 136 | WCA_FORCE_ACTIVEWINDOW_APPEARANCE, 137 | WCA_DISALLOW_PEEK, 138 | WCA_CLOAK, 139 | WCA_CLOAKED, 140 | WCA_ACCENT_POLICY, 141 | WCA_FREEZE_REPRESENTATION, 142 | WCA_EVER_UNCLOAKED, 143 | WCA_VISUAL_OWNER, 144 | WCA_HOLOGRAPHIC, 145 | WCA_EXCLUDED_FROM_DDA, 146 | WCA_PASSIVEUPDATEMODE, 147 | WCA_USEDARKMODECOLORS, 148 | WCA_CORNER_STYLE, 149 | WCA_PART_COLOR, 150 | WCA_DISABLE_MOVESIZE_FEEDBACK, 151 | WCA_LAST 152 | }; 153 | 154 | struct WINDOWCOMPOSITIONATTRIBDATA 155 | { 156 | DWORD dwAttribute; 157 | PVOID pvData; 158 | SIZE_T cbData; 159 | }; 160 | 161 | enum class ACCENT_STATE 162 | { 163 | ACCENT_DISABLED, 164 | ACCENT_ENABLE_GRADIENT, 165 | ACCENT_ENABLE_TRANSPARENTGRADIENT, 166 | ACCENT_ENABLE_BLURBEHIND, // Removed in Windows 11 22H2+ 167 | ACCENT_ENABLE_ACRYLICBLURBEHIND, 168 | ACCENT_ENABLE_HOSTBACKDROP, 169 | ACCENT_INVALID_STATE 170 | }; 171 | 172 | enum class ACCENT_FLAG 173 | { 174 | ACCENT_NONE, 175 | ACCENT_ENABLE_MODERN_ACRYLIC_RECIPE = 1 << 1, // Windows 11 22H2+ exclusive 176 | ACCENT_ENABLE_GRADIENT_COLOR = 1 << 1, // ACCENT_ENABLE_BLURBEHIND 177 | ACCENT_ENABLE_FULLSCREEN = 1 << 2, 178 | ACCENT_ENABLE_BORDER_LEFT = 1 << 5, 179 | ACCENT_ENABLE_BORDER_TOP = 1 << 6, 180 | ACCENT_ENABLE_BORDER_RIGHT = 1 << 7, 181 | ACCENT_ENABLE_BORDER_BOTTOM = 1 << 8, 182 | ACCENT_ENABLE_BLUR_RECT = 1 << 9, // DwmpUpdateAccentBlurRect, it conflicts with ACCENT_ENABLE_GRADIENT_COLOR when using ACCENT_ENABLE_BLURBEHIND 183 | ACCENT_ENABLE_BORDER = ACCENT_ENABLE_BORDER_LEFT | ACCENT_ENABLE_BORDER_TOP | ACCENT_ENABLE_BORDER_RIGHT | ACCENT_ENABLE_BORDER_BOTTOM 184 | }; 185 | 186 | struct ACCENT_POLICY 187 | { 188 | DWORD AccentState; 189 | DWORD AccentFlags; 190 | DWORD dwGradientColor; 191 | DWORD dwAnimationId; 192 | }; 193 | 194 | typedef BOOL (WINAPI*pfnSetWindowCompositionAttribute)(HWND, WINDOWCOMPOSITIONATTRIBDATA*); 195 | 196 | void ToggleAcrylicBlur(HWND hwnd, bool blur, bool fullscreen, BYTE alpha, Element* peOptional) 197 | { 198 | if (peOptional) peOptional->SetClass(L"TransparentDisabled"); 199 | if ((GetRegistryValues(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", L"EnableTransparency") == 1 || !fullscreen) && DWMActive) 200 | { 201 | HMODULE hUser = GetModuleHandleW(L"user32.dll"); 202 | if (hUser) 203 | { 204 | pfnSetWindowCompositionAttribute SetWindowCompositionAttribute = 205 | (pfnSetWindowCompositionAttribute)GetProcAddress(hUser, "SetWindowCompositionAttribute"); 206 | 207 | if (SetWindowCompositionAttribute) 208 | { 209 | WCHAR* WindowsBuildStr; 210 | GetRegistryStrValues(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", L"CurrentBuildNumber", &WindowsBuildStr); 211 | int WindowsBuild = _wtoi(WindowsBuildStr); 212 | free(WindowsBuildStr); 213 | int blurcolor = fullscreen ? (g_theme ? 0xD3D3D3 : 0x202020) + (alpha << 24) : WindowsBuild < 22523 ? g_theme ? 0xDCE4E4E4 : 0xCA1F1F1F : g_theme ? 0x00F8F8F8 : 0x00303030; 214 | ACCENT_POLICY policy = { static_cast(ACCENT_STATE::ACCENT_DISABLED), fullscreen ? static_cast(ACCENT_FLAG::ACCENT_NONE) : static_cast(ACCENT_FLAG::ACCENT_ENABLE_BORDER), blurcolor, 0 }; 215 | WINDOWCOMPOSITIONATTRIBDATA data = { static_cast(WINDOWCOMPOSITIONATTRIBUTE::WCA_ACCENT_POLICY), &policy, sizeof(ACCENT_POLICY) }; 216 | policy.AccentState = static_cast(blur ? ACCENT_STATE::ACCENT_ENABLE_ACRYLICBLURBEHIND : ACCENT_STATE::ACCENT_DISABLED); 217 | if (!fullscreen && WindowsBuild >= 22523) 218 | policy.AccentFlags |= static_cast(ACCENT_FLAG::ACCENT_ENABLE_MODERN_ACRYLIC_RECIPE); 219 | SetWindowCompositionAttribute(hwnd, &data); 220 | if (peOptional) peOptional->SetClass(L"TransparentEnabled"); 221 | } 222 | } 223 | } 224 | } 225 | 226 | void ToggleAcrylicBlur2(HWND hwnd, bool blur, bool fullscreen, Element* peOptional) 227 | { 228 | } 229 | } 230 | -------------------------------------------------------------------------------- /DirectDesktop/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by DirectDesktop.rc 4 | // 5 | #define IDC_MYICON 2 6 | #define IDR_UIFILE1 31 7 | #define IDR_UIFILE2 32 8 | #define IDR_UIFILE3 33 9 | #define IDR_UIFILE4 34 10 | #define IDR_UIFILE5 35 11 | #define IDR_UIFILE6 36 12 | #define IDD_DIRECTDESKTOP_DIALOG 102 13 | #define IDS_APP_TITLE 103 14 | #define IDD_ABOUTBOX 103 15 | #define IDM_ABOUT 104 16 | #define IDS_STRING104 104 17 | #define IDM_EXIT 105 18 | #define IDI_DIRECTDESKTOP 107 19 | #define IDI_SMALL 108 20 | #define IDC_DIRECTDESKTOP 109 21 | #define IDR_MAINFRAME 128 22 | #define IDB_BITMAP1 130 23 | #define IDS_STRING130 130 24 | #define IDB_BITMAP2 131 25 | #define IDS_STRING131 131 26 | #define IDS_STRING132 132 27 | #define IDB_BITMAP3 133 28 | #define IDS_STRING133 133 29 | #define IDS_STRING134 134 30 | #define IDS_STRING135 135 31 | #define IDS_STRING136 136 32 | #define IDS_STRING137 137 33 | #define IDS_STRING138 138 34 | #define IDS_STRING139 139 35 | #define IDS_STRING140 140 36 | #define IDS_STRING141 141 37 | #define IDS_STRING142 142 38 | #define IDS_STRING143 143 39 | #define IDS_STRING144 144 40 | #define IDS_STRING145 145 41 | #define IDS_STRING146 146 42 | #define IDS_STRING147 147 43 | #define IDS_STRING148 148 44 | #define IDS_STRING149 149 45 | #define IDS_STRING150 150 46 | #define IDS_STRING151 151 47 | #define IDS_STRING152 152 48 | #define IDS_STRING153 153 49 | #define IDS_STRING154 154 50 | #define IDS_STRING155 155 51 | #define IDS_STRING156 156 52 | #define IDS_STRING157 157 53 | #define IDS_STRING158 158 54 | #define IDS_STRING159 159 55 | #define IDS_STRING160 160 56 | #define IDS_STRING161 161 57 | #define IDS_STRING162 162 58 | #define IDS_STRING163 163 59 | #define IDS_STRING164 164 60 | #define IDS_STRING165 165 61 | #define IDS_STRING166 166 62 | #define IDS_STRING167 167 63 | #define IDS_STRING168 168 64 | #define IDS_STRING169 169 65 | #define IDS_STRING170 170 66 | #define IDS_STRING171 171 67 | #define IDS_STRING172 172 68 | #define IDS_STRING173 173 69 | #define IDS_STRING174 174 70 | #define IDS_STRING175 175 71 | #define IDS_STRING176 176 72 | #define IDS_STRING177 177 73 | #define IDS_STRING178 178 74 | #define IDS_STRING179 179 75 | #define IDS_STRING180 180 76 | #define IDS_STRING181 181 77 | #define IDS_STRING182 182 78 | #define IDS_STRING183 183 79 | #define IDS_STRING200 200 80 | #define IDS_STRING201 201 81 | #define IDS_STRING202 202 82 | #define IDS_STRING203 203 83 | #define IDS_STRING204 204 84 | #define IDS_STRING205 205 85 | #define IDS_STRING206 206 86 | #define IDS_STRING207 207 87 | #define IDS_STRING208 208 88 | #define IDS_STRING209 209 89 | #define IDS_STRING210 210 90 | #define IDS_STRING211 211 91 | #define IDS_STRING212 212 92 | #define IDS_STRING213 213 93 | #define IDS_STRING214 214 94 | #define IDS_STRING215 215 95 | #define IDS_STRING216 216 96 | #define IDS_STRING217 217 97 | #define IDS_STRING218 218 98 | #define IDS_STRING219 219 99 | #define IDS_STRING220 220 100 | #define IDS_STRING4001 4001 101 | #define IDS_STRING4002 4002 102 | #define IDS_STRING4003 4003 103 | #define IDS_STRING4004 4004 104 | #define IDS_STRING4005 4005 105 | #define IDS_STRING4006 4006 106 | #define IDS_STRING4007 4007 107 | #define IDS_STRING4008 4008 108 | #define IDS_STRING4009 4009 109 | #define IDS_STRING4010 4010 110 | #define IDS_STRING4011 4011 111 | #define IDS_STRING4012 4012 112 | #define IDS_STRING4013 4013 113 | #define IDS_STRING4014 4014 114 | #define IDS_STRING4015 4015 115 | #define IDS_STRING4016 4016 116 | #define IDS_STRING4017 4017 117 | #define IDS_STRING4018 4018 118 | #define IDS_STRING4019 4019 119 | #define IDS_STRING4020 4020 120 | #define IDS_STRING4021 4021 121 | #define IDS_STRING4022 4022 122 | #define IDS_STRING4023 4023 123 | #define IDS_STRING4024 4024 124 | #define IDS_STRING4025 4025 125 | #define IDS_STRING4026 4026 126 | #define IDS_STRING4027 4027 127 | #define IDS_STRING4028 4028 128 | #define IDS_STRING4029 4029 129 | #define IDS_STRING4030 4030 130 | #define IDS_STRING4031 4031 131 | #define IDS_STRING4032 4032 132 | #define IDS_STRING4033 4033 133 | #define IDS_STRING4034 4034 134 | #define IDS_STRING4035 4035 135 | #define IDS_STRING4036 4036 136 | #define IDS_STRING4037 4037 137 | #define IDS_STRING4038 4038 138 | #define IDS_STRING4039 4039 139 | #define IDS_STRING4040 4040 140 | #define IDS_STRING4041 4041 141 | #define IDS_STRING4042 4042 142 | #define IDS_STRING4043 4043 143 | #define IDS_STRING4044 4044 144 | #define IDS_STRING4045 4045 145 | #define IDS_STRING4046 4046 146 | #define IDS_STRING4047 4047 147 | #define IDS_STRING4048 4048 148 | #define IDS_STRING4049 4049 149 | #define IDS_STRING4050 4050 150 | #define IDS_STRING4051 4051 151 | #define IDS_STRING4052 4052 152 | #define IDS_STRING4053 4053 153 | #define IDS_STRING4054 4054 154 | #define IDS_STRING4055 4055 155 | #define IDS_STRING4056 4056 156 | #define IDS_STRING4057 4057 157 | #define IDS_STRING4058 4058 158 | #define IDS_STRING4059 4059 159 | #define IDS_STRING4060 4060 160 | #define IDS_STRING4061 4061 161 | #define IDS_STRING4062 4062 162 | #define IDS_STRING4063 4063 163 | #define IDS_STRING4064 4064 164 | #define IDS_STRING4065 4065 165 | #define IDS_STRING4066 4066 166 | #define IDS_STRING4067 4067 167 | #define IDS_STRING4068 4068 168 | #define IDS_STRING4069 4069 169 | #define IDS_STRING4070 4070 170 | #define IDS_STRING4071 4071 171 | #define IDS_STRING4072 4072 172 | #define IDS_STRING4073 4073 173 | #define IDS_STRING4074 4074 174 | #define IDS_STRING4075 4075 175 | #define IDS_STRING4076 4076 176 | #define IDS_STRING4077 4077 177 | #define IDS_STRING4078 4078 178 | #define IDS_STRING4079 4079 179 | #define IDS_STRING4080 4080 180 | #define IDS_STRING4081 4081 181 | #define IDS_STRING4082 4082 182 | #define IDS_STRING4083 4083 183 | #define IDS_STRING4084 4084 184 | #define IDS_STRING4085 4085 185 | #define IDS_STRING4086 4086 186 | #define IDS_STRING4087 4087 187 | #define IDS_STRING4088 4088 188 | #define IDS_STRING4089 4089 189 | #define IDS_STRING4090 4090 190 | #define IDS_STRING4091 4091 191 | #define IDS_STRING4092 4092 192 | #define IDS_STRING4093 4093 193 | #define IDS_STRING4094 4094 194 | #define IDS_STRING4095 4095 195 | #define IDS_STRING4096 4096 196 | #define IDS_STRING4097 4097 197 | #define IDS_STRING4098 4098 198 | #define IDC_STATIC -1 199 | 200 | // Next default values for new objects 201 | // 202 | #ifdef APSTUDIO_INVOKED 203 | #ifndef APSTUDIO_READONLY_SYMBOLS 204 | #define _APS_NO_MFC 1 205 | #define _APS_NEXT_RESOURCE_VALUE 946 206 | #define _APS_NEXT_COMMAND_VALUE 32771 207 | #define _APS_NEXT_CONTROL_VALUE 1000 208 | #define _APS_NEXT_SYMED_VALUE 110 209 | #endif 210 | #endif 211 | -------------------------------------------------------------------------------- /DirectDesktop/ui/shutdown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | // Extra padding, honestly don't know if it's good or not 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | // Use 12rp instead of 16 if using standard titlebar 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 121 | 179 | 180 | -------------------------------------------------------------------------------- /DirectDesktop/ui/SearchPage.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | 3 | #include "SearchPage.h" 4 | #include "..\DirectDesktop.h" 5 | #include "..\coreui\BitmapHelper.h" 6 | #include "..\backend\DirectoryHelper.h" 7 | 8 | #ifdef HAS_SEARCH 9 | #include "EverythingSearch/Everything.h" 10 | #pragma comment (lib, "Everything64.lib") 11 | #endif 12 | 13 | using namespace DirectUI; 14 | 15 | namespace DirectDesktop 16 | { 17 | NativeHWNDHost* searchwnd; 18 | DUIXmlParser* parserSearch; 19 | HWNDElement* parentSearch; 20 | Element* pSearch; 21 | DDScalableTouchEdit* searchbox; 22 | WNDPROC WndProcSearch; 23 | 24 | void DestroySearchPage(); 25 | 26 | LRESULT CALLBACK SearchWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 27 | { 28 | switch (uMsg) 29 | { 30 | case WM_CLOSE: 31 | SetTimer(hWnd, 1, 50, nullptr); 32 | return 0; 33 | case WM_DESTROY: 34 | return 0; 35 | case WM_TIMER: 36 | KillTimer(hWnd, wParam); 37 | switch (wParam) 38 | { 39 | case 1: 40 | DestroySearchPage(); 41 | break; 42 | } 43 | case WM_USER + 1: 44 | { 45 | searchbox->SetKeyFocus(); 46 | break; 47 | } 48 | } 49 | return CallWindowProc(WndProcSearch, hWnd, uMsg, wParam, lParam); 50 | } 51 | 52 | DWORD WINAPI AnimateSearchWindow(LPVOID lpParam) 53 | { 54 | DWORD animCoef = g_animCoef; 55 | if (g_AnimShiftKey && !(GetAsyncKeyState(VK_SHIFT) & 0x8000)) animCoef = 100; 56 | AnimateWindow(searchwnd->GetHWND(), 150 * (animCoef / 100.0f), AW_BLEND); 57 | SendMessageW(searchwnd->GetHWND(), WM_USER + 1, NULL, NULL); 58 | return 0; 59 | } 60 | 61 | DWORD WINAPI AnimateSearchWindow2(LPVOID lpParam) 62 | { 63 | DWORD animCoef = g_animCoef; 64 | if (g_AnimShiftKey && !(GetAsyncKeyState(VK_SHIFT) & 0x8000)) animCoef = 100; 65 | Sleep(175 * (animCoef / 100.0f)); 66 | AnimateWindow(searchwnd->GetHWND(), 120 * (animCoef / 100.0f), AW_BLEND | AW_HIDE); 67 | searchwnd->DestroyWindow(); 68 | SetForegroundWindow(wnd->GetHWND()); 69 | g_searchopen = false; 70 | return 0; 71 | } 72 | 73 | void LaunchSearchResult(Element* elem, Event* iev) 74 | { 75 | if (iev->uidType == TouchButton::Click) 76 | { 77 | wstring temp = ((LVItem*)elem)->GetFilename(); 78 | SHELLEXECUTEINFOW execInfo = {}; 79 | execInfo.cbSize = sizeof(SHELLEXECUTEINFOW); 80 | execInfo.lpVerb = L"open"; 81 | execInfo.nShow = SW_SHOWNORMAL; 82 | execInfo.lpFile = temp.c_str(); 83 | ShellExecuteExW(&execInfo); 84 | } 85 | } 86 | 87 | void DisplayResults(Element* elem, Event* iev) 88 | { 89 | static LPWSTR path{}; 90 | GetRegistryStrValues(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders", L"Desktop", &path); 91 | if (iev->uidType == TouchButton::Click || iev->uidType == TouchButton::MultipleClick) 92 | { 93 | MessageBeep(MB_OK); 94 | //CValuePtr v; 95 | //if (wcslen(searchbox->GetContentString(&v)) < 2) return; 96 | //WCHAR* PublicPath = new WCHAR[260]; 97 | //WCHAR* OneDrivePath = new WCHAR[260]; 98 | //WCHAR* cBuffer = new WCHAR[260]; 99 | //DWORD d = GetEnvironmentVariableW(L"PUBLIC", cBuffer, 260); 100 | //StringCchPrintfW(PublicPath, 260, L"%s\\Desktop", cBuffer); 101 | //d = GetEnvironmentVariableW(L"OneDrive", cBuffer, 260); 102 | //StringCchPrintfW(OneDrivePath, 260, L"%s\\Desktop", cBuffer); 103 | CSafeElementPtr rescontainer; 104 | rescontainer.Assign(regElem(L"rescontainer", pSearch)); 105 | //rescontainer->DestroyAll(true); 106 | //WCHAR* searchquery = new WCHAR[1024]; 107 | //StringCchPrintfW(searchquery, 1024, L"%s | %s | %s %s", path, PublicPath, OneDrivePath, searchbox->GetContentString(&v)); 108 | //Everything_SetSearchW(searchquery); 109 | //Everything_QueryW(TRUE); 110 | //delete[] searchquery; 111 | //delete[] cBuffer; 112 | //delete[] PublicPath; 113 | //delete[] OneDrivePath; 114 | //LVItem* SearchResultPlaceholder{}; 115 | //parserSearch->CreateElement(L"SearchResult", NULL, NULL, NULL, (Element**)&SearchResultPlaceholder); 116 | RichText* ResultCount{}; 117 | parserSearch->CreateElement(L"ResultCount", nullptr, nullptr, nullptr, (Element**)&ResultCount); 118 | rescontainer->Add((Element**)&ResultCount, 1); 119 | //WCHAR* resultc = new WCHAR[64]; 120 | //StringCchPrintfW(resultc, 64, L"%d items", Everything_GetNumResults()); 121 | MessageBeep(MB_OK); 122 | CSafeElementPtr ddnb; 123 | ddnb.Assign(new DDNotificationBanner); 124 | ddnb->CreateBanner(DDNT_INFO, nullptr, L"Search will be available by version 0.6", 5); 125 | //rescontainer->SetHeight(Everything_GetNumResults() * SearchResultPlaceholder->GetHeight() + 40); 126 | //for (int i = 0; i < Everything_GetNumResults(); i++) { 127 | // WCHAR* nameStr = new WCHAR[256]; 128 | // WCHAR* pathStr = new WCHAR[256]; 129 | // StringCchPrintfW(nameStr, 256, L"NAME: %s", Everything_GetResultFileNameW(i)); 130 | // StringCchPrintfW(pathStr, 256, L"PATH: %s", Everything_GetResultPathW(i)); 131 | // LVItem* SearchResult{}; 132 | // parserSearch->CreateElement(L"SearchResult", NULL, NULL, NULL, (Element**)&SearchResult); 133 | // rescontainer->Add((Element**)&SearchResult, 1); 134 | // RichText* name = regElem(L"name", SearchResult); 135 | // RichText* path = regElem(L"path", SearchResult); 136 | // name->SetContentString(nameStr); 137 | // path->SetContentString(pathStr); 138 | // SearchResult->SetFilename((wstring)Everything_GetResultPathW(i) + L"\\" + Everything_GetResultFileNameW(i)); 139 | // assignFn(SearchResult, LaunchSearchResult); 140 | // delete[] nameStr; 141 | // delete[] pathStr; 142 | //} 143 | //delete[] resultc; 144 | //free(SearchResultPlaceholder); 145 | } 146 | } 147 | 148 | void CloseSearch(Element* elem, Event* iev) 149 | { 150 | if (iev->uidType == TouchButton::Click) 151 | { 152 | SetTimer(searchwnd->GetHWND(), 1, 50, nullptr); 153 | } 154 | } 155 | 156 | void CreateSearchPage(bool WinAltQ) 157 | { 158 | if (g_searchopen) return; 159 | if (WinAltQ) SendMessageW(g_hWndTaskbar, WM_COMMAND, 419, 0); 160 | g_searchopen = true; 161 | unsigned long key4 = 0; 162 | RECT dimensions; 163 | SystemParametersInfoW(SPI_GETWORKAREA, sizeof(dimensions), &dimensions, NULL); 164 | static IElementListener* pel_DisplayResults, * pel_CloseSearch; 165 | DWORD dwExStyle = WS_EX_TOOLWINDOW, dwCreateFlags = NULL, dwHostFlags = NULL; 166 | if (DWMActive) 167 | { 168 | dwExStyle |= WS_EX_LAYERED | WS_EX_NOREDIRECTIONBITMAP; 169 | dwCreateFlags = 0x38; 170 | dwHostFlags = 0x43; 171 | } 172 | NativeHWNDHost::Create(L"DD_SearchHost", L"DirectDesktop Everything Search Wrapper", nullptr, nullptr, 173 | dimensions.left, dimensions.top, dimensions.right - dimensions.left, dimensions.bottom - dimensions.top, dwExStyle, WS_POPUP, nullptr, dwHostFlags, &searchwnd); 174 | DUIXmlParser::Create(&parserSearch, nullptr, nullptr, DUI_ParserErrorCB, nullptr); 175 | parserSearch->SetXMLFromResource(IDR_UIFILE5, HINST_THISCOMPONENT, HINST_THISCOMPONENT); 176 | HWNDElement::Create(searchwnd->GetHWND(), true, dwCreateFlags, nullptr, &key4, (Element**)&parentSearch); 177 | parserSearch->CreateElement(L"SearchUI", parentSearch, nullptr, nullptr, &pSearch); 178 | WndProcSearch = (WNDPROC)SetWindowLongPtrW(searchwnd->GetHWND(), GWLP_WNDPROC, (LONG_PTR)SearchWindowProc); 179 | pSearch->SetVisible(true); 180 | pSearch->EndDefer(key4); 181 | CSafeElementPtr searchbase; 182 | searchbase.Assign(regElem(L"searchbase", pSearch)); 183 | LPWSTR sheetName = g_theme ? (LPWSTR)L"searchstyle" : (LPWSTR)L"searchstyledark"; 184 | StyleSheet* sheet = pSearch->GetSheet(); 185 | CValuePtr sheetStorage = DirectUI::Value::CreateStyleSheet(sheet); 186 | parserSearch->GetSheet(sheetName, &sheetStorage); 187 | pSearch->SetValue(Element::SheetProp, 1, sheetStorage); 188 | searchbox = regElem(L"searchbox", pSearch); 189 | free(pel_DisplayResults), free(pel_CloseSearch); 190 | CSafeElementPtr searchbutton; 191 | searchbutton.Assign(regElem(L"searchbutton", pSearch)); 192 | pel_DisplayResults = (IElementListener*)assignFn(searchbutton, DisplayResults, true); 193 | CSafeElementPtr closebutton; 194 | closebutton.Assign(regElem(L"closebutton", pSearch)); 195 | pel_CloseSearch = (IElementListener*)assignFn(closebutton, CloseSearch, true); 196 | CSafeElementPtr SearchResults; 197 | SearchResults.Assign(regElem(L"SearchResults", pSearch)); 198 | CSafeElementPtr pagecontent; 199 | pagecontent.Assign(regElem(L"pagecontent", pSearch)); 200 | searchwnd->Host(pSearch); 201 | searchwnd->ShowWindow(SW_HIDE); 202 | GTRANS_DESC transDesc[1]; 203 | TriggerScaleOut(UIContainer, transDesc, 0, 0.0f, 0.67f, 0.1f, 0.9f, 0.2f, 1.0f, 0.92f, 0.92f, 0.5f, 0.5f, false, false); 204 | TransitionStoryboardInfo tsbInfo = {}; 205 | ScheduleGadgetTransitions_DWMCheck(0, ARRAYSIZE(transDesc), transDesc, UIContainer->GetDisplayNode(), &tsbInfo); 206 | GTRANS_DESC transDesc2[2]; 207 | TriggerFade(pagecontent, transDesc2, 0, 0.05f, 0.18f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, true, false, false); 208 | TriggerScaleIn(pagecontent, transDesc2, 1, 0.05f, 0.72f, 0.1f, 0.9f, 0.2f, 1.0f, 0.75f, 0.75f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, false, false); 209 | ScheduleGadgetTransitions_DWMCheck(0, ARRAYSIZE(transDesc2), transDesc2, pagecontent->GetDisplayNode(), &tsbInfo); 210 | MARGINS m = { -1, -1, -1, -1 }; 211 | if (DWMActive) 212 | { 213 | AddLayeredRef(searchbase->GetDisplayNode()); 214 | SetGadgetFlags(searchbase->GetDisplayNode(), NULL, NULL); 215 | AddLayeredRef(pagecontent->GetParent()->GetDisplayNode()); 216 | SetGadgetFlags(pagecontent->GetParent()->GetDisplayNode(), NULL, NULL); 217 | DwmExtendFrameIntoClientArea(searchwnd->GetHWND(), &m); 218 | } 219 | HANDLE AnimHandle = CreateThread(nullptr, 0, AnimateSearchWindow, nullptr, NULL, nullptr); 220 | if (AnimHandle) CloseHandle(AnimHandle); 221 | BlurBackground(searchwnd->GetHWND(), true, true, 0x99, searchbase); 222 | } 223 | 224 | void DestroySearchPage() 225 | { 226 | GTRANS_DESC transDesc[1]; 227 | TriggerScaleOut(UIContainer, transDesc, 0, 0.175f, 0.675f, 0.1f, 0.9f, 0.2f, 1.0f, 1.0f, 1.0f, 0.5f, 0.5f, false, false); 228 | TransitionStoryboardInfo tsbInfo = {}; 229 | ScheduleGadgetTransitions_DWMCheck(0, ARRAYSIZE(transDesc), transDesc, UIContainer->GetDisplayNode(), &tsbInfo); 230 | DUI_SetGadgetZOrder(UIContainer, -1); 231 | CSafeElementPtr pagecontent; 232 | pagecontent.Assign(regElem(L"pagecontent", pSearch)); 233 | GTRANS_DESC transDesc2[2]; 234 | TriggerScaleOut(pagecontent, transDesc2, 0, 0.0f, 0.175f, 1.0f, 1.0f, 0.0f, 1.0f, 0.95f, 0.95f, 0.5f, 0.5f, false, false); 235 | TriggerFade(pagecontent, transDesc2, 1, 0.0f, 0.15f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 0.0f, true, false, true); 236 | ScheduleGadgetTransitions_DWMCheck(0, ARRAYSIZE(transDesc2), transDesc2, pagecontent->GetDisplayNode(), &tsbInfo); 237 | SendMessageW(g_hWndTaskbar, WM_COMMAND, 416, 0); 238 | DWORD animThread; 239 | HANDLE animThreadHandle = CreateThread(nullptr, 0, AnimateSearchWindow2, nullptr, 0, &animThread); 240 | if (animThreadHandle) CloseHandle(animThreadHandle); 241 | } 242 | } 243 | -------------------------------------------------------------------------------- /DirectDesktop/ui/uifile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 150 | 212 | 215 | 218 | 219 | --------------------------------------------------------------------------------