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,3 +48,53 @@ impl SystemInfo { | ||
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 | |