Commit graph

1258 commits

Author SHA1 Message Date
Matthew Olsson 69410d7f4e PDFViewer: Switch back to up/down page icons
This time I remembered to actually commit the image files, oops :^)
2021-06-12 22:45:01 +04:30
Paul Irwin a2b2194928 Base: Add Sectigo certs to ca_certs.ini
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-12 00:39:51 +04:30
Andreas Kling 5b47e9b39a Meta: Remove references to the abandoned IRC channel 2021-06-09 18:38:25 +02:00
Max Wipfli 73084835da Base: Clarify and extend unveil(2) man page 2021-06-08 12:15:04 +02:00
Andreas Kling b968d44375 Base: Make anon's helper services run with 600 socket permissions
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-06 18:03:57 +02:00
Andreas Kling 8f1d9c949d Clipboard: Remove unnecessary UID separation
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-06 17:56:34 +02:00
Andreas Kling 3dc1787306 NotificationServer: Remove unnecessary UID separation
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-06 17:56:34 +02:00
Andreas Kling 39c12f6f44 Base: Tidy up /etc/shadow
Prune removed user accounts and sort by UID, same as /etc/passwd
2021-06-06 17:56:34 +02:00
FalseHonesty db20f7b6d8 Userland: Add matroska program to test parsing Matroska container files 2021-06-06 17:47:00 +02:00
Tobias Christiansen 19b22fbb4a Browser: Add various test pages to welcome
This adds test pages for border-radius, CSS custom properties and
flexboxes to the default page in the Browser.
I used those files to develop said features and they can be of use
when debugging in the future or just to showcase those features.
2021-06-06 11:33:18 +01:00
Jelle Raaijmakers 9510425845 Shell: Add TMPDIR environment variable
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-06-04 23:44:59 +02:00
Daniel Bertalan 53099b216c LibVT: Implement bright color support
Previously, we only used bright colors when the bold attribute was set.
We now have the option to set it via escape sequences. We also needed to
make the bold text behavior optional, as some color schemes do weird
things with it. For example, Solarized uses it for various shades of
gray, so bold green would turn into a light shade of gray.

The following new escape sequences are supported:
- `CSI 90;m` to `CSI 97;m`: set bright foreground color
- `CSI 100;m` to `CSI 107;m`: set bright background color
2021-06-04 09:02:43 +01:00
Daniel Bertalan acbd1d14d0 LibVT+Terminal: Add color scheme support
This commit introduces color scheme support to Terminal. These are found
in `/res/terminal_colors` and the default color scheme can be set in
`~/.config/Terminal.ini`. Furthermore, a combo box is added for
setting the color scheme at runtime.

The previously used default color scheme has been added to
`/res/terminal-colors/Default.ini`.

To make the implementation more compatible with other color schemes,
`TerminalWidget` now supports overriding the default foreground and
background colors.
2021-06-04 09:02:43 +01:00
Gunnar Beutner 46de51f467 Ports: Create launchers for the stpuzzles port
This changes the .port_include.sh script so that ports can more easily
create more than one launcher by making the install_launcher function
available to the port's package.sh script.

This creates launchers for the stpuzzles port in the Games/Puzzles
category.
2021-06-04 09:38:25 +02:00
Andreas Kling 33f2eeea4a pls: Drastically simplify this program
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-30 23:09:37 +02:00
Jesse Buhagiar d44e2c9ad9 Userland: Check sudoers file perms and owner in pls
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-29 22:33:12 +04:30
Jesse Buhagiar 82b48d867d Userland: Implement pls, a sudo clone 2021-05-29 22:33:12 +04:30
Paweł Łukasik ab17ba0ab5 Keymaps: Fix for missing mapping for the polish ć,Ć character 2021-05-27 22:57:49 +02:00
Linus Groh b1e368ef87 Base: Move test PDFs from /res/pdf to /home/anon/Documents/pdf 2021-05-27 18:13:09 +01:00
Max Wipfli 074813e441 Keymaps: Add German (Switzerland) keymap layout
This adds a `de-ch` keyboard layout.
2021-05-27 09:02:13 +01:00
Jesse Buhagiar 343e66b816 3DFileViewer: Support textured models
Models that contain UV co-ordinates are now supported,
and will display with a texture wrapped around it, provided
a `bmp` with the same name as the object is in the same
directory as the 3D Model.
2021-05-26 16:36:53 +04:30
Ali Mohammad Pur 814e35902e Base: Add a WebAssembly mandelbrot demo
This is now good enough to make a showcase of :P
2021-05-26 15:34:13 +04:30
Ali Mohammad Pur a2af04837e LibWeb: Implement a very basic WebAssembly JS API
This impl is *extremely* simple, and is missing a lot of things, it's
also not particularly spec-compliant in some places, but it's definitely
a start :^)
2021-05-26 15:34:13 +04:30
Ali Mohammad Pur 27572c9d34 Base: Document the Shell's new termios allow-list
Also add `stty` to that list by default.
2021-05-24 23:26:49 +04:30
Andreas Kling 8f2425125e LibGfx+Base: Tweak bitmap fonts to ensure glyph data is 4-byte aligned
When building userland with UBSAN enabled (#7434), we were getting
spammed to death by unaligned access errors.

Fix these by adding 2 bytes of padding to the FontFileHeader struct,
and adjusting all our font files to match the new format. :^)
2021-05-24 08:18:34 +02:00
Andreas Kling 29e00cda2e Profiler: Add a "Show Disassembly" action (and hide it by default) 2021-05-22 22:49:19 +02:00
NonStandardModel 65a341b82f
Base: Fix numeric keypad in slovenian keymap
Numeric keypad map was off-by-one.
2021-05-22 21:00:08 +01:00
Andreas Kling 85dd5b810b Documentation: Update bt(1) man page for symbolication changes 2021-05-22 18:54:22 +02:00
Andreas Kling 9c2786b872 Userland: Remove SymbolServer and the "symbol" user+group 2021-05-22 18:54:22 +02:00
Brendan Coles efafd0ee28 Base: Add go-to.png 16x16 icon 2021-05-22 14:09:48 +01:00
Andrew Kaster 467ceb15aa Base/CI: Create and check test-results.log file for on-target tests
Change run-tests-and-shutdown.sh to output a dead simple results file
that just records how many tests failed.

In the CI script, mount the _disk_image after running tests and verify
that the number of failed tests is 0. Otherwise, fail the build :^)

While we're here, bump the timeout for the tests up to 30 minutes, to
make sure that less powerful runners don't fail the job unecessarily.
2021-05-21 22:59:07 +01:00
Andreas Kling 7d12f49e74 Base: Unregister "md" extension from Browser
These are already handled by TextEditor, and I think it's a lot nicer
to open them there anyway.
2021-05-21 23:38:29 +02:00
Gunnar Beutner c3efae85f2 Games: Add Hearts 2021-05-21 23:38:18 +02:00
Gunnar Beutner 3e47eec862 Solitaire: Move cards functionality into LibCards 2021-05-21 23:38:18 +02:00
Andreas Kling 59fd1f40ce WindowServer: Store system font queries in WindowServer.ini :^)
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-21 20:15:51 +02:00
Andreas Kling f555c2cc95 Base: Tweak syntax highlighting colors in the Default theme
The old ones were barely noticeable. Let's at least make it visible
that you have syntax highlighting enabled. :^)
2021-05-21 15:32:53 +02:00
Andreas Kling 6b25842b10 Base: Remove accidentally added file :^) 2021-05-21 15:11:16 +02:00
Andrew Kaster 0d0f52337c Base/CI: Run tests from /usr/Tests in GitHub Actions
Uncomment the tests that were disabled due to frequent freezes when
running without KVM. This also adds a new github actions group for
every single test, which makes it easier to browse test boundaries
during test runs.

Move catting the serial output log back to its own step, so that it
has higher visibility. The previous solution was also shown to not
actually cat the log in the case of a failed boot and timeout :^(.
2021-05-21 12:05:34 +04:30
Gunnar Beutner 728e6dad73 3DFileViewer: Move the example model into the home directory 2021-05-20 22:22:56 +02:00
Andreas Kling 5419e2b510 Base: Update ladyball icons based on new variant from myphs 2021-05-20 17:52:38 +02:00
Andreas Kling 540acc1a32 DisplaySettings: Give the UI a facelift :^)
- Split the main UI into two tabs: "Background" and "Monitor".
- Use a GUI::IconView for selecting background pictures.
- Tweak layout, spacing, etc.
2021-05-20 00:03:30 +02:00
Andreas Kling 83f43b6464 DisplaySettings: Replace the monitor image with something more thematic
This is a drawing of my own monitor in a familiar style. :^)
2021-05-20 00:03:30 +02:00
Erik Biederstadt 585e7890cd 3DFileViewer: Move Demos/GLTeapot to Applications/3DFileViewer
Also changes the category to `Graphics`
2021-05-19 19:34:12 +01:00
Andreas Kling df29d58e19 PDFViewer+Base: Display application title as "PDF Viewer"
This matches other applications in the system. :^)
2021-05-18 21:00:32 +02:00
Matthew Olsson f7ea1eb610 Applications: Add a very simple PDFViewer 2021-05-18 16:35:23 +02:00
Matthew Olsson 43724ac282 Base: Add LiberationSerif TTF font
This will be our primary PDF ttf font, since Times New Roman is not an
open font.
2021-05-18 16:35:23 +02:00
Joel Hansen b66f91e7d3
Base: Add "Plum" theme (#7076)
A theme with dark purples and reds. Inspired by the classic NT theme.
2021-05-18 16:02:43 +02:00
stelar7 24c5b0e81c LibGfx: Add support for DDS images 2021-05-18 08:45:53 +01:00
Timothy Flynn b160a15682 Base: Add boxes with multi-part border attributes to borders.html 2021-05-17 23:24:32 +02:00
Linus Groh 0aab774343 Everywhere: Fix a bunch of typos 2021-05-17 17:48:55 +01:00
Timothy Flynn 44ceee1e14 Base: Fix 16x16 analog clock icon
This icon somehow got replaced with a Buggie image in
07341c3594.
2021-05-17 14:56:21 +02:00
Gunnar Beutner 51db8085f8 Demos: Add Mandelbrot demo
This adds a very rudimentary Mandelbrot viewer. It supports zooming
and pretty much nothing else. Not even color smoothing or super
sampling.
2021-05-17 13:35:39 +02:00
Gunnar Beutner 07341c3594 LibCore: Close accepted sockets on exec() and make them non-blocking
Previously accept() would copy the listener socket's cloexec and
non-blocking flag. With that fixed however TCPServer and LocalServer
now leak file descriptors into child processes and are blocking.
2021-05-17 13:32:19 +02:00
Grant Yap 186102dcc6 Emoji: Add a return key symbol 2021-05-17 00:16:49 +01:00
Linus Groh 00bfcef5be Base: Make 16x16 Play/Pause/Stop icons a bit smaller
These all looked out of place both when used on a regular button (e.g.
in the SoundPlayer application) and a toolbar action button (e.g. in the
GameOfLife application). This makes them a bit smaller (hand-drawn, not
scaled down).
2021-05-16 23:00:21 +02:00
Andreas Kling f34a3b9521 Taskbar: Give the shutdown dialog a UI facelift :^) 2021-05-16 20:57:45 +02:00
Andreas Kling ce47bbc965 Base: Tweak app-text-editor 32x32 icon (pencil color) 2021-05-16 20:27:17 +02:00
Andreas Kling 6c2c3b920e PixelPaint: Style the application name as "Pixel Paint" :^) 2021-05-16 01:11:56 +02:00
Andres Crucitti d99991e39c Games: Add GameOfLife
This patch introduces a new game based on Conway's Game of Life.
2021-05-15 17:44:21 +01:00
Andreas Kling ae7c5411a6 PixelPaint+Base: Tool icon refresh :^)
Redraw and shrink all tool icons to 16x16 instead of the off-beat size
(26x26) they had previously.
2021-05-15 18:35:06 +02:00
Andreas Kling ed81eb610d Base: Use http://serenityos.org/ for the default browser bookmark
We are currently unable to load the HTTPS version of the site due to
missing cipher suite support.
2021-05-15 12:55:31 +02:00
Andreas Kling 58d73ea36c Userland: Rename QuickShow => Image Viewer
The old name was a bit too ambiguous. This one is crystal clear. :^)
2021-05-14 18:34:44 +02:00
Andreas Kling 3d3a5b431f Services: Add InspectorServer to reverse the direction of Inspector
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-13 23:28:40 +02:00
Valtteri Koskivuori 25a45e639a Magnifier: Add a 32x32 icon
This is stolen from the app-file-manager icon. I'm still 'borrowing' the
find icons for Magnifier, didn't see a reason to duplicate them.
2021-05-13 22:17:46 +01:00
Linus Groh fd896ad29d Base: Add KeyboardMapper.af
Joining applications like Font Editor and Theme Editor, Keyboard Mapper
now has its own entry in the "Development" system menu section.
2021-05-12 23:12:54 +01:00
miere43 84800a5b4f Base: Add :nth-last-child test document 2021-05-11 21:17:16 +01:00
Linus Groh ecdb6a11b7 Base: Add Magnifier.af 2021-05-11 18:01:55 +02:00
Andreas Kling c68dfcf19f Base: Remove unused icons from the removed Visual Builder app 2021-05-11 11:24:58 +02:00
Ali Mohammad Pur a527256356 Shell: Add an option to autosave history every N ms
...and set it to 10 seconds by default.
2021-05-11 10:19:07 +01:00
Valtteri Koskivuori 4d01183f5c Userland: Implement a magnifier app
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-11 10:18:29 +01:00
Mart G e81d35995e Base: Fix a spelling error in the mitigations man page 2021-05-10 17:44:30 +01:00
Brendan Coles 138d065cbb Themes: Silver: Add window title button icons 2021-05-10 17:15:47 +01:00
Ali Mohammad Pur b1fe5d5517 Shell: Parse '\t' in doublequoted strings as a tab character
This not being recognised is surprising.
2021-05-10 10:43:23 +02:00
Ali Mohammad Pur 22b244df45 Shell: Add support for \uhhhhhhhh escapes in strings
This will be replaced with the unicode character whose codepoint is
given by the unsigned 32-bit number 'hhhhhhhh' (hex).
2021-05-10 10:43:23 +02:00
Matthew Olsson a8f5b6aaa3 LibPDF: Create basic object structure
This commit is the start of LibPDF, and introduces some basic structure
objects. This emulates LibJS's Value structure, where Value is a simple
class that can contain a pointer to a more complex Object class with
more data. All of the basic PDF objects have a representation.
2021-05-10 10:32:39 +02:00
Ömer Kurttekin d922c2f5f3
Userland: Preserve keyboard mapping preference on reboot (#6955) 2021-05-09 15:56:03 +02:00
Erlend 4c43fc0515
AnalogClock: New analog clock application (#6760) 2021-05-09 15:51:36 +02:00
miere43 c5ceff33b5 Browser: Add :nth-child test document 2021-05-09 11:24:04 +02:00
Brendan Coles 2fe6242f15 Themes: Faux Pas: Set RubberBandFill transparency 2021-05-08 14:08:14 +01:00
Brendan Coles 29e323269c Themes: Faux Pas: Set HoverHighlight to white 2021-05-08 12:28:48 +01:00
Linus Groh 5468a23fc2 Base: Fix path to LibJS tests in test-js(1) man page 2021-05-08 12:04:55 +01:00
Brendan Coles dbb88d7dd4 Themes: Add Light theme 2021-05-08 11:13:03 +01:00
Jesse Buhagiar 834f3c64f0 Demos: Add OpenGL teapot demo :^)
Every GL library needs an implementation of this!
Currently drawn with "pixel vomit" colours as we don't
yet support lighting via the GL library.

This also ships with a super basic Wavefront OBJ loader.
2021-05-08 10:13:22 +02:00
ry755 9cec9fb1e8 Base: Update TextEditor man page to include line and column arguments
This documents the feature in c2872766f2
2021-05-08 09:54:53 +02:00
Valtteri Koskivuori 09ea57031f Base: Add manpage for file(1) 2021-05-07 16:29:58 +01:00
Linus Groh 336a79a452 Base: Consistently stylize arguments in man pages as inline code 2021-05-07 16:19:49 +01:00
Andreas Kling a7e44d8b3c Base: Remove unnecessary UID separation of multi-process Browser
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.
2021-05-06 13:33:08 +02:00
Sergey Bugaev 37a59f7f40 Base: Start LookupServer on boot
I can't say I like starting yet another thing on boot... but now that
LookupServer provides mDNS (and optionaly DNS) services to other hosts,
we have to start it on boot, not when the first local client connects.
2021-05-05 21:16:17 +02:00
setepenre 8978325af8 Base: Add manpage for groups(1) 2021-05-05 15:12:30 +01:00
Brendan Coles aee735889e Base: Fix typos and spelling errors in man pages 2021-05-05 12:22:08 +01:00
Brian Gianforcaro 56fccf1667 Base: Minor cleanup of a few man pages.
- Fix some typos and formatting.

- Add links to Mitigations from unveil / pledge.
2021-05-05 12:24:16 +02:00
Brian Gianforcaro 325e491d34 Base: Add a boot_parameters(7) to document kernel boot parameters. 2021-05-05 12:24:16 +02:00
Andreas Kling 93f03c73d9 Base: Update recvfd() man page after addition of options argument 2021-05-04 21:02:22 +02:00
Andreas Kling f052a66c5d WindowServer+Base: Show alternate close button for "modified" windows
Windows that are marked as modified will now have another (themable)
close button. This gives an additional visual clue that some action
will be required by the user before the window gets closed.

The default window-close-modified icon is an "X" with "..." underneath,
building on the established use of "..." in menus to signify that
additional user input will be required before an action is completed.
2021-05-02 14:17:49 +02:00
Linus Groh f81e581d50 Meta: Remove trailing whitespace from ro.json
This fixes the CI linting step.
2021-05-01 20:15:24 +02:00
xSlendiX 1dec93f45c Keymap: Added Romanian layout 2021-05-01 20:07:27 +02:00
Gal Horowitz b119fa5a0a Base: Add bold Hebrew character glyphs to the Katica Bold 10 font
The glyph for the letter `Shin` (U+05E9) looks a bit wonky because the
width of the font is too small. Unfortunately it doesn't look like the
FontEditor is capable of changing the width of an existing font, so if
that option will be added in the future this glyph can be fixed.
2021-05-01 17:25:43 +02:00
Mango0x45 1635942951 Man: Add a manpage for rev(1) 2021-05-01 14:15:30 +02:00
Gunnar Beutner e69b729733 Ports: Use sendfd()/recvfd() for mm_send_fd()/mm_receive_fd() 2021-05-01 12:40:12 +02:00
Gunnar Beutner 302f9798ee LibC: Implement support for getspnam() and friends 2021-05-01 12:40:12 +02:00