Commit graph

252 commits

Author SHA1 Message Date
Liav A c53b1360d7 Base: Add bind-mount for /usr/Ports/ to make it writable
This directory is only writable by root already by now. This will allow
the upcoming package manager to change files in this directory.
2023-08-07 13:24:25 -06:00
Monroe Clinton 1b5b1e4153 Calendar: Implement saving, loading, and displaying of calendars
The user can now save, load, and view calendars. A calendar is made up
of an array of events which are saved in a JSON file. In the future we
should implement the iCalendar standard instead of using a custom
format.
2023-08-07 13:14:58 -06:00
Ben Wiederhake 2a051738ca Base: Move user nona from group 200 into existing group users
It seems that group 200 never existed, and group 100=users always did:
90bab5ea71
2023-05-20 14:40:24 +02:00
Caoimhe d7b067e8f7 Base: Run SpiceAgent as a user service
This allows it to read/write to the user's clipboard properly. Prior to
this, it would be writing to the Clipboard server running under the
window user, which doesn't impact other users (like anon).

Co-authored-by: Daniel Bertalan <dani@danielbertalan.dev>
2023-05-12 17:47:16 +01:00
Andreas Kling c756e021a7 Userland: Remove "Inspector" program and related utilities
This program has never lived up to its original idea, and has been
broken for years (property editing, etc). It's also unmaintained and
off-by-default since forever.

At this point, Inspector is more of a maintenance burden than a feature,
so this commit removes it from the system, along with the mechanism in
Core::EventLoop that enables it.

If we decide we want the feature again in the future, it can be
reimplemented better. :^)
2023-04-25 14:48:40 +02:00
Ali Mohammad Pur d997b794fa Shell: Load a different rc file when in POSIX mode 2023-03-22 09:46:16 +01:00
Fabian Dellwing 12cd74495a LibTLS+Base: Rework default system certificate parser
Change the default system certificate parser from our arbitrary
INI format to well-known PEM format.
2023-03-16 18:54:20 +03:30
implicitfield e9e4baee77 Everywhere: Support overriding the system color scheme 2023-03-10 22:03:49 +01:00
kleines Filmröllchen 61bb9103c2 Base+Userland: Add support for QOA files everywhere
This adds MIME type sniffing,
`file` support,
LaunchServer support to open QOA in SoundPlayer,
and audio icons
2023-03-10 04:07:14 -07:00
Sam Atkins 8b8e91d4da Base: Give CMakeCache.txt files a CMake icon 2023-03-09 12:37:40 +00:00
Liav A ed67a877a3 Kernel+SystemServer+Base: Introduce the RAMFS filesystem
This filesystem is based on the code of the long-lived TmpFS. It differs
from that filesystem in one keypoint - its root inode doesn't have a
sticky bit on it.

Therefore, we mount it on /dev, to ensure only root can modify files on
that directory. In addition to that, /tmp is mounted directly in the
SystemServer main (start) code, so it's no longer specified in the fstab
file. We ensure that /tmp has a sticky bit and has the value 0777 for
root directory permissions, which is certainly a special case when using
RAM-backed (and in general other) filesystems.

Because of these 2 changes, it's no longer needed to maintain the TmpFS
filesystem, hence it's removed (renamed to RAMFS), because the RAMFS
represents the purpose of this filesystem in a much better way - it
relies on being backed by RAM "storage", and therefore it's easy to
conclude it's temporary and volatile, so its content is gone on either
system shutdown or unmounting of the filesystem.
2023-02-04 15:32:45 -07:00
Cubic Love 0cfce93e51 Base+Presenter: Add icons for Presenter
Add application and filetype icons for Presenter in 32px and 16px
2023-02-01 19:17:48 +01:00
Brandon Jordan 121181e392 Base: Add video file type icon
This adds a file type icon for video files.
2023-01-12 22:25:31 +01:00
Timothy Flynn dec96bb00f Base: Remove some old, not particularly useful aliases from .shellrc
Things like games and demos don't really need aliases here.
2023-01-05 13:05:13 +00:00
Andreas Kling 16793d1c3d Base: Remove /etc/motd
This was not used for anything.
2023-01-01 13:24:48 +01:00
Filiph Sandström 5a083c03a6 WindowServer: Add "Natural scrolling" support
Also commonly referred to as "reverse scrolling" or "inverted
scrolling".
2022-12-04 19:32:43 +00:00
Slimey fb71df5cb1 Base: Add appropriate entries for VideoPlayer
VideoPlayer will now show up in the Media category, and `vp` is now
an alias for it.
2022-11-06 16:27:18 +01:00
implicitfield cea7386ea8 Base: Set PATH in text mode 2022-10-31 00:02:34 +01:00
Lucas CHOLLET 99cd6f66cf Base: Launch CrashDaemon at session start-up 2022-10-14 11:37:11 +02:00
Lucas CHOLLET 3197c1793a Base: Launch Clipboard at session start-up
The clipboard service hasn't been ported to user-based portals with
others services as it is needed at `GUI::Application` creation and thus
before the first login, as the `LoginServer` needs one.

This problem as been solved thanks to session-based portals, a clipboard
portal is now created at boot for the "login" session and another for
each "user" session.

With a user-based portal, the "login" portal would have needed to be
created for the `root` user, exposing us to security issues. It now, can
be owned by the `window` user.
2022-10-14 11:37:11 +02:00
electrikmilk c53fed7911 Base: Add .gitconfig to Git file icon files
This adds .gitconfig to git in the file icon provider.
2022-09-10 06:28:48 +00:00
electrikmilk 56a719daf8 Base: Add Assembly file type icon
This adds 16x16 and 32x32 file type icons for assembly files.
2022-09-08 10:06:55 +01:00
electrikmilk a0e3289cf3 Base: Add CMakeLists file type icon
This adds a file icon for CMakeLists.txt files.
2022-09-06 18:06:57 +01:00
electrikmilk ce166785d7 Base: Add Git file type icons
This adds 16x16 and 32x32 Git file icons for files like .gitignore, etc.
2022-09-06 07:38:09 +01:00
electrikmilk 67eee46319 Base: Add shell script file type icon
This adds a file type icon for shell scripts.
2022-09-05 20:34:42 +01:00
electrikmilk 6247bbc65b Base: Add Ruby File Type Icon
This adds a file type icon for Ruby (.rb) files.
2022-09-05 09:24:15 +01:00
James Bellamy 352d6545a9 WindowServer+DisplaySettings: Capitalize display mode dropdown
Every other dropdown in settings is capitalized apart from this one.
This commit fixes that.
2022-08-24 12:17:30 +02:00
Lucas CHOLLET 22f8ead2f4 Base: Launch SQLServer at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET 267a2c7c32 Base: Launch LanguageServers at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET 4f87f03bd1 Base: Launch AudioServer at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET c248569d6b Base: Launch InspectorServer at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET b01822bdd4 Base: Launch NotificationServer at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET 1da9375400 Base: Launch ImageDecoder at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET e8115bfdb1 Base: Launch FileSystemAccessServer at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET e9e94ef3cc Base: Launch WebSocket at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET ac7b0e69e5 Base: Launch WebContent at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET 266e18e0b6 Base: Launch Request at session start-up 2022-08-14 21:52:35 +01:00
Lucas CHOLLET 07e89ad538 Base: Launch ConfigServer at session start-up 2022-08-14 21:52:35 +01:00
Andreas Kling 548081ea23 Userland+Base: Make the window titlebar font configurable separately
Instead of defaulting to "bold variant of the system default font",
let's allow the user to set any font they want as the titlebar font.
2022-08-01 10:29:53 +02:00
Lucas CHOLLET 70846d701c LaunchServer+SystemServer: Move the portal to a user-specific directory
Various changes are needed to support this:
 - The directory is created by Core::Account on login (and located in
   /tmp).
 - Service's sockets are now deleted on exit (to allow re-creation)
 - SystemServer needs to handle SIGTERM to correctly destroy services.
2022-07-19 11:15:14 +01:00
Maciej 65307cf5cc NetworkServer: Enable DHCP on interfaces that are not listed in config 2022-07-04 13:20:24 +03:00
djwisdom b9ddb21151 Base: Update /etc/motd (c) from 2018-2021 to 2018-2022 2022-06-08 21:07:43 +01:00
Maciej b1709c368f Base: Don't launch LookupServer in generate-manpages mode
This is not needed now.
2022-05-26 21:49:52 +01:00
Maciej ddd4547e13 NetworkServer: Add a new NetworkServer service
This service is responsible for loading network configuration from a
/etc/Network.ini config file. It sets up static IP address + mask or
starts DHCPClient depending on configuration.
2022-05-26 21:47:27 +01:00
Liav A e301af8352 Everywhere: Purge all support and usage of framebuffer devices
Long live the DisplayConnector object!
2022-05-05 20:55:57 +02:00
Liav A e9a74cbefb Kernel/Graphics: Use DisplayConnector design for the Bochs driver 2022-05-05 20:55:57 +02:00
Peter Elliott 12c7b954e1 Kernel+WindowServer: Move setting tty graphical mode to Userspace
This will allow using the console tty and WindowServer regardless of
your kernel command line. Also this fixes a bug where, when booting in
text mode, the console was in graphical mode, and would not accept
input.
2022-04-29 19:52:32 +02:00
kleines Filmröllchen be98ce0f9f WindowServer: Add the screen mode property in the screen configuration
This will allow us to change between a couple of properties, for now
it's only Device and Virtual. (How about Remote :^) ) These get handled
by a different screen backend in the Screen.
2022-04-21 13:41:55 +02:00
stelar7 5d1deac9a8 Base: Add GlobalSign Root R3 certificate 2022-04-19 20:08:58 +04:30
brapru d797031b65 Base: Spawn the LookupServer for generate-manpages SystemMode
Previously the CI would hang on the "Check manpages for completeness"
step on any utility that unveils the /tmp/portal/lookup file because
it was not created during the generate-manpages SystemMode.

This will allow utilities that resolve hostnames (e.g. netstat, arp) to
pass the export-argsparser-mangpages.sh check.
2022-04-19 10:50:55 +02:00