Commit graph

1344 commits

Author SHA1 Message Date
Liav A a7cb2ca1bf SystemServer: Don't rely on fstab to specify where to mount the ProcFS
For now, just hardcode the mounting in SystemServer code.
2021-09-08 00:42:20 +02:00
FrHun 2a57cb19af Emoji: Add various Emoji/Arrows 2021-09-05 14:49:47 +01:00
Mustafa Quraish 30e91ecff6 Cursors: Add new Magnifying glass cursor
There are a few places in the system where this could be useful,
such as PixelPaint and the MandelBrot demo. It seems general enough
that it is probably useful to have it as a system-wide cursor rather
than loading it manually each time.
2021-09-04 03:35:23 +02:00
Mustafa Quraish 30ce1d8562 Cursors: Add new Eyedropper cursor
This can be used immediately in PixelPaint (separate commit), but
I am adding this as a system-wide cursor since it may also be useful
for other applications that want to use it.
2021-09-04 03:35:23 +02:00
Dawid Wolosowicz 678d958be2 Base: Remove the solid background from go-down.png icon 2021-09-03 23:09:25 +02:00
thankyouverycool ac24842f48 Welcome: Update tips.txt
Super+Wheeling window opacity was removed in 370d374.
Guilty only of being ahead of its time.
2021-09-02 00:39:12 +02:00
Andreas Kling 8649996201 Base: Tweak "reload" action icon some more
The top arrow wasn't as sharp as the bottom arrow. Move the top arrow
down to make space for some sharpness. :^)
2021-08-31 18:34:44 +02:00
Andreas Kling 2b1b686338 Base: Redraw the "reload" action icon with top-left light source 2021-08-31 18:21:09 +02:00
Peter Elliott 8d2c04821f Tests: Test LibMarkdown against commonmark test suite
TestCommonmark runs the CommonMark test suite
(https://spec.commonmark.org/0.30/spec.json) against LibMarkdown.
Currently 44/652 tests pass.
2021-08-31 16:53:51 +02:00
TheFightingCatfish c9b384da92 echo: Support octal, hexadecimal and unicode escape sequences 2021-08-31 16:49:45 +02:00
Karol Kosek 6caedc71c1 Base: Fix outline in the 32x32 filetype-font icon
The outline was already black in general, besides one dark blue pixel
on the right side of the picture.
2021-08-31 12:38:40 +02:00
Karol Kosek 3238654ae8 Base: Remove half-transparent pixels in filetype-spreadsheet icons
Some pixels weren't fully transparent in the top-right corner, which
was pretty visible on file selection in File Manager on default theme.

The files has been also compressed using the Zopfli algorithm, since
they would have been rewritten here anyway.
2021-08-31 12:38:40 +02:00
Andreas Kling ea7e5be85a Base: Redraw the basic 16x16 arrow icons
This time with a consistent light source (top left) and a color scheme
closer to the SerenityOS default colors. :^)
2021-08-31 02:31:27 +02:00
Andreas Kling 7c9e01e4f5 Base: Tweak 16x16 open-parent-directory icon
Make the bottom left corner of this icon rounded, to match all the other
directory icons in the system.
2021-08-31 02:29:32 +02:00
Linus Groh 21dafc11d5 Spreadsheet: Use strict mode for runtime.js 2021-08-28 13:33:04 +01:00
Linus Groh 527efc1d52 Spreadsheet: Replace loose with strict equality operators in runtime.js 2021-08-28 13:33:04 +01:00
Linus Groh f70bed7339 Spreadsheet: Remove custom JS string split function implementation 2021-08-28 13:33:04 +01:00
Linus Groh dc8e69eb44 Spreadsheed: Call native functions in runtime.js on thisSheet
I think this *should* be working as-is, but there's probably something
wrong with the this value of native functions. Either way, not relying
on the implicit this value will allow us to use strict mode here
eventually.

Fixes #9240.
2021-08-28 13:33:04 +01:00
kleines Filmröllchen 7d7d310df6 Base+Utilities: Add the asctl audio utility, replacing avol
The new asctl (audio server control) utility expands on avol with a
completely new command line interface (documented in the man page) that
supports retrieving and setting all exposed audio server settings, like
volume and sample rate. This is currently the only user-facing way of
changing the sample rate.
2021-08-27 23:35:27 +04:30
thankyouverycool 92fb2e2a28 Base: Add FontEditor alias to shellrc 2021-08-27 12:38:29 +02:00
Andreas Kling bdcd0abf9d Userland: Introduce ConfigServer and LibConfig
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-26 00:54:27 +02:00
Ali Mohammad Pur ae97241ded Base: Add a Game of Life WebAssembly demo 2021-08-26 00:51:30 +02:00
Ali Mohammad Pur ba8e1c6f9f Base: Refer to WebAssembly as 'Wasm' and not 'WASM' 2021-08-26 00:51:30 +02:00
Sam Atkins 160f434769 Base: Add cascade-keywords.html test page for CSS cascade keyword values
These are:

- `initial`
- `inherit`
- `unset`

Cascade4 and 5 also define `revert` and `revert-layer`, but let's not
get ahead of ourselves. :^)
2021-08-25 12:14:34 +02:00
Andreas Kling c915174563 Userland: Remove IRC Client
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-24 16:37:28 +02:00
sin-ack b30b7de2d2 ModelGallery: Add the new Model Gallery application :^)
This is an application analogous to WidgetGallery, in that it tests
various capabilities of LibGUI models. Right now it is pretty bare, but
as more work towards LibGUI models is done regarding persistent model
indices, more demos will be added.
2021-08-23 12:25:26 +04:30
Maciej Zygmanowski f2a77f0c2c Base: Add "Dark" cursor theme 2021-08-23 01:41:53 +02:00
Maciej Zygmanowski 040a723f1f WindowServer: Add support for cursor themes
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-23 01:41:53 +02:00
Karol Kosek f6f429bfbc Base: Add csv file association 2021-08-22 10:37:20 +04:30
Andreas Kling 16efe603cb Base: Remove System Monitor and Assistant from quick launch bar
System Monitor can already be accessed quickly by clicking one of the
resource graph applets in the task bar, so this icon was redundant.

Assistant can be opened with the Super+Space hotkey, so we don't need a
dedicated icon for it.
2021-08-18 13:03:11 +02:00
Andreas Kling db33a36048 Base: Rename GitHub browser bookmark to "GitHub"
"SerenityOS @ GitHub" was a pointlessly long name for this.
2021-08-18 12:56:05 +02:00
Sam Atkins 7106655c86 Base: Add more test cases to fonts.html
- More combinations of values
- Testing a font (Liberation Serif) which has multiple faces
- Add calc() tests for font-size and weight
- Check fallback when a font isn't available

While I was at it, reorganized the file so the CSS is inline - this
keeps it close to the relevant test case.
2021-08-18 10:32:32 +02:00
sin-ack e11d177618 Userland+LibGUI: Add shorthand versions of the Margins constructor
This allows for typing [8] instead of [8, 8, 8, 8] to specify the same
margin on all edges, for example. The constructors follow CSS' style of
specifying margins. The added constructors are:

- Margins(int all): Sets the same margin on all edges.
- Margins(int vertical, int horizontal): Sets the first argument to top
  and bottom margins, and the second argument to left and right margins.
- Margins(int top, int vertical, int bottom): Sets the first argument to
  the top margin, the second argument to the left and right margins,
  and the third argument to the bottom margin.
2021-08-18 10:30:50 +02:00
BuggieBot e85c62e3a0 Base: Add a quote to the fortunes database
[skip ci]
2021-08-18 09:18:59 +04:30
Tetsui Ohkubo ea2b02186c Base: Associate obj files with 3DFileViewer
With this change, a user can open .obj files from FileManager.
2021-08-16 22:13:20 +02:00
Andreas Kling 1b739a72c2 Kernel+Userland: Remove chroot functionality
We are not using this for anything and it's just been sitting there
gathering dust for well over a year, so let's stop carrying all this
complexity around for no good reason.
2021-08-15 12:44:35 +02:00
sin-ack 7adc5725b8 Base: Add the serenity-application HackStudio template
This is a template which instantiates into what you'd write to start out
a basic Serenity GUI application. It contains a CMakeLists.txt file
which describes what each declaration does, a simple GUI application
which uses layouts, widgets and callbacks, and comes with a minimal set
of pledges which the user can add to as necessary.
2021-08-14 13:32:08 +02:00
Sam Atkins e6c0cb5a7f LibWeb: Implement and use OverflowStyleValue
Also added a test page for the `overflow` properties. They apparently
don't work, but at least they do parse.
2021-08-14 12:45:01 +02:00
Sam Atkins e3cbd366c7 Base: Correct flipped values in border-radius.html
Box 9 and Box 10 were in the wrong order somehow, so now they are not.
:^)
2021-08-14 12:45:01 +02:00
Sam Atkins 2644d2c221 LibWeb: Implement and use FlexStyleValue
This is not just moving the code from StyleResolver to Parser. The logic
has changed to allow for the `flex-basis` to come before or after the
`flex-grow/shrink` values, as well as handle the special one-value
cases.

Also added test cases to flex.html to check the parsing. It does parse
correctly, but elements with `flex-basis: auto` do not calculate their
width correctly.
2021-08-14 12:45:01 +02:00
Sam Atkins 44a082391b LibWeb: Implement and use TextDecorationStyleValue
Modified text-decoration.html to better test that the values can be in
any order, and that it adopts the color from the `color` property if no
decoration color is specified. Right now, it always does because we do
not support a different decoration color. Later, we need to support the
`currentcolor` special CSS value for this purpose.
2021-08-14 12:45:01 +02:00
Sam Atkins 0e15561df0 LibWeb: Implement and use ListStyleStyleValue
Yes, the name is silly, but it's a StyleValue for list-style, so...
yeah. :^)

Since `list-style-type` and `list-style-image` can both have `none` as a
value, and can appear in any order, we have to handle it separately, and
then assign either or both of those to `none` depending on how many
`none`s there are, and whether those sub-properties already have values.

Added some extra test cases to lists.html to cover list-style-image and
list-style-position parts of the list-style shorthand, and the `none`
values.
2021-08-14 12:45:01 +02:00
Sam Atkins dcbfb61816 LibWeb: Implement and use BackgroundStyleValue
This one represents one secton of a `background` property, since it can
have multiple background values separated by commas. Eventually, we will
represent that as a List of BackgroundStyleValues.

Also modified some background-foo properties in StyleResolver so that
the is_background_x() functions could be removed.

I realized that our handling of var() in shorthand properties is wrong,
so have been removing the is_builtin_or_dynamic() calls from the parsing
code for shorthands. This broke our var() test page, so I have replaced
the use of 'background' with 'background-color' there.
2021-08-14 12:45:01 +02:00
Sam Atkins 59501f1940 LibWeb: Implement and use FontStyleValue
After working with the code for a while, it makes more sense to put all
the parsing in Parser, instead of some of it living in StyleResolver.
That means our current ValueListStyleValue needs to be replaced with
specific StyleValue types for the properties that are shorthands or
otherwise combine several values together.

Here we implement FontStyleProperty, which represents a `font` CSS
property.

Also adjusted the fonts.html test page so that font-weights are featured
in test cases without things we do not yet support.
2021-08-14 12:45:01 +02:00
sin-ack 0e5e6f2e08 Base: Convert postcreate scripts to use heredoc 2021-08-13 01:20:35 +04:30
Jean-Baptiste Boric b1add5860b Base: Make /bin/Shell the login shell by default 2021-08-12 18:56:30 +02:00
Tobias Christiansen 193f1e01cf PixelPaint: Add the GuideTool to the Toolbox
This also adds a custom icon for the GuideTool.
2021-08-07 02:52:47 +04:30
Andreas Kling 7a8efa7771 Base: New icon for the Spreadsheet app
Let's have something that looks a little more like a spreadsheet. :^)
2021-08-03 10:21:00 +02:00
Sam Atkins 238ac8ac25 Base: Organize welcome.html
Previously, it was a big list of test pages in no particular order, and
it was hard to find anything. This commit breaks it up into sections,
and renames some of the links to be more consistent.

The categories are slightly arbitrary, and I'm sure everyone will have a
different opinion on what they should be, and which links should go
where. But hopefully we can all agree that this is an improvement!

This also wraps the list into multiple columns on browsers that support
it, which unfortunately does NOT include Browser. :^( But hey, once we
do it'll be good!
2021-08-03 09:12:45 +02:00
Andreas Kling 1f51b72e6d LibGUI: Add a simple GUI::PasswordInputDialog
Asking the user for a password is a fairly common thing, so let's have
a reusable GUI dialog for it! This first iteration only supports having
pre-filled "server" and "username" fields. This can obviously be made
more flexible as needs arise. :^)
2021-08-02 10:13:35 +02:00