Skip to content

Commit 341f1d0

Browse files
committed
Add Hierarchy View and custom app icon
- New Hierarchy View showing process creation parent-child tree - Custom Sysmon View icon for window, taskbar, and installers
1 parent 2cbfc72 commit 341f1d0

6 files changed

Lines changed: 557 additions & 2 deletions

File tree

SysmonView/build/icon.ico

38.5 KB
Binary file not shown.

SysmonView/build/icon.png

68.8 KB
Loading

SysmonView/electron/main.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@ let mainWindow: BrowserWindow | null = null;
1414
let db: Database | null = null;
1515

1616
function createWindow() {
17+
const iconPath = app.isPackaged
18+
? path.join(process.resourcesPath, 'icon.png')
19+
: path.join(__dirname, '../build/icon.png');
20+
1721
mainWindow = new BrowserWindow({
1822
width: 1280,
1923
height: 720,
2024
minWidth: 1024,
2125
minHeight: 600,
2226
title: 'Sysmon View',
27+
icon: iconPath,
2328
webPreferences: {
2429
preload: path.join(__dirname, 'preload.js'),
2530
contextIsolation: true,

SysmonView/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sysmon-view",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"description": "Sysmon View - Visualize and enrich Windows Sysmon event logs",
55
"main": "dist-electron/main.js",
66
"author": "Nader Shalabi",
@@ -28,8 +28,13 @@
2828
{
2929
"from": "node_modules/sql.js/dist/sql-wasm.wasm",
3030
"to": "sql-wasm.wasm"
31+
},
32+
{
33+
"from": "build/icon.png",
34+
"to": "icon.png"
3135
}
3236
],
37+
"icon": "build/icon",
3338
"win": {
3439
"target": [
3540
{

SysmonView/src/App.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import StatusBar from './components/StatusBar';
44
import ProcessView from './pages/ProcessView';
55
import AllEventsView from './pages/AllEventsView';
66
import MapView from './pages/MapView';
7+
import HierarchyView from './pages/HierarchyView';
78
import PreferencesDialog from './components/PreferencesDialog';
89
import AboutDialog from './components/AboutDialog';
910
import DocumentationDialog from './components/DocumentationDialog';
@@ -22,10 +23,11 @@ import DocumentationDialog from './components/DocumentationDialog';
2223
* - "All Events" (TabSheetAllEvents)
2324
*/
2425

25-
type TabId = 'process' | 'map' | 'events';
26+
type TabId = 'process' | 'hierarchy' | 'map' | 'events';
2627

2728
const TABS: { id: TabId; label: string }[] = [
2829
{ id: 'process', label: 'Process View' },
30+
{ id: 'hierarchy', label: 'Hierarchy View' },
2931
{ id: 'map', label: 'Map View' },
3032
{ id: 'events', label: 'All Events' },
3133
];
@@ -88,6 +90,7 @@ export default function App() {
8890
{/* Content area */}
8991
<div className="flex-1 overflow-hidden" key={refreshKey}>
9092
{activeTab === 'process' && <ProcessView />}
93+
{activeTab === 'hierarchy' && <HierarchyView />}
9194
{activeTab === 'map' && <MapView />}
9295
{activeTab === 'events' && <AllEventsView />}
9396
</div>

0 commit comments

Comments
 (0)