Commit Graph

583 Commits

Author SHA1 Message Date
Andreas Kling
315538245f realpath: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
f67f70302b uname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
feb4c683eb touch: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b58728ed99 rm: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
a5f0b2aef0 ln: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
03aea11589 date: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
4b0e0bd9b8 env: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b2f9a60bdb uptime: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
3b3b4b0e04 hostname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
60c8d2379a kill: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
0bef6c9d78 basename: Use pledge() 2020-02-18 13:29:54 +01:00
howar6hill
94ed183774 Man: Use ArgsParser to parse arguments 2020-02-18 12:23:15 +01:00
Andreas Kling
7ce3f218af wc: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
257e7f022a sort: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
4f7081289c whoami: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
0b44f9d600 which: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
7266cee590 clear: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
1612a1d489 echo: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
d6a1237cfe yes: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
00fa2aa0ec rmdir: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
7281214af2 mkdir: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
53e7490b81 stat: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
ffb6056675 ps: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
16d5b1d4ca top: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
9f54ea9bcd NotificationServer: Add a system service for desktop notifications
This patch adds NotificationServer, which runs as the "notify" user
and provides an IPC API for desktop notifications.

LibGUI gains the GUI::Notification class for showing notifications.

NotificationServer is spawned on demand and will unspawn after
dimissing all visible notifications. :^)

Finally, this also comes with a small /bin/notify utility.
2020-02-16 21:58:17 +01:00
Andreas Kling
4ba153668b chmod: Tweak usage string
Fixes #1223.
2020-02-16 09:51:49 +01:00
Andreas Kling
2143da6434 LibGUI: Add forwarding header
This patch adds <LibGUI/Forward.h> and uses it a bunch.
It also dragged various header dependency reduction changes into it.
2020-02-16 09:41:56 +01:00
Shannon Booth
4d8547d112 Userland: Use DirIterator in rm 2020-02-16 02:19:22 +01:00
Andreas Kling
3866e0d4d4 LibCore: Move LogStream::operator<< overloads into cpp files 2020-02-15 00:58:52 +01:00
Andreas Kling
8f7333f080 LibCore: Add a forward declaration header
This patch adds <LibCore/Forward.h> and uses it in various places to
shrink the header dependency graph.
2020-02-14 23:31:18 +01:00
Andreas Kling
3bbf4610d2 AK: Add a forward declaration header
You can now #include <AK/Forward.h> to get most of the AK types as
forward declarations.

Header dependency explosion is one of the main contributors to compile
times at the moment, so this is a step towards smaller include graphs.
2020-02-14 23:31:18 +01:00
Shannon Booth
8249e666fc Userland: Fix typos in setting user id
Fixes: #1219
2020-02-14 23:30:22 +01:00
Shannon Booth
1f75dfd95d Userland: Fix error handling in rm program
Fixes: #1218
2020-02-14 23:30:22 +01:00
Andreas Kling
e22283e5e6 Userland: Use Core::DateTime 2020-02-11 20:43:29 +01:00
Andreas Kling
a1e7064937 gron: Use pledge() 2020-02-11 12:42:06 +01:00
Andreas Kling
05e772d276 jp: Use pledge() 2020-02-11 12:16:07 +01:00
William McPherson
d55d2b2794 LibAudio/aplay: Handle WAV header errors properly
We shouldn't just ASSERT() if the header parse fails. This was crashing
Piano completely.
2020-02-10 14:04:27 +01:00
William McPherson
c8eaae3eaf Userland: Fix segfault in chown
chown takes 2 arguments, not 1.
2020-02-10 11:11:29 +01:00
Liav A
88cf46dc98 Userland: Use IO helpers from LibBareMetal 2020-02-09 19:38:17 +01:00
Andreas Kling
8325662186 more: Read keystrokes from stdout instead of trying to re-open it
If we're running more on a TTY that we don't have filesystem access to,
we can't rely on open(ttyname(STDOUT_FILENO)). Since all the stdio fd's
are opened read/write anyway, we can just read from stdout, even if it
feels a bit weird. :^)
2020-02-08 15:50:00 +01:00
Andreas Kling
6a9cc66b97 LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
Andreas Kling
97edc82a26 LibAudio: Remove leading A from filenames 2020-02-06 15:18:03 +01:00
Andreas Kling
d17e23bd27 LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
Andreas Kling
9ac94d393e LibGfx: Rename from LibDraw :^) 2020-02-06 12:04:00 +01:00
Andreas Kling
11580babbf LibDraw: Put all classes in the Gfx namespace
I started adding things to a Draw namespace, but it somehow felt really
wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename
the library to LibGfx. :^)
2020-02-06 11:56:38 +01:00
Andreas Kling
92f77864de LibAudio: Put all classes in the Audio namespace and remove leading A 2020-02-06 10:40:02 +01:00
Andreas Kling
5b7924b9e7 LibProtocol: Rename namespace LibProtocol => Protocol 2020-02-05 19:13:44 +01:00
Andreas Kling
c5bd9d4ed1 LibGUI: Put all classes in the GUI namespace and remove the leading G
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02 15:15:33 +01:00
Andreas Kling
2d39da5405 LibCore: Put all classes in the Core namespace and remove the leading C
I've been wanting to do this for a long time. It's time we start being
consistent about how this stuff works.

The new convention is:

- "LibFoo" is a userspace library that provides the "Foo" namespace.

That's it :^) This was pretty tedious to convert and I didn't even
start on LibGUI yet. But it's coming up next.
2020-02-02 15:15:30 +01:00
Jesse Buhagiar
f9609fe08a Userland: useradd utility
This commit implements the `useradd` utility that is found on most,
if not all *NIX systems. It allows the root user to add new users
to the password file found in `/etc/passwd`, thereby making
it easier to manipulate the file.
2020-02-02 10:58:45 +01:00