summaryrefslogtreecommitdiff
path: root/Base/etc
AgeCommit message (Collapse)Author
2021-11-23Applets: Rename DesktopPicker => WorkspacePickerAndreas Kling
This is consistent with the rest of the system.
2021-11-13Everywhere: Replace "virtual desktop" => "workspace"Andreas Kling
2021-11-10FileIconProvider: Add soname libraries to the icon listTim Schumacher
2021-11-04Base+LibCore: Store booleans in human-readable formatBen Wiederhake
Fixes #10640.
2021-11-01Base: Add new system-mode that just generates manpagesBen Wiederhake
2021-11-01Base: Don't start unnecessary services in self-testBen Wiederhake
These services weren't actually needed or tested. This should speed up tests a bit. Even if it doesn't, at least we don't do unnecessary work.
2021-10-25SystemServer: Rename 'BootModes' config option to 'SystemModes'Ben Wiederhake
2021-10-25MouseSettings: Add option to reverse buttonsAndrew Pardoe
Add option to reverse primary and secondary buttons in Mouse Settings. - WindowServer.ini: add default entry - switch-mouse-buttons.png: new icon for settings entry - Mouse.gml/MouseWidget.*: new settings dialog - ClientConnection/WindowManager/Server: window message for settings - EventLoop.cpp: swap buttons 1 and 2 if settings are on
2021-10-24Base: Make /usr/Tests read-only since it's now suid capableBrian Gianforcaro
Commit cf0dbc906 recently added the ability for setuid binaries to be located in /usr/Tests. This should really now be read only to mitigate the potential misuse of any of the setuid binaries.
2021-10-22Tests: Add a unit test to ensure the /dev/mem device works correctlyLiav A
To ensure everything works as expected, a unit test was added with multiple scenarios. This binary has to have the SetUID flag, and we also bind-mount the /usr/Tests directory to allow running of SetUID binaries.
2021-10-17LoginServer: Add --auto-login switchPeter Elliott
Auto login will automatically log in a user without prompting for a password, but will still allow logouts and subsequent password logins.
2021-10-17LoginServer: Process logins and start SystemServer in user modePeter Elliott
2021-10-17SystemServer: Add per user mode (--user)Peter Elliott
System server running in user mode will form the basis of a "session" for login purposes in serenity.
2021-09-08Base: Add PixelPaint (*.pp) file type iconsJack Delahunt
2021-09-08SystemServer: Don't rely on fstab to specify where to mount the ProcFSLiav A
For now, just hardcode the mounting in SystemServer code.
2021-08-27Base: Add FontEditor alias to shellrcthankyouverycool
2021-08-26Userland: Introduce ConfigServer and LibConfigAndreas Kling
ConfigServer is an IPC service that provides access to application configuration and settings. The idea is to replace all uses of Core::ConfigFile with IPC requests to ConfigServer. This first cut of the API is pretty similar to Core::ConfigFile. The old: auto config = Core::ConfigFile::open_for_app("App"); auto value = config->read_entry("Group", "Key"); The new: auto value = Config::read_string("App", "Group", "Key"); ConfigServer uses the ~/.config directory as its backing store and all the files remain human-editable. :^)
2021-08-24Userland: Remove IRC ClientAndreas Kling
The IRC Client application made some sense while our main communication hub was an IRC channel. Now that we've moved on, IRC is just a random protocol with no particular relevance to this project. This also has the benefit of removing one major client of the single- process Web::InProcessWebView class.
2021-08-23WindowServer: Add support for cursor themesMaciej Zygmanowski
Now you can specify a CursorTheme key in /etc/WindowServer.ini. The cursors are loaded from /res/cursor-themes/<name> directory. This directory contains a Config.ini file with format similar to previous Cursor section, except it uses relative paths. This commit adds also Default theme, which uses cursors being previously in /res/cursors. The WidgetGallery is updated to match the new cursor path format.
2021-08-22Base: Add csv file associationKarol Kosek
2021-08-12Base: Make /bin/Shell the login shell by defaultJean-Baptiste Boric
2021-07-22DesktopPicker: Make sure the applet always ends up in the same placeAndreas Kling
2021-07-19Applets: Add DesktopPicker appletPeter Elliott
This applet displays a grid of desktops, and shows the user what virtual desktop they are on. When clicked, the desktop will be changed.
2021-07-14SpiceAgent: Add a new spice agent service :^)x-yl
A SPICE agent communicates with the host OS to provide nifty features like clipboard sharing :^) This patch implements only plain-text clipboard sharing. See: github.com/freedesktop/spice-protocol/blob/master/spice/vd_agent.h
2021-07-10FileSystemAccessServer: Add service for accessing veiled files nicelyTimothy
Adds new service FileSystemAccessServer which allows programs to request a file descriptor for any file on the file system. The user can be prompted to choose the path with a FilePicker, or the path can be provided by the application which will show a MessageBox showing the pid and name of the calling process and allows the user to approve or deny the request.
2021-07-08SystemServer: Add entry for SQLServer in SystemServer.iniJan de Visser
2021-07-03WindowServer: Add API to change virtual desktop settingsTom
This also adds the ability to query how many virtual desktops are set up, and for the Taskbar to be notified when the active virtual desktop has changed.
2021-06-30FileIconProvider: Use sound icon for flac file extensionngc6302h
2021-06-29Base: Set UBSAN to deadly for TestRunner serviceAndrew Kaster
This will run all the tests that are children of this service with deadly UBSAN, ensuring we don't get any UBSAN regressions in on-target tests anymore. :^)
2021-06-25WindowServer: Add an Overlay class for flicker-free overlay renderingTom
An Overlay is similar to a transparent window, but has less overhead and does not get rendered within the window stack. Basically, the area that an Overlay occupies forces transparency rendering for any window underneath, which allows us to render them flicker-free. This also adds a new API that allows displaying the screen numbers, e.g. while the user configures the screen layout in DisplaySettings Because other things like drag&drop or the window-size label are not yet converted to use this new mechanism, they will be drawn over the screen-number currently.
2021-06-25AudioServer: Make AudioServer boot in text modekleines Filmröllchen
This way, we can have Audio on the console :^)
2021-06-20WindowServer: Add initial support for rendering on multiple screensTom
This allows WindowServer to use multiple framebuffer devices and compose the desktop with any arbitrary layout. Currently, it is assumed that it is configured contiguous and non-overlapping, but this should eventually be enforced. To make rendering efficient, each window now also tracks on which screens it needs to be rendered. This way we don't have to iterate all the windows for each screen but instead use the same rendering loop and then only render to the screen (or screens) that the window actually uses.
2021-06-12Base: Add Sectigo certs to ca_certs.iniPaul Irwin
Adds Sectigo RSA Domain, Extended, and Organization cert subjects to ca_certs.ini. These are the new names for the old Comodo CA certs that are already trusted.
2021-06-06Base: Make anon's helper services run with 600 socket permissionsAndreas Kling
Some of these were using 660 permissions which meant that other users in the "users" group could connect to anon's service processes. Let's tighten things up by not allowing that. :^)
2021-06-06Clipboard: Remove unnecessary UID separationAndreas Kling
This process is already sandboxed to the point where the UID doesn't matter, so let's just stop having the separate "clipboard" user.
2021-06-06NotificationServer: Remove unnecessary UID separationAndreas Kling
This process is already sandboxed to the point where the UID doesn't matter, so let's just stop having the separate "notify" user.
2021-06-06Base: Tidy up /etc/shadowAndreas Kling
Prune removed user accounts and sort by UID, same as /etc/passwd
2021-06-04Shell: Add TMPDIR environment variableJelle Raaijmakers
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ V1_chap08.html TMPDIR This variable shall represent a pathname of a directory made available for programs that need a place to create temporary files. Ports like PHP benefit from having this environment variable set, and there exist a lot of scripts that assume the presence of such an environment variable.
2021-05-30pls: Drastically simplify this programAndreas Kling
Since this program is setuid-root, it should be as simple as possible. To that end, remove `/etc/plsusers` and use filesystem permissions to achieve the same thing. `/bin/pls` is now only executable by `root` or members of the `wheel` group. Also remove all the logic that went to great lengths to `unveil()` a minimal set of filesystem paths that may be used for the command. The complexity-to-benefit ratio did not seem justified, and I think we're better off keeping this simple. Finally, remove pledge promises the moment they are no longer needed.
2021-05-29Userland: Check sudoers file perms and owner in plsJesse Buhagiar
As per comment found in #6319 by @bcoles, `pls` should check the permissions and owner of the sudoers file to ensure that it hasn't been compromised.
2021-05-29Userland: Implement `pls`, a sudo cloneJesse Buhagiar
2021-05-24Base: Document the Shell's new termios allow-listAli Mohammad Pur
Also add `stty` to that list by default.
2021-05-22Userland: Remove SymbolServer and the "symbol" user+groupAndreas Kling
2021-05-21WindowServer: Store system font queries in WindowServer.ini :^)Andreas Kling
Changes to the system font settings are now persisted in /etc. Note that you still need to restart the system for changes to fully apply in all programs.
2021-05-14Userland: Rename QuickShow => Image ViewerAndreas Kling
The old name was a bit too ambiguous. This one is crystal clear. :^)
2021-05-13Services: Add InspectorServer to reverse the direction of InspectorAndreas Kling
This service daemon will act as an intermediary between the Inspector program and the inspectable programs it wants to inspect. Programs can make themselves available for inspection by connecting to /tmp/portal/inspectables using the Core::EventLoop RPC protocol.
2021-05-11Shell: Add an option to autosave history every N msAli Mohammad Pur
...and set it to 10 seconds by default.
2021-05-11Userland: Implement a magnifier appValtteri Koskivuori
This utility is useful for making sure those UI elements are pixel perfect. A simple 2x/4x magnification around the mouse cursor, shown in a window.
2021-05-09Userland: Preserve keyboard mapping preference on reboot (#6955)Ömer Kurttekin
2021-05-06Base: Remove unnecessary UID separation of multi-process BrowserAndreas Kling
After looking closely at this, I realized that we've been running all the service processes under separate user accounts even though there's actually no need to. Since we already use pledge() and unveil() to limit the scope and access of these programs, separating them to another UID doesn't achieve anything meaningful. So let's bring them back to the "anon" user account and simplify things. Programs affected: - ImageDecoder - RequestServer - WebContent - WebSocket Longer term, I'd like for all of these to get spawned for the current desktop user somehow, possibly by some kind of session manager, or perhaps by the Browser program itself. But for now they remain under SystemServer's control.