Commit graph

1581 commits

Author SHA1 Message Date
Maciej
f88b4dfb58 Base: Add some geometric shapes to Katica10Regular
U+25A0 - U+25B1
2021-11-13 12:52:31 +01:00
Andreas Kling
d21dc1f451 Everywhere: Replace "virtual desktop" => "workspace" 2021-11-13 12:48:43 +01:00
Linus Groh
81786f6abe Base: Update synopsis of grep(1) and tr(1) manpages as well 2021-11-12 21:59:25 +00:00
Linus Groh
2a04f1fa80 Base: Add missing options to grep(1) and tr(1) manpages 2021-11-12 21:56:02 +00:00
Brendan Coles
754bcea12a Base: Add /res/icons/16x16/sidebar.png icon for PDFViewer 2021-11-12 13:24:35 +00:00
Lady Gegga
98b9a75591 Base: Add new glyphs to font Tiny Regular
Shavian (48 glyphs)
Symbols for legacy computing (194 glyphs)
Misc (latin, symbols, greek, arrows, dingbats, etc): ~300 glyphs
Braille Patterns (128 glyphs)
Klingon (39 glyphs) F8D0–F8FF*
Braille Extended (61 glyphs) EB60-EB9F*
Aurebesh (49 glyphs) E890–E8DF*
* PUA based on Under-ConScript Unicode Registry
2021-11-11 20:42:20 +01:00
Ben Wiederhake
a59fc324bd Base: Document readonly atexit mitigation 2021-11-11 12:50:18 +00:00
Jan de Visser
f3a9d61891 LibSQL: Add SQL files to assist in troubleshooting
These files contain the same SQL statements as the similarly named tests
in Tests/LibSQL/TestSqlStatementExecution.cpp test suite. They can be
fed to the sql utility to assist in troubleshooting failing tests.
2021-11-10 14:47:49 +01:00
Tim Schumacher
9af5d1d7cd FileIconProvider: Add soname libraries to the icon list 2021-11-10 14:42:49 +01:00
Sam Atkins
368595d850 Base: Add CSS background test page
Also organized the welcome page list slightly.
2021-11-10 14:38:49 +01:00
Ben Wiederhake
1d777073fd grep: Add ability to output line numbers 2021-11-06 08:57:05 -07:00
Ben Wiederhake
f9167c9265 Base+LibCore: Store booleans in human-readable format
Fixes #10640.
2021-11-04 23:44:02 +01:00
Maciej
98accad9ba Base: Add some arrow glyphs to KaticaRegular10
U+2190-U+21BB without U+21AD and U+21AE
2021-11-03 21:54:04 +01:00
Lady Gegga
5275788f1e Base: Add new bitmap font Tiny Regular 2021-11-03 11:28:52 +01:00
Ben Wiederhake
50a65f02a8 Manpages: Auto-generate many through ArgsParser
This set was hand-curated, guided by the questions:
- Does it have at least three options, i.e. is the help page
  non-trivial?
- Is the program unusual, i.e. does listing it in Help or on
  man.serenityos.org spread awareness?
- Is the program common, but we only implement a subset of 'common'
  flags?
2021-11-01 21:12:58 +01:00
Ben Wiederhake
2caad04d23 Base: Add new system-mode that just generates manpages 2021-11-01 21:12:58 +01:00
Ben Wiederhake
3ec87ecc75 Base: Don't start unnecessary services in self-test
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-11-01 21:12:58 +01:00
Ben Wiederhake
c840ed12f4 Manpages: Document path of crash(1)
As /usr/Tests/Kernel/ is not in $PATH, invoking crash(1) does not work
as documented.
2021-11-01 21:12:58 +01:00
Andreas Kling
d3eb513152 Base: Use outln() in the HackStudio basic C++ program template 2021-10-31 21:07:29 +01:00
Sam Atkins
079d9e2e0b Base: Add 'IsDark' flag to all system themes 2021-10-31 18:39:13 +01:00
Timothy Flynn
1e6afa9fd5 Base: Add tests for data: URLs and large list-style-image to lists.html 2021-10-29 22:06:49 +02:00
Sam Atkins
7426feacf7 Base: Map numpad '.' key to '.' instead of ',' in en-GB keymap 2021-10-26 16:51:42 +02:00
Ben Wiederhake
3d855a801b SystemServer: Rename 'BootModes' config option to 'SystemModes' 2021-10-25 23:38:28 +02:00
Ben Wiederhake
8d13f6ddce Kernel+SystemServer: Change bootmode to system_mode
'bootmode' now only controls which set of services are started by
SystemServer, so it is more appropriate to rename it to system_mode, and
no longer validate it in the Kernel.
2021-10-25 23:38:28 +02:00
Ben Wiederhake
09432a8241 Kernel: Separate panic behavior from bootmode
Bootmode used to control panic behavior and SystemServer.
This patch factors panic behavior control into a separate flag.
2021-10-25 23:38:28 +02:00
Ben Wiederhake
542a88a7be Kernel: Separate framebuffers from bootmode
Bootmode used to control framebuffers, panic behavior, and SystemServer.
This patch factors framebuffer control into a separate flag.
Note that the combination 'bootmode=self-test fbdev=on' leads to
unexpected behavior, which can only be fixed in a later commit.
2021-10-25 23:38:28 +02:00
Andrew Pardoe
0e68550c05 MouseSettings: Add option to reverse buttons
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-25 19:20:33 +03:00
Brian Gianforcaro
3e592f5959 Base: Make /usr/Tests read-only since it's now suid capable
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-24 11:33:34 +02:00
Liav A
cf0dbc9069 Tests: Add a unit test to ensure the /dev/mem device works correctly
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-22 13:13:00 +02:00
Timothy Flynn
72b409a2f7 Base: Add a test page for the various element classList APIs 2021-10-18 23:33:56 +02:00
thankyouverycool
586a936fac Base: Update tips.txt 2021-10-18 15:55:11 +02:00
Andreas Kling
879ba5bd17 Base: Add a basic SystemServer.ini for the anon user :^) 2021-10-17 22:24:56 +02:00
Peter Elliott
b77dad5ba3 LoginServer: Add --auto-login switch
Auto login will automatically log in a user without prompting for a
password, but will still allow logouts and subsequent password logins.
2021-10-17 22:18:48 +02:00
Peter Elliott
e3ed7f76c5 LoginServer: Process logins and start SystemServer in user mode 2021-10-17 22:18:48 +02:00
Peter Elliott
f8fb0359ae SystemServer: Add per user mode (--user)
System server running in user mode will form the basis of a "session"
for login purposes in serenity.
2021-10-17 22:18:48 +02:00
Timothy Flynn
59caa4edda Base: Add a test page for the various element attribute APIs 2021-10-17 13:51:10 +01:00
SeekingBlues
638f39fbc1 sysctl: Allow showing or setting multiple variables
The `-w` option is enforced when setting variables.
2021-10-17 14:46:59 +02:00
Luke Wilde
b7404015aa Base: Add a test for the early return steps of "prepare a script"
This tests the early return steps of "prepare a script" that come
_before_ step 10 "Set the element's "already started" flag". The
relevant steps are steps 6, 7 and 8. If this algorithm returns on any
of these steps, the script can be reinserted matching the requirements
and will run.

https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script

I wrote this test page up while testing something else, but found a bug
in Firefox where it doesn't allow re-preparing the script if step 8
fails: https://bugzilla.mozilla.org/show_bug.cgi?id=1735590
2021-10-14 10:32:13 +02:00
Valtteri Koskivuori
e6d0a086d1 Base: Fix the Finnish keymap
Make the Ö, Ä and Å keys actually type what they should type.
2021-10-13 19:09:34 +02:00
Ben Wiederhake
8ff942b5a4 Manpages+markdown-checker: Permit only specific missing files
I can't write these manpages ad-hoc, and in most cases I don't want to
remove the link because it is justified. The hope is that with this
FIXME in place, there is more motivation to write these manpages for
someone who knows enough about them. Or at least we will introduce fewer
dead links in the future, making Help more useful.
2021-10-10 15:18:55 -07:00
Ben Wiederhake
3a9f289dc6 Manpages: Fix broken link to ioctl page
Found by markdown-checker.
2021-10-10 15:18:55 -07:00
Ben Wiederhake
81e1aa0aa3 Manpages: Don't reference non-existing chroot
Chroot exists neither in code nor in documentation. If we add-in the
feature again, it will be simple enough to add it back in to the
documentation. For now, let's clean it up, instead of refering to things
that don't exist.

Found by markdown-checker.
2021-10-10 15:18:55 -07:00
Maciej
c58d51ce40 Base: Add all Latin-1 Supplement glyphs to KaticaBold12 2021-10-09 14:43:27 +02:00
Maciej
6331da6469 Base: Add all Latin-1 Supplement glyphs to KaticaRegular12 2021-10-09 14:43:27 +02:00
Maciej
32015be34a Base: Add some new characters to Katica*10.font
This commit adds the following characters to Katica 10 fonts:
- U+2010 HYPHEN, U+2012 FIGURE DASH, U+2013 EN DASH,
  U+2014 EM DASH (Bold), U+2020 DAGGER, U+2021 DOUBLE DAGGER,
  U+2022 BULLET, U+2023 TRIANGULAR BULLET, U+2024 ONE DOT LEADER,
  U+2025 TWO DOT LEADER, U+2030 PER MILLE SIGN, U+2039 SINGLE LEFT-
  POINTING QUOTATION MARK, U+2040 SINGLE RIGHT-POINTING QUOTATION
  MARK, U+203B REFERENCE MARK and U+203C DOUBLE EXCLAMATION MARK.
2021-10-09 14:43:27 +02:00
David Isaksson
7269ce15fc Base: Add man page for blockdev utility 2021-10-09 12:06:47 +02:00
Ralf Donau
9f501d7e71 Base: Fix typo in the proc(7) manpage 2021-10-09 01:39:03 +02:00
Liav A
e84c03ad61 Base: Add 2 manual pages to describe the ProcFS and SysFS 2021-10-08 23:33:38 +02:00
Sam Atkins
2a2efdedf7 Base: Add CSS.supports / @supports {} test-page 2021-10-08 23:02:57 +02:00
Luke Wilde
ca060d8566 Base: Use requestAnimationFrame in Game of Life WASM demo
Since OOPWV now supports RAF, we can use it in the GOL WASM demo :^)
2021-10-07 19:13:34 +02:00
Ben Wiederhake
7cd0440571 Base: Fix idempotency in 'little' example 2021-10-06 23:52:40 +01:00
Sam Atkins
19fc225b45 Base: Add window.matchMedia() test to media-queries.html 2021-10-05 18:51:39 +02:00
Ben Wiederhake
52e9f25403 Everywhere: Change from http to https where feasible
I used "git grep -FIn http://" to find all occurrences, and looked at
each one. If an occurrence was really just a link, and if a https
version exists, and if our Browser can access it at least as well as the
http version, then I changed the occurrence to https.

I'm happy to report that I didn't run into a single site where Browser
can't deal with the https version.
2021-10-05 02:08:08 +02:00
kleines Filmröllchen
e5938e66f3 Base: Add audio documentation 2021-10-04 18:10:10 +00:00
Ben Wiederhake
38a732a202 Base: Extend Katica by German characters
These fonts are currently used by Browser in some cases. This patch adds
glyphs for the codepoints
	ÄÖÜßäöü„“‚‘…
which appear very frequently on German webpages, and fixes the alignment
of '*'.
2021-10-03 17:13:44 +01:00
Jelle Raaijmakers
718b205a9e Base: Correct value for default white terminal color 2021-10-02 21:07:47 +01:00
networkException
a7ce118249 Base: Add glyphs for the U+20AC euro sign to all bitmap fonts 2021-10-02 09:21:38 +01:00
Idan Horowitz
6a8246cacc Base: Add glyphs for the U+2014 em dash to KaticaRegular 2021-10-01 20:54:48 +02:00
Idan Horowitz
036bdb0a01 Base: Add glyphs for the U+2019 apostrophe to KaticaRegular 2021-10-01 20:54:48 +02:00
Sam Atkins
b4833bf2a3 Base: Add media-queries test page 2021-10-01 20:03:03 +02:00
Nico Weber
97d27c312a Base: Fix typos 2021-10-01 01:18:52 +01:00
Marcus Nilsson
1026819135 PixelPaint: Add new icons for layer actions
Add icons for three more layer actions.
2021-09-29 20:04:20 +02:00
Brian Gianforcaro
8fcdc255ff man: Add "-z seperate-code" to man7/Mitigations.md
Update the mitigations documentation with the lateest mitigation.
2021-09-28 10:57:00 +02:00
Andreas Kling
a248ec63e3 LibWeb: Implement window.queueMicrotask(callback)
This API allows authors to schedule a serialized JS callback that will
get invoked at the next spec-allowed opportunity.
2021-09-26 14:39:14 +02:00
Nico Weber
93f62384f5 Base: Update man2/pipe.md after 5d180d1f99 2021-09-26 12:45:19 +02:00
thankyouverycool
91b3e9b7ae Base: Convert BitmapFonts to new header
And add new italic font, Serifina.
2021-09-24 14:59:39 +02:00
Liav A
bc5a04f798 Base: Fix typo in boot_parameters(7) manual page 2021-09-24 03:55:28 +00:00
Liav A
c8c94aa13d Base: Remove mentioned pci_ecam per-device option from boot_paramters(7)
This option was removed and can't be used anymore.
2021-09-24 03:55:28 +00:00
Monroe Clinton
a59010bd97 Spreadsheet: Add missing examples 2021-09-24 04:53:57 +03:30
Andreas Kling
aa7c590130 Base: Add 0x00A0 (non-breaking space) glyph to all our bitmap fonts
This is frequently used in web content ( ) so this change makes us
display it properly as whitespace. :^)
2021-09-21 13:04:02 +02:00
Sam Atkins
10e54a29b2 Base: Add several scaled images to test page
These look really bad with our current nearest-neighbor image scaling,
so they are a good test case to see how well other scaling algorithms
work.
2021-09-20 22:18:20 +02:00
Sam Atkins
14dc20118c Base: Add page for testing styling on display: inline elements 2021-09-19 22:53:35 +02:00
Andreas Kling
95559c4277 LibWeb: Implement basic support for MessageChannel and MessagePort
This patch adds a basic initial implementation of these API's.

Since LibWeb currently doesn't support workers, this implementation of
messaging doesn't bother with serializing and deserializing messages.
2021-09-19 22:34:44 +02:00
Ali Mohammad Pur
35116c9117 Base: Add a quote to the fortunes database 2021-09-19 23:51:34 +04:30
thankyouverycool
9bcfdfc03b Base: Convert fonts to new header format
Type has been replaced with a bit mask size whose value corresponds
to the number of u8 ranges of 256 characters per bit. Given 0x110000
possible glyphs in Unicode 13.0, its maximum size is currently 544
and can be expanded if needed.

Adds the 0xFFFD replacement character to Csilla/KaticaRegular fonts
and fixes dozens of alignment errors in the Latin character sets.
2021-09-19 00:58:59 +02:00
Sam Atkins
17bb913625 LibWeb: Implement currentcolor special value
The `currentcolor` identifier represents the current value of the
`color` property. This is the default value for `border-color` and
`text-decoration-color`, and is generally useful to have. :^)
2021-09-17 23:06:45 +02:00
Sam Atkins
2c8c56684b Base: Add CSS styles to SVG test page
SVG is styleable using CSS, so this adds an extra triangle to the page,
which is styled with CSS instead of attributes.
2021-09-16 22:30:33 +02:00
Sam Atkins
e80396e044 Base: Add test page for testing weird flexbox combinations
Specifically, this is to help fix a bug with `position: absolute`
children of a flex-box still taking up space, when they should not.
2021-09-15 13:55:25 +02:00
kleines Filmröllchen
dc026db800 Base: Add developer's tests to computed-style.html 2021-09-14 22:02:14 +02:00
Mustafa Quraish
1dcf2f9d94 Base: Add new icon for PixelPaint clone tool 2021-09-13 22:13:22 +02:00
Andreas Kling
caa9e1f622 Base: Add a very simple test page for getComputedStyle() 2021-09-12 20:44:50 +02:00
Mustafa Quraish
bd83edf148 Base: Add ~/.config/PixelPaint.ini sample file
This is just a config file with the default options that PixelPaint
recognizes and reads so far. Adding this in since the options are
not really documented anywhere so at least the user can now know what
options are available.
2021-09-12 17:15:30 +02:00
Liav A
04ba31b8c5 Kernel+Userland: Remove loadable kernel moduless
These interfaces are broken for about 9 months, maybe longer than that.
At this point, this is just a dead code nobody tests or tries to use, so
let's remove it instead of keeping a stale code just for the sake of
keeping it and hoping someone will fix it.

To better justify this, I read that OpenBSD removed loadable kernel
modules in 5.7 release (2014), mainly for the same reason we do -
nobody used it so they had no good reason to maintain it.
Still, OpenBSD had LKMs being effectively working, which is not the
current state in our project for a long time.
An arguably better approach to minimize the Kernel image size is to
allow dropping drivers and features while compiling a new image.
2021-09-11 19:05:00 +02:00
Ben Wiederhake
f2ba7ac935 Base: Fix Markdown formatting in links to man pages
A quick grep revealed these stats (counting only the first occurrence
per line):

    `thing`(1): 154
    `thing(1)`: 9
    thing(1): 4

This commit converts all occurrences to the `thing`(1) format.
2021-09-11 15:17:44 +02:00
Ben Wiederhake
6fe82889fb Base: Fix Markdown casing in headings 2021-09-11 15:17:44 +02:00
Ben Wiederhake
0e3f5d3778 Base: Fix Markdown links in man pages 2021-09-11 15:17:44 +02:00
Jack Delahunt
4175be6960 Base: Add PixelPaint (*.pp) file type icons 2021-09-08 20:15:08 +01:00
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
Linus Groh
b5d9b4e7ee Base: Add a quote to fortunes.json 2021-08-02 00:29:08 +01:00
TheFightingCatfish
f67c2c97b1 Shell: Improve the parsing of history event designators 2021-08-02 02:58:55 +04:30
Andreas Kling
67c0a2c5df MailSettings: Use the same app icon as Mail
*Settings applications should use the same icon as the app they manage
the settings for.
2021-07-31 20:09:27 +02:00
Andreas Kling
0e678403af Base: Improve Mail app icon (32x32) 2021-07-31 20:09:27 +02:00
Andreas Kling
ad141a2286 Base: Remove "test.frm" from HackStudio test project 2021-07-31 20:09:27 +02:00
TheFightingCatfish
08359ba578 LibWeb: Fix regression of "contenteditable" attribute 2021-07-31 17:39:28 +02:00
Sam Atkins
d113bc7704 Base: Add CSS url(data:...) cases to test page
Also, it wasn't linked to from welcome.html, so now it is.
2021-07-31 00:18:11 +02:00
Sam Atkins
242c342fad Base: Expand test page for CSS attribute selectors
Now that we support more types of attribute selectors in the parser,
we need a way to test them. :^)
2021-07-31 00:18:11 +02:00
Sam Atkins
7439fbd896 LibWeb: Get CSS @import rules working in new parser
Also added css-import.html, which tests the 3 syntax variations on
`@import` statements. Note that the optional media-query parameter to
`@import` is not handled yet.
2021-07-31 00:18:11 +02:00
Faeliore
8e3431d56d MailSettings: Add basic mail settings dialog
MailSettings: Add a GML file for Mail settings

MailSettings: Add an AF desktop file for Mail Settings

MailSettings: Unveil /res in mail settings, fix GML

MailSettings: Mail settings texteditor->textbox

MailSettings: Update mail username to correct category in settings

Modified Mail settings GML to properly represent ports >100

MailSettings: Update/fix mail settings GML

MailSettings: Adjust GML, add icons for mail settings

MailSettings: Change Okay button to OK

MailSettings: Change mail setting reset button to revert

MailSettings: Fix incorrect variable names in mail settings

MailSettings: Add newlines af EOF of all mail setting files

MailSettings: Mail settings linting issues fixed

MailSettings: Increase size of icon features
Code cleaning/styling changes as per gunnarbeutner review
Made settings descriptions more friendly per sin-ack review

MailSettings: Fixes as per PR comments

MailSettings: Fix checkbox weirdness

MailSettings: Adjust width of checkbox

MailSettings: Remove unneccessary update() call

MailSettings: Replace port SpinBox with ComboBox

MailSettings: Add colons to labels, remove port 110 option

MailSettings: Remove custom model, use ItemListModel

MailSettings: Change relative icon paths to absolute ones
2021-07-30 20:47:31 +02:00
Faeliore
08ddfb30d7 Base: Remove coffee theme height and width metrics 2021-07-29 21:27:24 +01:00
Faeliore
9fff0c77dc Base: Make coffee theme icons smaller so they fit in the title bar
Fixes #4713
2021-07-29 21:27:24 +01:00
BuggieBot
6340aa11ce Base: Add a quote to the fortunes database
[skip ci]
2021-07-28 23:33:57 +01:00
Andreas Kling
e378587c82 LibGfx+Base: Add a themable "Accent" color role
This can be used by GUI widgets to draw attention to a specific part of
the widget, for example the currently active sub-widget component.
2021-07-28 20:21:52 +02:00
Maciej Zygmanowski
c42f5a9e56 Base: Add network-connected icon
It's just like network-disconnected but without red "X" mark.
2021-07-27 00:28:12 +02:00
Jamie Mansfield
eb28ca2081 Spider: Improve 32x32 icon
This now matches Andreas' nice 16x16 icon :)
2021-07-26 12:41:01 +02:00
Brian Gianforcaro
c95ac83367 Base: Mitigations(7) add -fzero-call-used-regs and Process Protection
Update the man page to describe more mitigations that we have applied.
2021-07-26 13:08:37 +04:30
Andreas Kling
689e7c28b7 Base: Make DisplaySettings have matching 16x16 and 32x32 icons 2021-07-26 02:03:29 +02:00
Andreas Kling
03040f1d10 Base: Improve 32x32 app icons for DisplaySettings and KeyboardSettings 2021-07-26 01:55:25 +02:00
Andreas Kling
1eeea5b4ae MouseSettings: Replace the scroll step size icon 2021-07-26 01:07:37 +02:00
Andreas Kling
87a22a77e9 Settings: Add a very simple Settings application
This is really just a launcher app that gathers all the installed apps
in the "Settings" category and presents them in a single window.
2021-07-26 00:39:10 +02:00
Andreas Kling
99f57d0a40 Base: Add descriptions to the apps in the Settings category :^) 2021-07-26 00:39:10 +02:00
Andreas Kling
c17304a8f6 Base: Replace the MouseSettings app icon with something nicer :^) 2021-07-26 00:39:10 +02:00
Tobias Christiansen
6502d79240 Base: Add test page for box-shadow 2021-07-24 22:16:48 +02:00
Egor Ananyin
6097578c59 Base: Add a test page for CSS opacity property 2021-07-24 22:02:28 +04:30
Luke
256c4ad0ca Base: Add man page for Mail
This is primarily used to give an example configuration file.
2021-07-24 20:11:28 +04:30
Luke
b716e902ba Mail: Add an e-mail application called Mail
This utilises LibIMAP and LibWeb to provide an e-mail client.

The only way currently to connect to a server and login is with a
config file. This config file should be stored in ~/.config/Mail.ini
Here is an example config file:
```
[Connection]
Server=email.example.com
Port=993
TLS=true

[User]
Username=test@example.com
Password=Example!1
```

Since this is stored in plaintext and uses a less secure login method,
I'd recommend not using this on your main accounts :^)

This has been tested on Gmail and Outlook. For Gmail, you either have
to generate an app password if you have 2FA enabled, or enable access
from less secure apps in your account settings.
2021-07-24 20:11:28 +04:30
Gamerappa
497a9afaaf Hearts: Redesign the icon
This does not fix the issue where there's no indication for when
hearts are broken. But since the original icon for Hearts was
a placeholder. This should be better. :^)

Fixes #7373
2021-07-24 07:30:47 +02:00
Tobias Christiansen
78757845bb Base: Add a test page for CSS 'calc()' values 2021-07-24 03:02:07 +04:30
Sam Atkins
68193c365f LibWeb: Resolve CSS text-decoration from value list
This detects and resolves these in the text-decoration property, in any
order:

- text-decoration-color
- text-decoration-line
- text-decoration-style

Only the solid underline renders, but all three sub-properties are
assigned correctly.
2021-07-22 23:09:01 +02:00
Sam Atkins
82f3228dd2 LibWeb: Resolve CSS font property from value list
The font property now resolves into its various parts:

- font-family
- font-weight
- font-size
- font-style
- line-height

The font-variant and font-stretch parts are left unparsed since LibWeb
doesn't know how to render those.

Added `fonts.html` as a test for various forms of `font` declarations,
based on the examples in the spec.
2021-07-22 23:09:01 +02:00
Sam Atkins
7abfb18656 LibWeb: Implement CSS color parsing from Tokens
This was broken when we switched away from using StringStyleValues.
While I was at it, I have implemented hsl/a() and the percentage
syntax for rgb/a().

As a bonus, added `colors.html` as a test page for the various CSS
color syntaxes, since nothing was testing rgb() or rgba() before.

Much of the parsing code in LibGFX/Color.h seems to be centered
around CSS color values, but this is not used by the new Parser.
(And can't be used, because it requires a String value and we have
a list of Tokens of some kind instead.) Maybe that should be removed
from there when the new CSS parser is operational.
2021-07-22 23:09:01 +02:00
Andreas Kling
027bfc4eff DesktopPicker: Make sure the applet always ends up in the same place 2021-07-22 09:17:01 +02:00
Andreas Kling
a34a9e8698 Base: More tweaks to the MouseSettings icons 2021-07-21 01:29:45 +02:00
Andreas Kling
c09071e166 Base: Fix imperfection in mouse-cursor-speed icon (MouseSettings) 2021-07-21 00:20:05 +02:00
Andreas Kling
81e6560009 MouseSettings: Give this application a GUI facelift :^)
Note that the double-click "icon" adapts to the double-click speed
and also reacts to double-clicks. :^)
2021-07-20 21:50:06 +02:00
Andreas Kling
6453a9aa8e Base: Add 2x version of the about box "brand banner" 2021-07-20 18:05:05 +02:00
Andreas Kling
d7b7d8156f Base: Update the about box "brand banner"
Remove Buggie for a more professional look.
2021-07-20 18:05:05 +02:00
Peter Elliott
01248d28ef Applets: Add DesktopPicker applet
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-19 18:21:40 +02:00
Tobias Christiansen
0229663102 Base: Add a test page for the 'justify-content' CSS property
This adds a simple page to showcase the justify-content CSS-property.
2021-07-19 18:47:09 +04:30
LuK1337
fb66feef5e Base: Add file associations for multiple programs
This change adds missing file association for the following programs:
 - ImageViewer
 - PDFViewer
 - PixelPaint
 - Playground
 - Profiler
 - SoundPlayer
2021-07-19 17:42:14 +04:30
Max Wipfli
439bed301e Base: Associate .profile extension with Profiler 2021-07-18 19:01:57 +02:00
M4x1m3
39e622c400 Utilities: Add groupdel 2021-07-15 11:16:58 +02:00
M4x1m3
21cb531be1 Utilities: Add groupadd 2021-07-15 11:16:58 +02:00
Sam Atkins
ffc81cbfad LibWeb: Use Selectors instead of a String for :not() selectors
Rather than parsing the selector every time we want to check it, we
now parse it once at the beginning.

A bonus effect of this is that we now support a selector list in
:not(), instead of just a single selector, though only when using
the new parser.
2021-07-14 13:31:00 +02:00
jakubiakdev
4a396dc7e8 Base+LibGUI: Add icon to the Rename action 2021-07-14 13:05:01 +02:00
x-yl
d4bb6a1a1e SpiceAgent: Add a new spice agent service :^)
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-14 12:33:07 +02:00
TheFightingCatfish
a3400798f8 Utilities: Add an implementation of 'comm'
Add an implementation of 'comm' -- compare files line by line
2021-07-14 14:13:25 +04:30
Hendiadyoin1
b98e741237 Tests: Change test-filtering mechanism
We have a new config argument to add space separated exclude regex'
This is separate from "NotTestsPattern", because these are still Tests,
although they are not supposed to be run by the runner

This also adds the test for a working UserspaceEmulator to the tests run
2021-07-14 11:26:34 +04:30
Valtteri Koskivuori
7e98457937 Base: Fix typo in the man page for file
On macOS with a Finnish keyboard layout, $ is typed with Option+4. While
writing this manpage, I made the mistake of holding Option down a little
too long, as I often do, resulting in the keystroke Option+space. This,
instead of typing a space, types U+00A0 (non-breaking space), which
looks identical on my host terminal. Luckily the Serenity terminal
called me out on it, printing out a question mark instead.
2021-07-13 00:32:19 +01:00
Marcin Gasperowicz
bc44753adb Base: Change Marcin to nooga in fortunes database 2021-07-13 00:00:07 +01:00
BuggieBot
c8de791635 Base: Add a quote to the fortunes database
[skip ci]
2021-07-13 03:26:41 +04:30
Ariel Don
4eba921d48 ls: Add option to list subdirectories recursively
List subdirectories encountered using -R or --recursive flags with ls.
2021-07-12 19:15:19 +04:30
Andreas Kling
1e5c2c6231 Spider: Improved 16x16 app icon 2021-07-10 22:03:22 +02:00
Timothy
41ce2debda FileSystemAccessServer: Add service for accessing veiled files nicely
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-10 15:33:46 +02:00
Jan de Visser
e72448888b SystemServer: Add entry for SQLServer in SystemServer.ini 2021-07-08 17:55:59 +04:30
networkException
47e1d5c05e Base: Remove www. from link to project website in welcome page
The www subdomain does not allow http and as LibTLS currently
has no cipher suite in common the request fails.
2021-07-08 11:10:16 +01:00
Peter Elliott
9b40208e3b Documentation: Add less(1) man page, and link to it in others 2021-07-07 20:01:15 +04:30
Peter Elliott
c6fa2f196a Userland: Add more(1) emulation to less(1)
This patch also removes the existing implementation of more, as it is
now redundant.
2021-07-07 20:01:15 +04:30
Andres Crucitti
f6f14777ac WindowServer: Allow windows to be pinnable (always on top)
This patch adds the concept of a window being "Pinnable" (always drawn
on top of other windows). This can be toggled through a new checkable
action in the top left corner's window menu.
2021-07-07 15:38:59 +02:00
Andrew Kaster
d0447f23b8 Tests+Base: Convert stack-smash to be LibTest based and stop skipping it
Now that the test is converted to be LibTest based, we can remove it
from the exclude list in /home/anon/.config/Tests.ini.

Prior to this it would crash and fail because it was signaled instead of
returning normally with exit code 0.
2021-07-06 17:22:45 +02:00
Andrew Kaster
ad0b8b42eb Base: Pass show-progress=false to run-tests to avoid confusing CI
We pass this to test-js, and since they share some common code, it makes
sense to pass it to run-tests as well. This prevents the OSC 9 escape
sequences from being emitted when running tests via the script.
2021-07-06 17:22:45 +02:00
Andreas Kling
3368e54224 Magnifier: Make a custom 16x16 icon for this app + tweak 32x32 version
Stop piggybacking on the generic "find" icon and make a custom one. :^)
2021-07-04 23:15:17 +02:00