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
Andreas Kling
51a3f20445
FileManager: Don't crash when clicking on a forbidden directory.
2019-02-26 00:59:37 +01:00
Andreas Kling
d77f8ba413
WindowServer: Make message receivers be weak pointers.
2019-02-26 00:54:10 +01:00
Andreas Kling
95cfa49f1b
LibGUI: Make event receivers be weak pointers.
2019-02-26 00:51:49 +01:00
Andreas Kling
9624b54703
More moving towards using signed types.
...
I'm still feeling this out, but I am starting to like the general idea.
2019-02-25 22:06:55 +01:00
Andreas Kling
beda478821
Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t.
...
Dealing with the unsigned overflow propagation here just seems unreasonably
error prone. Let's limit ourselves to 2GB buffer sizes instead.
2019-02-25 21:21:12 +01:00
Andreas Kling
5af4e622b9
Kernel: Add KResult and KResultOr<T> classes.
...
The idea here is to combine a potential syscall error code with an arbitrary
type in the case of success. I feel like this will end up much less error
prone than returning some arbitrary type that kinda sorta has bool semantics
(but sometimes not really) and passing the error through an out-param.
This patch only converts a few syscalls to using it. More to come.
2019-02-25 20:50:22 +01:00
Andreas Kling
901b7d5d91
Fix a bunch of compiler warnings. Not all, but a lot.
2019-02-25 19:05:51 +01:00
Andreas Kling
15fb917f28
Convert more RetainPtr use to Retained.
2019-02-25 16:04:08 +01:00
Andreas Kling
2cfcbdc735
AK: Add Retained<T>, like RetainPtr, but never null.
...
Also use some Clang attribute wizardry to get a warning for use-after-move.
2019-02-25 12:43:52 +01:00
Andreas Kling
0b957ed2b1
Some compat work towards making GCC's libstdc++ build.
2019-02-25 10:05:32 +01:00
Andreas Kling
93c0dfd1d7
LibC: A bunch of compat work towards porting GCC.
2019-02-24 15:20:07 +01:00
Andreas Kling
9fd4f4862b
Kernel: Make dump_backtrace() kinda sorta work.
2019-02-24 14:51:48 +01:00
Andreas Kling
d218686c0a
Ext2FS: Don't copy more than sizeof(ext2_inode) bytes of raw inode data.
...
Some file systems have inodes larger than sizeof(ext2_inode) so this would
stomp all over unrelated data.
2019-02-24 14:24:04 +01:00
Andreas Kling
a7a456002e
LibC: Enough compat work to make binutils-2.32 build and run.
2019-02-23 17:24:50 +01:00
Andreas Kling
d7753c7c8d
Move over to building all of userspace with i686-pc-serenity-g++.
2019-02-22 14:45:14 +01:00
Andreas Kling
b0d1969ca5
Userland: Fix two compiler warnings.
2019-02-22 10:50:59 +01:00
Andreas Kling
75b100673f
Switch over to building everything with i686-elf-g++.
2019-02-22 10:45:32 +01:00
Andreas Kling
afa6f88039
Throw away the Clock app since we now have a clock in the menubar. :^)
2019-02-22 10:42:29 +01:00
Andreas Kling
aaa11e3c25
Userland: Fix extra unused printf() argument warning.
2019-02-22 10:32:17 +01:00