summaryrefslogtreecommitdiff
path: root/src/user/meminfo/meminfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/meminfo/meminfo.c')
-rw-r--r--src/user/meminfo/meminfo.c41
1 files changed, 26 insertions, 15 deletions
diff --git a/src/user/meminfo/meminfo.c b/src/user/meminfo/meminfo.c
index dd1d371..124a136 100644
--- a/src/user/meminfo/meminfo.c
+++ b/src/user/meminfo/meminfo.c
@@ -1,19 +1,30 @@
-#include <pland/syscall.h>
-#include <knob/user.h>
-#include <knob/format.h>
-
-void main() {
- char nbuf[11];
+#include <popups/info.h>
- tell_user_sz("Kernel dynamic memory remaining: ");
-
- itosz(_kernel_dynamic_area_left() * 4, nbuf);
- tell_user_sz(nbuf);
- tell_user_sz("k\n");
+#include <pland/syscall.h>
- tell_user_sz("Userspace memory remaining: ");
+static const struct key_packet meminfo_quits[] = {
+ { .key_id = KEY_ESCAPE, .modifiers = NO_MODS },
+ { .key_id = KEY_F5, .modifiers = NO_MODS },
+ { .key_id = 0 }
+};
- itosz(_total_userspace_left() * 4, nbuf);
- tell_user_sz(nbuf);
- tell_user_sz("k\n");
+void main() {
+ struct popup p;
+redo:
+ info_popupf(&p,
+ "kernel memory free: %uk\n"
+ "userspace memory free: %uk / %uk\n"
+ "Escape to quit, F5 to refresh.",
+ 0x10, 0x08,
+ _kernel_dynamic_area_left() * 4,
+ _total_userspace_left() * 4,
+ _total_userspace_size() * 4
+ );
+ //hacky, i should really make info_popup take an arg
+ p.quit_binds = meminfo_quits;
+ make_modal(&p);
+ if (p.quit_as.key_id == KEY_F5)
+ //i should make popups have changable text
+ //(make a new pixbuf but reuse the window)
+ goto redo;
} \ No newline at end of file