feat(system): add hostname detection

Swadhin Biswas committed 7 months ago
8909588
1 parent a222cf0
commit 8909588
1 file changed
+50 -0
Showing 1 changed file+50-0
▼src/system/mod.rs
+50-0
48
48
let did = distro_id.clone();
49
49
50
50
// Spawn threads for slow/independent operations
51
+ let h_packages = thread::spawn(get_packages);
52
+ let h_resolution = thread::spawn(get_resolution);
53
+ let h_gpu = thread::spawn(get_gpu);
54
+ let h_public_ip = thread::spawn(get_public_ip);
55
+ let h_song = thread::spawn(get_song);
56
+ let h_cpu = thread::spawn(get_cpu);
57
+ let h_term_font = thread::spawn(get_term_font);
58
+ let h_wm_theme = thread::spawn(get_wm_theme);
59
+
60
+ // Fast operations run on main thread
61
+ let username = get_username();
62
+ let hostname = get_hostname();
63
+ let os = get_os();
64
+ let host = get_host();
65
+ let kernel = get_kernel();
66
+ let uptime = get_uptime();
67
+ let shell = get_shell();
68
+ let de = get_de();
69
+ let wm = get_wm();
70
+ let theme = get_theme();
71
+ let icons = get_icons();
72
+ let terminal = get_terminal();
73
+ let (memory, memory_percent) = get_memory_with_percent();
74
+ let (disk, disk_percent) = get_disk_with_percent();
75
+ let battery = get_battery();
76
+ let local_ip = get_local_ip();
77
+ let locale = get_locale();
78
+ let users = get_users();
79
+
80
+ // Join threads
81
+ let packages = h_packages.join().unwrap_or_default();
82
+ let resolution = h_resolution.join().unwrap_or_default();
83
+ let gpu = h_gpu.join().unwrap_or_default();
84
+ let public_ip = h_public_ip.join().unwrap_or_else(|_| "Unknown".to_string());
85
+ let song = h_song.join().unwrap_or_default();
86
+ let cpu = h_cpu.join().unwrap_or_default();
87
+ let term_font = h_term_font.join().unwrap_or_default();
88
+ let wm_theme = h_wm_theme.join().unwrap_or_else(|_| "Unknown".to_string());
89
+
90
+ Self {
91
+ username,
92
+ hostname,
93
+ os,
94
+ distro_id: did,
95
+ host,
96
+ kernel,
97
+ uptime,
98
+ packages,
99
+ shell,
100
+ resolution,
51
101