@@ -25,6 +25,8 @@ in the source distribution for its full text.
2525#include "CRT.h"
2626#include "DynamicColumn.h"
2727#include "DynamicMeter.h"
28+ #include "DynamicScreen.h"
29+ #include "GenericDataList.h"
2830#include "Hashtable.h"
2931#include "Header.h"
3032#include "IncSet.h"
@@ -328,11 +330,16 @@ int CommandLine_run(const char* name, int argc, char** argv) {
328330 dc = Hashtable_new (0 , true);
329331
330332 ProcessList * pl = ProcessList_new (ut , dm , dc , flags .pidMatchList , flags .userId );
331-
332333 Settings * settings = Settings_new (pl -> activeCPUs , dc );
334+
335+ Hashtable * dt = DynamicScreens_new (settings );
336+ GenericDataList * gl = GenericDataList_new ();
337+
333338 pl -> settings = settings ;
339+ if (gl )
340+ gl -> settings = settings ;
334341
335- Header * header = Header_new (pl , settings , 2 );
342+ Header * header = Header_new (pl , gl , settings , 2 );
336343
337344 Header_populateFromSettings (header );
338345
@@ -362,7 +369,7 @@ int CommandLine_run(const char* name, int argc, char** argv) {
362369 CRT_init (settings , flags .allowUnicode );
363370
364371 MainPanel * panel = MainPanel_new ();
365- ProcessList_setPanel ( pl , ( Panel * ) panel );
372+ MainPanel * genericDataPanel = MainPanel_new ( );
366373
367374 MainPanel_updateLabels (panel , settings -> ss -> treeView , flags .commFilter );
368375
@@ -377,7 +384,13 @@ int CommandLine_run(const char* name, int argc, char** argv) {
377384 .hideMeters = false,
378385 };
379386
380- MainPanel_setState (panel , & state );
387+ panel -> state = & state ;
388+ genericDataPanel -> state = & state ;
389+
390+ ProcessList_setPanel (pl , (Panel * ) panel );
391+ if (gl )
392+ GenericDataList_setPanel (gl , (Panel * ) genericDataPanel );
393+
381394 if (flags .commFilter )
382395 setCommFilter (& state , & (flags .commFilter ));
383396
@@ -405,6 +418,7 @@ int CommandLine_run(const char* name, int argc, char** argv) {
405418
406419 Header_delete (header );
407420 ProcessList_delete (pl );
421+ GenericDataList_delete (gl );
408422
409423 ScreenManager_delete (scr );
410424 MetersPanel_cleanup ();
@@ -420,6 +434,7 @@ int CommandLine_run(const char* name, int argc, char** argv) {
420434 Settings_delete (settings );
421435 DynamicColumns_delete (dc );
422436 DynamicMeters_delete (dm );
437+ DynamicScreens_delete (dt );
423438
424439 return 0 ;
425440}
0 commit comments