Commit graph

1588 commits

Author SHA1 Message Date
Andreas Kling
7eb42b5ffb LibGUI: GTableView paints itself completely, no need for auto filling. 2019-02-28 13:57:41 +01:00
Andreas Kling
827ec99a8f LibGUI: Update GTableView's scrollbar range in response to resize. 2019-02-28 13:25:52 +01:00
Andreas Kling
82c22a7484 ProcessManager: Add "continue" action that sends SIGCONT. 2019-02-28 13:02:55 +01:00
Andreas Kling
e427b514dc Kernel: Implement basic SIGSTOP and SIGCONT support. 2019-02-28 12:27:26 +01:00
Andreas Kling
c5a32d139a ProcessManager: Add a "stop" action that sends SIGSTOP to a process. 2019-02-28 12:06:19 +01:00
Andreas Kling
c09ab7cc40 Kernel: Only allow sending signals to process you own. 2019-02-28 11:46:38 +01:00
Andreas Kling
05f9257621 WindowServer: Add "Open ProcessManager..." to system menu.
This will no doubt come in handy. :^)
2019-02-28 11:36:50 +01:00
Andreas Kling
8a0d77f576 ProcessManager: Bump the initial window size to "pretty big" 2019-02-28 11:32:50 +01:00
Andreas Kling
fd280a6a03 LibGUI: Pad GTableView cells on the right side as well. 2019-02-28 11:31:07 +01:00
Andreas Kling
b4c20789fb LibGUI: Allow specifying per-column text alignment. 2019-02-28 11:27:04 +01:00
Andreas Kling
ce7019f38c ProcessManager: Add some more per-process columns. 2019-02-28 11:16:27 +01:00
Andreas Kling
40c8dd80d1 LibGUI: Draw separators between GTableView column headers. 2019-02-28 11:04:03 +01:00
Andreas Kling
dc9f8a9361 LibGUI: Take ProcessManager's process view and turn it into GTableView.
Make it sufficiently generic that it can be reused for any table data. :^)
2019-02-28 10:57:09 +01:00
Andreas Kling
b3ae1163ef ProcessManager: Use a scrollbar-adjusted position for hit testing. 2019-02-28 10:27:29 +01:00
Andreas Kling
c49ceb5a1f ProcessManager: Make the process table view scrollable while header stays. 2019-02-28 10:24:04 +01:00
Andreas Kling
6e571b66f1 ProcessManager: Move ProcessTableModel class to its own files. 2019-02-28 10:20:04 +01:00
Andreas Kling
a202ed88f6 ProcessManager: Show per-process CPU usage percentage. 2019-02-28 10:09:43 +01:00
Andreas Kling
c1fc2b0534 Ignore .data files in Base/res/icons/.
These are just temporaries that I sometimes spill when converting icons.
2019-02-28 09:57:12 +01:00
Andreas Kling
258f4671ea Kernel: kill() syscall should support sending a signal to yourself. 2019-02-28 09:44:48 +01:00
Andreas Kling
166aadc4e1 ProcessManager: Start working on a graphical process manager.
I need a table view widget for this thing, so I'm also using this to
prototype a model/view thingy.
2019-02-28 01:43:50 +01:00
Andreas Kling
dda9b9ab1b Userland: Add a simple /bin/stat program. 2019-02-27 21:45:06 +01:00
Andreas Kling
02bfbb712a Userland: /bin/ls should show major,minor for block devices. 2019-02-27 21:32:21 +01:00
Andreas Kling
6e70ba7d1d LibGUI: GWindow should only discard the backing store on actual resize. 2019-02-27 18:52:12 +01:00
Andreas Kling
7c18b86781 Kernel: Allow uid 0 to read/write/execute any file. 2019-02-27 17:08:13 +01:00
Andreas Kling
d7d6deaa5c Ext2FS: Fix hole in Ext2FSInode::directory_entry_count() locking. 2019-02-27 17:07:34 +01:00
Andreas Kling
60d0a48be5 Kernel: Use KResult in link(). 2019-02-27 15:31:26 +01:00
Andreas Kling
5b27f11b97 Kernel: Use KResult in unlink() and rmdir(). 2019-02-27 14:11:25 +01:00
Andreas Kling
ce53b6fd0f Meta: Update ReadMe with a new screenshot :^) 2019-02-27 13:17:43 +01:00
Andreas Kling
23263aaae4 Base: Improve FileManager's trash icon slightly. 2019-02-27 13:07:14 +01:00
Andreas Kling
c9d7fc6ec6 Kernel: chmod() should allow superuser to change mode bits of any file. 2019-02-27 12:34:43 +01:00
Andreas Kling
1d2529b4a1 Add chown() syscall and a simple /bin/chown program. 2019-02-27 12:32:53 +01:00
Andreas Kling
711e2b2651 AK: Accept any number of l's as printf format qualifiers.
This isn't entirely correct and will catch a bunch of things it's not
supposed to, but it works for now.
2019-02-27 08:39:19 +01:00
Andreas Kling
e421c10735 More compat work towards porting vim.
It now builds and runs in the small-featureset configuration. :^)
2019-02-27 00:02:01 +01:00
Andreas Kling
424368034b LibC: Make errno codes be #defines instead of enum values.
It turns out that a lot of 3rd party software does things like:

    #ifdef EINTR
        ...
    #endif

This won't work if EINTR is an enum. So much for that nice idea.
2019-02-26 22:40:35 +01:00
Andreas Kling
83e78648e4 LibC: fgets() should return null on 0-length EOF reads. 2019-02-26 22:32:51 +01:00
Andreas Kling
a356746d04 Compat work towards porting vim. 2019-02-26 15:57:59 +01:00
Andreas Kling
2e5b9d318f Kernel: Simplify ELF loading a bit.
Instead of iterating over the sections and memcpy()ing per-section,
do all the copying based on program headers instead.
2019-02-26 15:52:06 +01:00
Andreas Kling
c80182f81f WindowServer: Add 1920x1080 resolution option.
Because it's fun to go fullscreen on my development machine. :^)
2019-02-26 14:11:01 +01:00
Andreas Kling
e0c1541847 Compat work towards making bash-5.0 build with less patches.
Hacked implementations of sigsetjmp() and siglongjmp(). I didn't know about
these APIs until just now, but I hope I got them right.
2019-02-26 14:05:28 +01:00
Andreas Kling
4a5b474f1d LibC: Install crt0.o into /usr/lib 2019-02-26 13:36:26 +01:00
Andreas Kling
3f29a12d90 More compat work. Rename libraries from LibFoo.a => libfoo.a
This makes it more straightforward to build a cross-compiler toolchain.
Also move math stuff from LibC to LibM.
2019-02-26 13:30:57 +01:00
Andreas Kling
cccc8d8aeb More compat work.
Move syscall to int 0x82 since using int 0x80 was kinda prone to fork bombs
when building things on Linux. :^)
2019-02-26 12:57:02 +01:00
Andreas Kling
f6b41d166d WindowServer: Reduce resize related debug spam. 2019-02-26 12:47:45 +01:00
Andreas Kling
c90962b842 LibGUI: Make toolbars a bit bigger by default. 2019-02-26 11:14:35 +01:00
Andreas Kling
9444ed0117 LibGUI: Remove gradient from the default button style.
Buttons actually look nicer without the gradient. :^)
2019-02-26 11:14:07 +01:00
Andreas Kling
88e77fe3af WindowServer: Bump height of window titlebars and menus from 16 to 18. 2019-02-26 11:04:14 +01:00
Andreas Kling
ae90043424 WindowServer+LibGUI: Send the window size along with Paint server messages.
This way GWindow doesn't need to do synchronous IPC to fetch the appropriate
size for the window's backing store. This is mostly only relevant during
live resize.
2019-02-26 10:53:21 +01:00
Andreas Kling
1effe70543 WindowServer+LibGUI: Fix global mouse tracking with recursive widget trees.
Also avoid sending multiple copies of mouse events to global trackers.
2019-02-26 10:34:05 +01:00
Andreas Kling
2fb3fa7f69 WindowServer: Add a simple CPU usage graph to the global menu bar.
This is pretty cute and helps me spot when something's chewing up CPU.
2019-02-26 02:17:25 +01:00
Andreas Kling
b341cab9cc WindowServer: Only invalidate the menubar rect when an app changes menubar. 2019-02-26 01:07:10 +01:00