Commit Graph

3188 Commits

Author SHA1 Message Date
Tim Ledbetter
8f8354d9a0 find: Add the -ok option
This behaves identically to the `-exec` option but prompts the user
for confirmation before executing the specified command.

A command is executed if a line beginning with 'y' or 'Y' is entered
by the user. This matches the behavior of `find` on Linux and FreeBSD
when using the POSIX locale.
2023-10-04 09:14:15 +01:00
Tim Ledbetter
f30815b534 Base: Add man page for realpath 2023-10-02 20:56:38 +02:00
kleines Filmröllchen
3296fb0189 Base: Add an ISO C++-compliant quote to the fortunes database
CC @alimpfard
2023-09-30 20:28:27 +02:00
Tim Ledbetter
ebb822def9 less: Add the -F option to quit if the input fits on one screen 2023-09-27 20:00:34 +02:00
Tim Ledbetter
cb1851f3cc ls: Add the -g option to omit owner information in long format 2023-09-27 19:58:17 +02:00
Tim Ledbetter
d618ef58fb ls: Display results in long format when -n or -o are used 2023-09-27 19:58:17 +02:00
Tim Ledbetter
ba40526db2 ls: Add the -p option to append a trailing slash to directories
This overrides the `-F` option and vice-versa.
2023-09-26 07:19:02 +02:00
Cubic Love
4c64c0b61e Base+Maps: Add manpage for Maps
Also, list Maps in Applications.md and add a link to the manpage in
Map's Help menu.
2023-09-25 16:20:20 +01:00
Tim Ledbetter
b4e134cb52 Userland: Use non-fallible EventReceiver::add() where possible 2023-09-25 10:58:31 +02:00
Bastiaan van der Plaat
04ee15a5ad Ladybird+LibWeb: Use old error.html template for navigation errors again 2023-09-24 19:59:00 -06:00
Tim Ledbetter
01ec695ae3 ls: Add the -S option to sort files by size
This option will override the `-t` option and vice-versa.
2023-09-24 08:22:11 +01:00
Tim Ledbetter
3aa49f268c Userland: Make Window::set_main_widget() non-fallible 2023-09-21 10:20:23 +02:00
Bastiaan van der Plaat
aed25991e6 Maps: Add MapsSettings with multiple tile providers options 2023-09-18 12:46:41 -06:00
Cubic Love
73d4b067d4 Base: Update Snake & Flappy Bug manpages 2023-09-17 17:26:32 -06:00
Tim Ledbetter
0d7b13edac Userland: Make GUI::Window construction non-fallible 2023-09-17 16:47:28 -06:00
Tim Ledbetter
1bc081398e find: Add -uid option to filter by owning user ID 2023-09-17 15:29:44 -06:00
Tim Ledbetter
d3da8f978e find: Add -gid option to filter by owning group ID 2023-09-17 15:29:44 -06:00
Tim Ledbetter
a95c2ed978 find: Add the -maxdepth and -mindepth options
The `-maxdepth` option limits the number of levels `find` will descend
into the file system for each given starting point.

The `-mindepth` option causes commands not to be evaluated until the
specified depth is reached.
2023-09-17 15:20:49 -06:00
implicitfield
7cb80c67d8 checksum: Add support for BLAKE2b 2023-09-17 16:49:35 +03:30
Tim Ledbetter
4eb52351b4 less: Add -N option to show line numbers
Co-authored-by: Liav A <liavalb@gmail.com>
2023-09-16 11:07:17 +02:00
Tim Ledbetter
e7a5a2e146 Base: Update serenity-application template so that it compiles 2023-09-15 17:26:17 -04:00
Bastiaan van der Plaat
e267f8e68f LibWeb: Add modifier keys to MouseEvent 2023-09-15 22:12:56 +02:00
Bastiaan van der Plaat
836a7b00dd Ladybird+LibWeb: Add MouseEvent screenX and screenY support 2023-09-15 22:12:56 +02:00
Bastiaan van der Plaat
d63fb8fa61 Maps: Add show SerenityOS users feature 2023-09-13 21:41:37 +02:00
Bastiaan van der Plaat
dfb54083ee Maps: Add markers to map widget 2023-09-13 21:41:37 +02:00
Cubic Love
842b2a01e6 Base: Add manpage for pkg 2023-09-12 20:03:12 +02:00
Tim Ledbetter
331991f9c4 find: Allow '+' and '-' prefix for -links and -size options
The presence of this prefix denotes that the value being tested is
strictly greater than or less than the given numeric value.
2023-09-09 11:02:18 -06:00
Tim Ledbetter
d277d2e1fb find: Add ! operator to negate the following command 2023-09-09 10:57:17 -06:00
Liav A
fbc4370c44 Base: Remove remainders of /sys/kernel/variables from sys(7) manual page
The directory was renamed to be /sys/kernel/conf, so let's reflect this
in the manual page as well.
2023-09-09 10:25:41 -06:00
Liav A
13f9b9282e Base: Remove remainders of /sys/kernel/constants from sys(7) manual page
There's no constants directory anymore under /sys/kernel, so bring all
the described nodes back to the "kernel" directory entries list.
2023-09-09 10:25:41 -06:00
Cubic Love
8eb10b135d Maps: Add Application Icons
Add 16px and 32px application icons for Maps
2023-09-05 14:13:32 +02:00
Bastiaan van der Plaat
f9f9c38de3 Maps: Add new basic maps application and map widget 2023-09-03 18:10:58 +02:00
Cubic Love
0b66656ca9 FlappyBug: Improve Application Icons
Add new 16px and 32px application icons for Flappy Bug
2023-09-02 07:25:53 +02:00
Cubic Love
6fa1a5c7d2 FlappyBug: Improve Character Assets
Add new sprites of Flappy Bug falling and flapping
2023-09-02 07:25:53 +02:00
Tim Ledbetter
889e6ab43d find: Add the -empty option
This predicate returns true for empty regular files or directories.
2023-09-01 23:48:44 +02:00
Tim Ledbetter
64bb5652a1 find: Add the -newer, -anewer and -cnewer options
These return true if the last modification time, last access time or
creation time of a file is greater than the given reference file.

If the `-L` option is in use and the given reference file is a
symbolic link then the timestamp of the file pointed to by the
symbolic link will be used.
2023-09-01 21:19:22 +02:00
Xexxa
7d313ff83d Base: Add more emoji
🙈 - U+1F648 SEE-NO-EVIL MONKEY
🙉 - U+1F649 HEAR-NO-EVIL MONKEY
🙊 - U+1F64A SPEAK-NO-EVIL MONKEY
🚉 - U+1F689 STATION
🛩️ - U+1F6E9 SMALL AIRPLANE
🛫 - U+1F6EB AIRPLANE DEPARTURE
🛬 - U+1F6EC AIRPLANE ARRIVAL
2023-08-31 11:16:44 -04:00
Bastiaan van der Plaat
258a6cb126 FileManager: Use new window remember state 2023-08-30 06:49:51 -04:00
Cubic Love
b5ed86ab68 Base: Improve the King piece in Classic chess set
Make the King's crown more rounded.
2023-08-29 10:28:24 +02:00
Cubic Love
91269a8064 Chess: Capitalize chess set names + Rename 'stelar7' to 'Classic'
Now when selecting a chess set in Games Settings, the names of the sets
are capitalized which looks much neater.

The default set 'stelar7' has been renamed to 'Classic' to reflect its
default vanilla design, as opposed to more stylized sets.
This commit also updates any code references to this set.
2023-08-29 10:28:24 +02:00
Tim Ledbetter
aa7c2f1f0d find: Allow unit suffixes to be used with the -size option
The argument supplied to the `-size` option may now be one of the
following suffixes:

* b: 512-byte blocks. This is the default unit if no suffix is used.
* c: bytes
* w: two-byte words
* k: kibibytes (1024 bytes)
* M: mebibytes (1024 kibibytes)
* G: gibibytes (1024 mebibytes)

Sizes are rounded to the specified unit before comparison. The unit
suffixes are case-sensitive.
2023-08-29 09:08:59 +02:00
Liav A
751aae77bc Kernel: Rename /sys/kernel/variables => /sys/kernel/conf
The name "variables" is a bit awkward and what the directory entries are
really about is kernel configuration so let's make it clear with the new
name.
2023-08-27 22:50:22 +02:00
Tim Ledbetter
e6112446db sort: Add the -z option to split lines on \0 rather than a newline 2023-08-27 15:42:46 -04:00
Tim Ledbetter
edd49c1531 find: Add the -readable, -writable and -executable options 2023-08-27 09:46:11 -04:00
Tim Ledbetter
8955560801 useradd: Allow group name or number to be used with the -g option 2023-08-26 19:01:22 -04:00
Cubic Love
2b8a9ff2ae Base: Improve Hearts Icon
Before the Hearts icon was quite angular, now it is a more rounded
heart with a subtle gradient.
2023-08-23 05:25:28 +02:00
Shannon Booth
7690f76f92 LibWeb/Tests: Move unresolvable % width on inline-block to layout test
Removing the last test fomr Base/res/html/tests :^)
2023-08-21 13:51:12 +02:00
Shannon Booth
ed03dd0f99 LibWeb/Tests: Port two DOM cloneNode() test cases to text tests 2023-08-21 13:51:12 +02:00
Shannon Booth
a5fb0b4243 LibWeb/Tests: Port height:auto abspos flex container test to layout test
This test was written before we had layout test functionality.
2023-08-21 13:51:12 +02:00
Shannon Booth
6cee028ecc LibWeb/Tests: Port HTMLCollection [[SameObject]] test to a text test
This test was written before we had the facility to write text tests -
port this test to a text test so that we test against it in CI.
2023-08-21 13:51:12 +02:00
Xexxa
b3a295a5bd Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder-open.png

📂 - U+1F4C2 OPEN FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
de46c59c23 Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder.png and

📁 - U+1F4C1 FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
7a8ac67d52 Base: Improve emoji
Align emoji to bottom to match other left or right moving vehicles
🚒 - U+1F692 FIRE ENGINE
🚜 - U+1F69C TRACTOR
2023-08-21 08:27:04 +01:00
Xexxa
762a6674c2 Base: Improve emoji
Our emoji was 7px wide earlier. Now when we can use up to 10px some
emoji deserve a little more width.

🥩 - U+1F969 CUT OF MEAT
🧊 - U+1F9CA ICE
2023-08-21 08:27:04 +01:00
Xexxa
77f307f1b1 Base: Improve emoji
Add shadow and remove unnecessary padding

🪓 - U+1FA93 AXE
2023-08-21 08:27:04 +01:00
Xexxa
4153f35c31 Base: Improve emoji
Change bottom padding to match 🚖 U+1F696 and 🚘 U+1F698

🚔 - U+1F694 ONCOMING POLICE CAR
2023-08-21 08:27:04 +01:00
Xexxa
72bb740982 Base: Improve emoji
Make U+1F4A9 look more like a shit...

💩 - U+1F4A9 PILE OF POO
2023-08-21 08:27:04 +01:00
Xexxa
885563ea9c Base: Add emoji
🦾 - U+1F9BE MECHANICAL ARM
🦿 - U+1F9BF MECHANICAL LEG
🧑‍🔧 - U+1F9D1 U+200D U+1F527 MECHANIC
🧑‍🚀 - U+1F9D1 U+200D U+1F680 ASTRONAUT
🚤 - U+1F6A4 SPEEDBOAT
🚠 - U+1F6A0 MOUNTAIN CABLEWAY
🚡 - U+1F6A1 AERIAL TRAMWAY
🪅 - U+1FA85 PIÑATA
🧣 - U+1F9E3 SCARF
2023-08-21 08:27:04 +01:00
MacDue
a93ba23e10 Base: Add some examples of SVG gradients with different spreadMethods
The radial gradients here are rendered correctly as focal radius is
zero, so the focal point is the center of the start circle.
2023-08-20 20:04:10 +02:00
kleines Filmröllchen
834a3227f8 Base: Update Audio subsystem documentation 2023-08-18 08:09:19 +01:00
Tim Ledbetter
9aaf516bdd Base: Render checksum man page synopsis using a multi-line code block
This is consistent with other man pages and makes the synopsis render
correctly in the terminal.
2023-08-16 01:04:13 +02:00
Nicolas Ramz
fda5590313 LibGfx/ILBM: Add an IFF-ILBM decoder :)
IFF was a generic container fileformat that was popular on the Amiga
since it was the only file format supported by Deluxe Paint.

ILBM is an image format popular in the late eighties/nineties
that uses the IFF container.

This is a very first version of the decoder that only supports
(byterun) compressed files with bpp <= 8.

Only the minimal chunks are decoded: CMAP, BODY, BMHD.

I am planning to add support for the following variants:

- EHB (32 colours + lighter 32 colours)
- HAM6 / HAM8 (special mode that allowed to display the whole Amiga
4096 colours / 262 144 colours palette)
- TrueColor (24bit)

Things that could be fun to do:

- Still images could be animated using color cycle information
2023-08-15 18:36:11 +01:00
Bastiaan van der Plaat
eafdb06d87 LibWeb: Add directory entries page when visiting a local directory 2023-08-15 10:41:54 +01:00
Bastiaan van der Plaat
e4c3a52cfa LibWeb: Add resource_directory_url for internal HTML pages
The error.html page now uses the resource_directory_url this
variable contains the relative path to /Base/res/ on the host
system as a file:// url. This is needed for future pages to load
resource files like icons. For the error.html page this was not
really needed because it lies over this own URL in FrameLoader.cpp.
2023-08-15 10:41:54 +01:00
Zaggy1024
af01cf70eb Base: Fix a typo in the futex() documentation 2023-08-14 22:16:11 -04:00
Sergey Bugaev
32de3ddd33 Base: Document futex(2) :^) 2023-08-14 13:46:17 -06:00
kleines Filmröllchen
70f31c89a3 aconv: Support FLAC encoding
The main write loop is refactored so that adding further formats via the
new Encoder interface should be much simpler.
2023-08-12 12:25:26 -06:00
kleines Filmröllchen
54eab251f6 Base: Document new GML usage method
This is now preferred over the old one.
2023-08-11 21:33:48 +02:00
kleines Filmröllchen
1e67435ff5 Meta: Rename compile_gml to stringify_gml
This is what this function really does, it doesn't compile anything.
2023-08-11 21:33:48 +02:00
kleines Filmröllchen
489fce0ed2 Base: Document IPC syntax formally and informally 2023-08-11 08:31:46 -06:00
Xexxa
8d17ede197 Base: Improve emoji
Remove unnecessary left/right padding

❣️ - U+2763 HEART EXCLAMATION
🚶 - U+1F6B6 PERSON WALKING
🚴 - U+1F6B4 PERSON BIKING
🌻 - U+1F33B SUNFLOWER
🪻 - U+1FABB HYACINTH
🍉 - U+1F349 WATERMELON
🍍 - U+1F34D PINEAPPLE
🫒 - U+1FAD2 OLIVE
🌽 - U+1F33D EAR OF CORN
🌯 - U+1F32F BURRITO
🍘 - U+1F358 RICE CRACKER
🧁 - U+1F9C1 CUPCAKE
🍫 - U+1F36B CHOCOLATE BAR
🍭 - U+1F36D LOLLIPOP
🍼 - U+1F37C BABY BOTTLE
🧋 - U+1F9CB BUBBLE TEA
🧃 - U+1F9C3 BEVERAGE BOX
🥢 - U+1F962 CHOPSTICKS
💈 - U+1F488 BARBER POLE
🌛 - U+1F31B FIRST QUARTER MOON FACE
🌜 - U+1F31C LAST QUARTER MOON FACE
🌡️ - U+1F321 THERMOMETER
🪐 - U+1FA90 RINGED PLANET
 - U+26A1 HIGH VOLTAGE
💧 - U+1F4A7 DROPLET
🧨 - U+1F9E8 FIRECRACKER
🥇 - U+1F947 1ST PLACE MEDAL
🥈 - U+1F948 2ND PLACE MEDAL
🥉 - U+1F949 3RD PLACE MEDAL
🏓 - U+1F3D3 PING PONG
🪀 - U+1FA80 YO-YO
♟️ - U+265F CHESS PAWN
🧦 - U+1F9E6 SOCKS
💄 - U+1F484 LIPSTICK
📱 - U+1F4F1 MOBILE PHONE
🔌 - U+1F50C ELECTRIC PLUG
💡 - U+1F4A1 LIGHT BULB
📍 - U+1F4CD ROUND PUSHPIN
🔩 - U+1F529 NUT AND BOLT
🪝 - U+1FA9D HOOK
🧪 - U+1F9EA TEST TUBE
🔭 - U+1F52D TELESCOPE
🩸 - U+1FA78 DROP OF BLOOD
💊 - U+1F48A PILL
🩹 - U+1FA79 ADHESIVE BANDAGE
🧼 - U+1F9FC SOAP
🪥 - U+1FAA5 TOOTHBRUSH
♀️ - U+2640 FEMALE SIGN
♂️ - U+2642 MALE SIGN
 - U+2795 PLUS
 - U+2797 DIVIDE
 - U+2753 RED QUESTION MARK
 - U+2754 WHITE QUESTION MARK
 - U+2755 WHITE EXCLAMATION MARK
 - U+2757 RED EXCLAMATION MARK
◼️ - U+25FC BLACK MEDIUM SQUARE
◻️ - U+25FB WHITE MEDIUM SQUARE
 - U+25FE BLACK MEDIUM-SMALL SQUARE
 - U+25FD WHITE MEDIUM-SMALL SQUARE
▪️ - U+25AA BLACK SMALL SQUARE
▫️ - U+25AB WHITE SMALL SQUARE
🚩 - U+1F6A9 TRIANGULAR FLAG
2023-08-10 07:52:36 -04:00
Xexxa
5b0b063d9b Base: Add emoji
🧑‍🌾 - U+1F9D1 U+200D U+1F33E FARMER
🏇 - U+1F3C7 HORSE RACING
🚵 - U+1F6B5 PERSON MOUNTAIN BIKING
🚵‍♂️ - U+1F6B5 U+200D U+2642 MAN MOUNTAIN BIKING
🚵‍♀️ - U+1F6B5 U+200D U+2640 WOMAN MOUNTAIN BIKING
🐺 - U+1F43A WOLF
🏟️ - U+1F3DF STADIUM
🏚️ - U+1F3DA DERELICT HOUSE
🏢 - U+1F3E2 OFFICE BUILDING
🏤 - U+1F3E4 POST OFFICE
🎠 - U+1F3A0 CAROUSEL HORSE
🚝 - U+1F69D MONORAIL
🚕 - U+1F695 TAXI
🏎️ - U+1F3CE RACING CAR
🧳 - U+1F9F3 LUGGAGE
🪁 - U+1FA81 KITE
👚 - U+1F45A WOMAN’S CLOTHES
🎒 - U+1F392 BACKPACK
🥾 - U+1F97E HIKING BOOT
🎻 - U+1F3BB VIOLIN
🎦 - U+1F3A6 CINEMA
2023-08-10 07:52:36 -04:00
Liav A
d8b514873f Kernel: Use FixedStringBuffer for fixed-length strings in syscalls
Using the kernel stack is preferable, especially when the examined
strings should be limited to a reasonable length.

This is a small improvement, because if we don't actually move these
strings then we don't need to own heap allocations for them during the
syscall handler function scope.

In addition to that, some kernel strings are known to be limited, like
the hostname string, for these strings we also can use FixedStringBuffer
to store and copy to and from these buffers, without using any heap
allocations at all.
2023-08-09 21:06:54 -06:00
Jelle Raaijmakers
bf927344fb Base: Teach ImageViewer and PixelPaint to open JXL, TGA images 2023-08-09 14:40:26 +02:00
Bastiaan van der Plaat
bba14f6014 LibWeb: Add Canvas Context2D basic font property support 2023-08-09 05:48:32 +02:00
Timothy Flynn
27fa029537 Base: Remove FrogFind from the new tab page
Search queries no longer work for this engine, and FireFox even issues a
security warning on their home page.
2023-08-09 05:33:24 +02:00
Tom L
325d1553ca Base+LibCards: Add basic set of playing card backs 2023-08-08 14:56:25 +01:00
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
Tim Ledbetter
7f99f3bf29 fortune: Use simple formatting when stdout isn't connected to a terminal
This changes the default behavior, so that, by default, color codes,
hyperlinks and additional spacing are only emitted when standard
output is connected to a terminal.

The default coloring behavior can be overridden with the `--color`
option. Valid arguments for this option are: 'always', 'never' and
'auto' (default).
2023-08-06 08:58:00 +02:00
Liav A
29fb3a1a60 Utilities/ls: Add an option to print raw inode numbers
This is only possible if listing an entire directory, because the LibC
readdir function will return the raw inode number in each struct dirent,
therefore allowing to print it as well.
2023-08-05 18:41:01 +02:00
Bastiaan van der Plaat
220e34b69d LibWeb: Add Canvas Context2D basic text align and text baseline support
Add the CanvasTextDrawingStyles mixin with the textAlign and
textBaseline attributes. Update fill_text in CanvasRenderingContext2D
to move the text rect by the text align and text baseline attributes.
Wrote a simple HTML example to showcase the new features.
2023-08-05 17:17:08 +02:00
ronak69
e0e027c17c Meta: Remove .gitignore from Base/
Base/.gitignore leaks into serenity's file-system. It can be safely
removed by adding equivalent un-ignore pattern in top-level .gitignore.
2023-08-04 13:15:24 +02:00
Sam Atkins
73fa58da34 LibWeb: Implement the CSS outline-offset property
This allows you to push the outline a certain distance away from the
border (or inside it, if the offset is negative).
2023-08-03 05:25:48 +02:00
Sam Atkins
fe7e797483 LibWeb: Implement the CSS outline property :^)
...along with `outline-color`, `outline-style`, and `outline-width`.

This re-uses the existing border-painting code, which seems to work well
enough!

This replaces the previous code for drawing focus-outlines, with generic
outline painting for any elements that want it. Focus outlines are now
instead supported by this code in Default.css:

```css
:focus-visible {
    outline: auto;
}
```
2023-08-03 05:25:48 +02:00
Linus Groh
d923c2dd1b Base: Add a quote to the fortunes database 2023-08-02 13:08:59 +01:00
Tim Schumacher
5f69b0d6ad Base: Remove the empty /usr/lib and /usr/include directories
These have been there since the initial revision of the toolchain build
script, but we don't seem to require them being present in `Base` any
longer.
2023-07-31 06:26:58 +02:00
zhiyuang
94491ead67 LibWeb: Fix border painting with border-radius and zero-width sides
When joined border width is zero width, then the midpoint
of the joined corner is no longer need to be computed
anymore. Just set the mid point to be the endpoint of the
corner.
2023-07-26 08:38:54 +02:00
Xexxa
ea88242d1c Base: Add more emoji
🐹 - U+1F439 HAMSTER
🦂 - U+1F982 SCORPION
🥐 - U+1F950 CROISSANT
🫕 - U+1FAD5 FONDUE
🏫 - U+1F3EB SCHOOL
🚑 - U+1F691 AMBULANCE
🛺 - U+1F6FA AUTO RICKSHAW
🧧 - U+1F9E7 RED ENVELOPE
🥍 - U+1F94D LACROSSE
🤿 - U+1F93F DIVING MASK
🥽 - U+1F97D GOGGLES
🩺 - U+1FA7A STETHOSCOPE
2023-07-22 08:50:46 -04:00
Xexxa
ad645c7103 Base: Add more emoji
🏵️ - U+1F3F5 ROSETTE
🦠 - U+1F9A0 MICROBE
🪽 - U+1FABD WING

Co-authored-by: Ryan Liptak <squeek502@hotmail.com>
2023-07-22 08:50:46 -04:00
Tim Ledbetter
6710622bf7 file: Add -b option to omit file name from output 2023-07-21 19:32:43 -04:00
Tim Ledbetter
73a6f2e9ed ps: Add the -o option to specify a user-defined column format
This option allows the user to change which colums are displayed
by giving comma or space separated list of column format specifiers.

A column format specifier is of the form: `COLUMN_NAME[=COLUMN_TITLE]`.
Where `COLUMN_NAME` is any of: uid, pid, ppid, pgid, sid, state, tty,
or cmd. Specifying a `COLUMN_TITLE` will change the name shown in the
column header.

`COLUMN_TITLE` may be blank. If all given column titles
are blank, the header is omitted.
2023-07-19 11:21:59 +01:00
zhiyuang
97130a4e66 LibWeb: More correctly paint joins between borders
The refactor of the border painting mainly to handle:
1. Single border with minor border radius.
2. Different border widths and border colors joined situations.
This refactor only apply to solid border.

The main differece is to use Path.fill to paint each border,
not fill_rect anymore. There's a special case need to consider.
The Path.fill will leave shared edge blank between two borders.
To handle this, we decide to combine the borders with same color
to paint together.
2023-07-18 14:51:13 +01:00
Alan Kemp
3fd870a429 LibWeb: Create EdgeStyleValue for BackgroundPositionXY with no offset
When specifying either `background-position-x: right` or
`background-position-y: bottom` without an offset value no
EdgeStyleValue was created.

However, the spec says the offset should be optional.

Now, if you do not provide an offset, it creates the EdgeStyleValue
with a default offset of 0 pixels.
2023-07-17 14:53:52 +01:00
Ryan Liptak
074ea60bb6 Base: Add 2 new emojis
⚱️ U+26B1 - Funeral Urn
👼 U+1F47C - Baby Angel
2023-07-17 06:31:54 +01:00
Xexxa
ed67acb16d Base: Add more emoji
👣 - U+1F463 FOOTPRINTS
👕 - U+1F455 T-SHIRT
👝 - U+1F45D CLUTCH BAG
👒 - U+1F452 WOMAN’S HAT
🎸 - U+1F3B8 GUITAR
2023-07-15 09:33:54 +02:00
Xexxa
c03b788892 Base: Add more emoji
🧑‍🎓 - U+1F9D1 U+200D U+1F393 STUDENT
🏯 - U+1F3EF JAPANESE CASTLE
🏙️ - U+1F3D9 CITYSCAPE
🚓 - U+1F693 POLICE CAR
🚙 - U+1F699 SPORT UTILITY VEHICLE
2023-07-14 15:42:48 -04:00
Ali Mohammad Pur
0c14698028 LibWeb: Fully implement CSS animation-timing-function
This implements all the timing functions, and hopefully all their
quirks.
Also changes the animation demo to use some funny cubic timing
functions.
2023-07-13 05:10:41 +02:00
Xexxa
318a3a0822 Base: Add more emoji
🧑‍🦽 - U+1F9D1 U+200D U+1F9BD PERSON IN MANUAL WHEELCHAIR
👨‍🦽 - U+1F468 U+200D U+1F9BD MAN IN MANUAL WHEELCHAIR
👩‍🦽 - U+1F469 U+200D U+1F9BD WOMAN IN MANUAL WHEELCHAIR
🕺 - U+1F57A MAN DANCING
🤹 - U+1F939 PERSON JUGGLING
🤹‍♂️ - U+1F939 U+200D U+2642 MAN JUGGLING
🤹‍♀️ - U+1F939 U+200D U+2640 WOMAN JUGGLING
🦣 - U+1F9A3 MAMMOTH
🎡 - U+1F3A1 FERRIS WHEEL
🛵 - U+1F6F5 MOTOR SCOOTER
💺 - U+1F4BA SEAT
🚳 - U+1F6B3 NO BICYCLES
🚯 - U+1F6AF NO LITTERING
2023-07-13 00:03:24 +02:00
Kemal Zebari
0c41867ad5 Base: Add man page for nohup 2023-07-12 10:11:24 +03:30
Xexxa
deb0c53779 Base: Add more emoji
🧎🏻 - U+1F9CE U+1F3FB PERSON KNEELING: LIGHT SKIN TONE
🧎🏼 - U+1F9CE U+1F3FC PERSON KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽 - U+1F9CE U+1F3FD PERSON KNEELING: MEDIUM SKIN TONE
🧎🏾 - U+1F9CE U+1F3FE PERSON KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿 - U+1F9CE U+1F3FF PERSON KNEELING: DARK SKIN TONE
🧎🏻‍♂️ - U+1F9CE U+1F3FB U+200D U+2642
MAN KNEELING: LIGHT SKIN TONE
🧎🏼‍♂️ - U+1F9CE U+1F3FC U+200D U+2642
MAN KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽‍♂️ - U+1F9CE U+1F3FD U+200D U+2642
MAN KNEELING: MEDIUM SKIN TONE
🧎🏾‍♂️ - U+1F9CE U+1F3FE U+200D U+2642
MAN KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿‍♂️ - U+1F9CE U+1F3FF U+200D U+2642
MAN KNEELING: DARK SKIN TONE
🧎🏻‍♀️ - U+1F9CE U+1F3FB U+200D U+2640
WOMAN KNEELING: LIGHT SKIN TONE
🧎🏼‍♀️ - U+1F9CE U+1F3FC U+200D U+2640
WOMAN KNEELING: MEDIUM-LIGHT SKIN TONE
🧎🏽‍♀️ - U+1F9CE U+1F3FD U+200D U+2640
WOMAN KNEELING: MEDIUM SKIN TONE
🧎🏾‍♀️ - U+1F9CE U+1F3FE U+200D U+2640
WOMAN KNEELING: MEDIUM-DARK SKIN TONE
🧎🏿‍♀️ - U+1F9CE U+1F3FF U+200D U+2640
WOMAN KNEELING: DARK SKIN TONE
🦫 - U+1F9AB BEAVER
2023-07-12 06:26:21 +02:00
Tim Ledbetter
4e7e878606 ps: Add --ppid option to filter by parent PID 2023-07-11 13:02:08 +01:00
Tim Ledbetter
d3c5ae0860 ps: Add -t option to filter by TTY 2023-07-11 13:02:08 +01:00
Tim Ledbetter
aeb87d6e78 ps: Allow multiple filtering options to be used simultaneously
Previously, it was assumed that only one filtering option, such as
`-u` or `-p` would be used at a time. With this PR, processes are now
shown if they match any of the specified filters.
2023-07-11 13:02:08 +01:00
Xexxa
d2637d54e5 Base: Add more emoji
🐏 - U+1F40F RAM
🐦‍⬛ - U+1F426 U+200D U+2B1B BLACK BIRD
📟 - U+1F4DF PAGER
🚻 - U+1F6BB RESTROOM
🚼 - U+1F6BC BABY SYMBOL
2023-07-10 19:47:19 -04:00
Timothy Flynn
af5eaf5edf Base: Add a test page to log KeyboardEvent data
This page prepends a row to a table with the last-received
KeyboardEvent.
2023-07-09 06:32:20 +02:00
Xexxa
c0528d4188 Base: Add more emoji
🫃 - U+1FAC3 PREGNANT MAN
🫄 - U+1FAC4 PREGNANT PERSON
🤺 - U+1F93A PERSON FENCING
🤾 - U+1F93E PERSON PLAYING HANDBALL
🤾‍♂️ - U+1F93E U+200D U+2642 MAN PLAYING HANDBALL
🤾‍♀️ - U+1F93E U+200D U+2640 WOMAN PLAYING HANDBALL
🧁 - U+1F9C1 CUPCAKE
🗼 - U+1F5FC TOKYO
🪈 - U+1FA88 FLUTE
2023-07-08 22:51:42 +01:00
Xexxa
74e77c205d Base: Adjust emoji
Align U+1F451 and U+1F450 vertically to better align with other emoji

👐 - U+1F450 OPEN HANDS
👑 - U+1F451 CROWN
2023-07-08 22:51:42 +01:00
Xexxa
6303285b1c Base: Adjust emoji
Make clothes color of U+1F930 match other emoji better

🤰 - U+1F930 PREGNANT WOMAN
2023-07-08 22:51:42 +01:00
Xexxa
c09bcc2f16 Base: Add more emoji
🦸 - U+1F9B8 SUPERHERO
🦹 - U+1F9B9 SUPERVILLAIN
🧍 - U+1F9CD PERSON STANDING
🧍‍♂️ - U+1F9CD U+200D U+2642 MAN STANDING
🧍‍♀️ - U+1F9CD U+200D U+2640 WOMAN STANDING
🦰 - U+1F9B0 RED HAIR (component)
🦱 - U+1F9B1 CURLY HAIR (component)
🦳 - U+1F9B3 WHITE HAIR (component)
🦲 - U+1F9B2 BALD (component)
🥯 - U+1F96F BAGEL
🚜 - U+1F69C TRACTOR
🪪 - U+1FAAA IDENTIFICATION CARD
2023-07-08 18:48:42 +01:00
Linus Groh
69c42eaf8b Base: Stop generating strace(1) manpage 2023-07-06 10:41:49 +01:00
kleines Filmröllchen
afaea38be2 Base: Expand "See Also" sections of many manpages
This commit focuses on the CLI utilities.
2023-07-06 10:03:48 +01:00
Shannon Booth
dfcd5ffaba Base: Update diff(1) man page to latest set of options
Describe how to use the two new context and unified format options in
the diff utility. Also change the example comparison of two files so
they contain more lines as that is much more interesting (and useful).
2023-07-05 10:26:48 +01:00
Liav A
83ebd1882f Utilities: Add the memstat utility
This small utility is something we probably needed for a very long
time - a way to print memory statistics in an elegant manner.

This utility opens /sys/kernel/memstat, reads it and decode the values
into human readable entries, possibly even into human-readable sizes.
2023-07-05 08:34:51 +02:00
Liav A
b74cb569ec Utilities/allocate: Modernize the code a bit
Use LibCore ArgsParser to parse the parameters instead of using the raw
strings from the argv (Main::Arguments) array.

Also, use indicative names for variables in the code so the utility code
is more understandable.
2023-07-05 08:34:51 +02:00
MacDue
c63d66e32f Base: Add high-quality vectorized Buggie .tvg file
I could not find a vector graphic of Buggie, so I've now made one
and am adding it exclusively as a .tvg :^)

Should be easy to convert to an SVG too :)
2023-07-03 23:54:51 +02:00
MacDue
7a0e3474d6 Base: Setup file associations for .tvg 2023-07-03 23:54:51 +02:00
Kim Kulak
cfb6baf973 Base: Add Wiby Search To New Tab Page 2023-07-02 13:20:04 +01:00
kleines Filmröllchen
8ba4036bba Base: Add accept(2) man page
This man page was referenced from some places. This is mostly a
condensed version of the POSIX behavior that the system call
implementation already has, only documenting the obviously visible
errors (in source code) we do actually report.
2023-07-02 02:29:09 +02:00
Liav A
23a7ccf607 Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls
This is a preparation before we can create a usable mechanism to use
filesystem-specific mount flags.
To keep some compatibility with userland code, LibC and LibCore mount
functions are kept being usable, but now instead of doing an "atomic"
syscall, they do multiple syscalls to perform the complete procedure of
mounting a filesystem.

The FileBackedFileSystem IntrusiveList in the VFS code is now changed to
be protected by a Mutex, because when we mount a new filesystem, we need
to check if a filesystem is already created for a given source_fd so we
do a scan for that OpenFileDescription in that list. If we fail to find
an already-created filesystem we create a new one and register it in the
list if we successfully mounted it. We use a Mutex because we might need
to initiate disk access during the filesystem creation, which will take
other mutexes in other parts of the kernel, therefore making it not
possible to take a spinlock while doing this.
2023-07-02 01:04:51 +02:00
Kim Kulak
63fc36d00d Base: Add "Wiby.me" To "SearchEngines.json" 2023-07-01 23:37:04 +01:00
kleines Filmröllchen
b4fbd30b70 AudioServer+Userland: Decouple client sample rates from device rate
This change was a long time in the making ever since we obtained sample
rate awareness in the system. Now, each client has its own sample rate,
accessible via new IPC APIs, and the device sample rate is only
accessible via the management interface. AudioServer takes care of
resampling client streams into the device sample rate. Therefore, the
main improvement introduced with this commit is full responsiveness to
sample rate changes; all open audio programs will continue to play at
correct speed with the audio resampled to the new device rate.

The immediate benefits are manifold:
- Gets rid of the legacy hardware sample rate IPC message in the
  non-managing client
- Removes duplicate resampling and sample index rescaling code
  everywhere
- Avoids potential sample index scaling bugs in SoundPlayer (which have
  happened many times before) and fixes a sample index scaling bug in
  aplay
- Removes several FIXMEs
- Reduces amount of sample copying in all applications (especially
  Piano, where this is critical), improving performance
- Reduces number of resampling users, making future API changes (which
  will need to happen for correct resampling to be implemented) easier

I also threw in a simple race condition fix for Piano's audio player
loop.
2023-07-01 23:27:24 +01:00
Tim Ledbetter
dedbc17160 cut: Add -s option to suppress lines without field delimiters
If this option is not specified, lines that contain to field
delimiters will be printed unmodified.
2023-06-26 19:49:34 +02:00
Tim Ledbetter
b17aa47769 usermod: Add -a and -r options to append or remove extra groups 2023-06-26 19:31:09 +02:00
Tim Ledbetter
caf55c0b2d usermod: Add -G option to modify supplementary groups 2023-06-26 19:31:09 +02:00
Tim Ledbetter
d7fccfc237 usermod: Allow group name or number to be used with the -g option 2023-06-26 19:31:09 +02:00
Tim Ledbetter
c723101728 strings: Add -o option as an alias for -t o 2023-06-26 19:28:42 +02:00
Tim Ledbetter
a2fb0768ff strings: Add commonly used long option names for -n and -t 2023-06-26 19:28:42 +02:00
Tim Ledbetter
ab1e8a7b91 strings: Replace the -p option with the more commonly used -f
Previously, the `-p` option printed the path of the file being
processed before any strings for that file. The `-f` prints the file
path before each string . This matches the behavior of strings on
Linux and FreeBSD.
2023-06-26 19:28:42 +02:00
Tim Ledbetter
3de4cd0ba9 Base: Add man page for env 2023-06-26 19:27:45 +02:00
Tim Ledbetter
96fecc434c chgrp: Add support for multiple file paths 2023-06-26 19:26:20 +02:00
kleines Filmröllchen
03fac609ee AudioServer+Userland: Separate audio IPC into normal client and manager
This is a sensible separation of concerns that mirrors the WindowServer
IPC split. On the one hand, there is the "normal" audio interface, used
for clients that play audio, which is the primary service of
AudioServer. On the other hand, there is the management interface,
which, like the WindowManager endpoint, provides higher-level control
over clients and the server itself.

The reasoning for this split are manifold, as mentioned we are mirroring
the WindowServer split. Another indication to the sensibility of the
split is that no single audio client used the APIs of both interfaces.
Also, useless audio queues are no longer created for managing clients
(since those don't even exist, just like there's no window backing
bitmap for window managing clients), eliminating any bugs that may occur
there as they have in the past.

Implementation-wise, we just move all the APIs and implementations from
the old AudioServer into the AudioManagerServer (and respective clients,
of course). There is one point of duplication, namely the hardware
sample rate. This will be fixed in combination with per-client sample
rate, eliminating client-side resampling and the related update bugs.
For now, we keep one legacy API to simplify the transition.

The new AudioManagerServer also gains a hardware sample rate change
callback to have exact symmetry on the main server parameters (getter,
setter, and callback).
2023-06-25 00:16:44 +02:00
kleines Filmröllchen
e7b7d1b347 Base: Add a new quote to the fortunes database 2023-06-24 19:13:42 +03:30
Tim Ledbetter
702054dcbc wc: Add -L option to show the length of the longest line
If more than one file is specified on the command line and the `-L`
option is used, the totals field will show the longest line
encountered; it is not a sum like the other values.
2023-06-23 06:24:33 +02:00
Tim Ledbetter
75c61172e3 Base: Add man page for dirname(1) 2023-06-22 17:26:51 -04:00
Tim Ledbetter
c1c35f4f59 mkdir: Add -v option to print a message for each created directory 2023-06-22 22:35:30 +02:00
kleines Filmröllchen
57b3858fbc Utilities: Add aconv for converting between audio formats
The intention for this utility is to eventually become a general-purpose
multimedia conversion tool like ffmpeg (except probably not with as many
supported formats, stream mappings and filters). For now, we can not
write any video format so the added complexity is not necessary at the
moment.
2023-06-22 21:45:54 +02:00
Tim Schumacher
cbdd44b6d2 Base: Insert newlines in the checksum(1) synopsis 2023-06-21 23:50:23 +02:00
Tim Ledbetter
b4939295c2 Base: Remove outdated exit values section from groupadd man page 2023-06-21 12:27:46 +02:00
Tim Ledbetter
09787dbf27 groupadd: Add -U option for adding members to a new group 2023-06-21 12:27:46 +02:00
Tim Ledbetter
cba46a2d64 rmdir: Add -v option to list each directory as it is removed 2023-06-19 22:52:15 +02:00
Tim Ledbetter
307dc00ee0 rmdir: Add -p option to remove all directories in each given path 2023-06-19 22:52:15 +02:00
Andreas Kling
5ef29364db Base: Add some browser content filters for common ads and trackers
Just some things I kept seeing again and again while browsing
newspaper websites. Also sorted the file.
2023-06-19 13:21:15 +02:00
Simon Danner
45f86466bb LibWeb: Add initial implementation of CRC2D.globalAlpha
Works for fills and strokes (using colors, gradients, or patterns),
along with images.

fill_rect() has been updated to use fill_path(), which allows it to
easily transform the rect, and already supports opacity.

Co-authored-by: MacDue <macdue@dueutil.tech>
2023-06-18 20:31:11 +02:00
MacDue
a910c4d984 LibWeb: Fix end position for objectBoundingBox SVG <radialGradient>s
The translation to the bounding box location is handled by the gradient
transform, also doing it here breaks things.

This fixes the MDN <radialGradient> example.
2023-06-17 22:25:26 +01:00
Tim Ledbetter
17fe2c4822 pkill: Add -O option to filter processes by age
This option allows the user to specify a number of seconds. Only
processes older than the given number of seconds are killed.
2023-06-16 07:22:45 +02:00
Tim Ledbetter
aa79a4ed9a pkill: Add -o option to kill the oldest matching process only 2023-06-16 07:22:45 +02:00
Tim Ledbetter
519893d31f pkill: Add -n option to kill the newest matching process only 2023-06-16 07:22:45 +02:00
Tim Ledbetter
0621a83cb4 pkill: Allow signal names to be used with the -s option 2023-06-16 07:22:45 +02:00
Nico Weber
7302f8838c Base: Remove unused png file
See here: https://github.com/SerenityOS/serenity/pull/15234#issuecomment-1591477603
2023-06-15 17:44:44 -04:00
Nico Weber
31c9fe5c32 Base: Rename Cupertino window-close-modified-hover.jpg to .png
It's a png file, not a jpeg file, so give it the correct name.
If I read WindowFrame.cpp right, the hover bitmap only works if
the file is named .png, too.

(Noticed by running `find Base/res/icons -name '*.jpg'`.)
2023-06-14 06:40:44 +02:00
MacDue
e27081a8ca Base: Add an SVG fill-rule example page 2023-06-11 19:34:24 +02:00
MacDue
30c316a2bf LibWeb+LibGfx: Allow stroking with a paint style and opacity 2023-06-11 16:15:56 +02:00
MacDue
eb4a58528e LibWeb+LibGfx: Allow filling with a paint style and opacity 2023-06-11 16:15:56 +02:00
Tim Ledbetter
23af2cfbc5 Base: Add man page for pkill 2023-06-10 07:35:52 +02:00
Tim Ledbetter
b863332415 pgrep: Add -O option to filter processes by age
This option allows the user to specify a number of seconds. Only
processes older than the given number of seconds are selected.
2023-06-10 07:13:25 +02:00
Tim Ledbetter
d03aaddb55 pgrep: Add -o option to display the oldest matching process only 2023-06-10 07:13:25 +02:00
Tim Ledbetter
47b530fa71 pgrep: Add -n option to display the newest matching process only 2023-06-10 07:13:25 +02:00
Ben Wiederhake
3f1cc7125c CI: Don't run known-failing tests on Aarch
These might be the cause of CI failures.
2023-06-08 10:03:35 +02:00
Timothy Flynn
e7faca4431 Base: Use a relative path to load the new tab page's browser icon
Similar to 59a1a3f463, this is to allow
using this page outside of Serenity.
2023-06-08 07:22:00 +02:00
MacDue
d259421b69 LibWeb: Allow paint style fills for CRC2D strokes 2023-06-08 07:17:43 +02:00
Luke Wilde
42a183720b LibWeb/SVG: Support url() in the stroke attribute
This allows you to draw gradients in strokes, for example.
2023-06-07 06:29:46 +02:00
Cubic Love
3bc62b7c7b Base: Update Assistant & Tips-and-Tricks manpages
Update the Assistant manpage with instructions on how to run a command
in Terminal. Reflect this to the Assistant section in Tips-and-Tricks.
Also add instructions for launching applications with arguments.
2023-06-07 00:57:14 +02:00
Cubic Love
c7532cf084 Base: Add 3DFileViewer, CatDog & CertificateSettings manpages
Also update Applications.md to reflect this and some other previously
missing pages.
2023-06-07 00:57:14 +02:00
Simon Danner
d41e6a0451 Base: Add Unicode arrows to Katica Italic 10
2190-4
2023-06-07 00:47:22 +02:00
Karol Kosek
6e5457d9e0 Base: Add .mkv file association to Video Player
Video Player can play VP9 videos inside Matroska. Double-clicking on
such files in File Manager will now open this application.
2023-06-05 06:56:06 +02:00
Ben Wiederhake
189af20294 Base: Remove unlicensed copy of BMFW
The creator of this site is most definitely not going to enforce his
copyright, yes, but it's still a bad idea to keep around an unlicensed
copy of someone else's work. We no longer use it to 'test' anything, so
let's just remove it entirely.
2023-06-03 14:29:19 +02:00
Ben Wiederhake
38f107685c Base: Replace GPL bmpsuite by link to original
bmpsuite on GitHub is licensed under the GPLv3:
https://github.com/jsummers/bmpsuite/blob/master/COPYING.txt

However, we did not "conspicuously and appropriately publish on each
copy an appropriate copyright notice", therefore we probably were in
violation with GPLv3 paragraph 4, "Conveying Verbatim Copies".

Let's just remove this entirely, because Ladybird can just access
the original pages instead.

At the time of writing, `bmpsuite.html` and the HTML response from the
linked URL are byte-identical.
2023-06-03 14:29:19 +02:00
Daniel Bertalan
e77ce26ff1 run-tests: Unlink coredumps in self-test mode
This ensures that the RAM does not fill up with already processed
coredumps when many tests crash (as is the case on AArch64). We only
do this in self-test mode so as to avoid racing CrashDaemon.
2023-06-01 09:04:20 +02:00
Oskar Skog
a05f610278 Base: Extend the Finnish keymap and make capital Å type what it should 2023-05-31 16:42:09 +02:00
Tim Ledbetter
f5da6d61b4 pgrep: Add -x option to only select exact matches 2023-05-31 06:04:48 +02:00
Tim Ledbetter
821bf5e071 pgrep: Add -U option to filter matches by UID or login name 2023-05-31 06:04:48 +02:00
Tim Ledbetter
cb6a2d60d3 pgrep: Add -l option to list the process name as well as its pid 2023-05-31 06:04:48 +02:00
Tim Ledbetter
ad851706ab pgrep: Add -c option to show the number of matches 2023-05-31 06:04:48 +02:00
Tim Ledbetter
f95e6ee849 pgrep: Add --ignore-case as an alias for the -i option 2023-05-31 06:04:48 +02:00
Ali Mohammad Pur
e90752cc21 LibWeb: Add preliminary support for CSS animations
This partially implements CSS-Animations-1 (though there are references
to CSS-Animations-2).
Current limitations:
- Multi-selector keyframes are not supported.
- Most animation properties are ignored.
- Timing functions are not applied.
- Non-absolute values are not interpolated unless the target is also of
  the same non-absolute type (e.g. 10% -> 25%, but not 10% -> 20px).
- The JavaScript interface is left as an exercise for the next poor soul
  looking at this code.

With those said, this commit implements:
- Interpolation for most common types
- Proper keyframe resolution (including the synthetic from-keyframe
  containing the initial state)
- Properly driven animations, and proper style invalidation

Co-Authored-By: Andreas Kling <kling@serenityos.org>
2023-05-29 05:35:41 +02:00
Tim Ledbetter
245699f303 Base: Add man page for w 2023-05-24 05:55:44 +02:00
thankyouverycool
02d94a303c Base+Userland: Apply Human Interface Guidelines to Object text
Corrects a slew of titles, buttons, labels, menu items and status bars
for capitalization, ellipses and punctuation.

Rewords a few actions and dialogs to use uniform language and
punctuation.
2023-05-23 05:59:49 +02: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
MacDue
ac104f7845 Base: Use fill-opacity and stroke-opacity in SVG example 2023-05-20 08:52:19 +02:00
MacDue
1d91a56242 Base: Use stop-opacity in SVG gradients example 2023-05-20 08:52:19 +02:00
Tim Ledbetter
c87053c685 Base: Add man page for shuf 2023-05-18 21:06:37 -06:00
Liav A
0bbd9040ef Kernel+Userland: Split bind-mounting and re-mounting from mount syscall
These 2 are an actual separate types of syscalls, so let's stop using
special flags for bind mounting or re-mounting and instead let userspace
calling directly for this kind of actions.
2023-05-17 23:39:15 -06:00
Tim Ledbetter
259f4ffce1 Base: Add man page for ping 2023-05-16 12:56:11 +02:00
Sam Atkins
be71ccb690 ps: Add -u option, to list processes associated with specified users 2023-05-16 12:54:18 +02:00
Sam Atkins
3aff3c610a ps: Add -p option, and distinguish it from -q 2023-05-16 12:54:18 +02:00
Sam Atkins
45c429853a ps: Allow -q option multiple times, and separated by spaces or commas
Several differences here:
- Passing `-q` multiple times will add them together, instead of the
  last one overwriting the previous ones.
- `-q` PIDs can be separated by commas as well as spaces.
- We check that the PIDs are integers while parsing the arguments,
  instead of later on.

The "parse a list of things as an option" is extracted into a helper
function, because we're going to want the same logic for `-g`, `-G`,
`-p`, `-t`, `-u`, and `-U`.
2023-05-16 12:54:18 +02:00
Sam Atkins
a6e701a67b ps: Add the -a option, to list all processes associated with terminals 2023-05-16 12:54:18 +02:00
Sam Atkins
afb55d9fd8 ps: Add the -A option
This is identical to our existing `-e` option, but both are required by
POSIX.
2023-05-16 12:54:18 +02:00
Tim Ledbetter
46510bbb64 Base: Add man page for pgrep 2023-05-16 12:49:15 +02:00
Tim Ledbetter
f666989c9e Base: Add man page for pidof 2023-05-15 06:57:44 +02:00
Fabian Dellwing
b01fcccbbd Userland+Base: Don't run NetworkSettings in elevated mode 2023-05-13 17:59:37 -06:00
Tim Ledbetter
dab991284f Base: Add man page for top 2023-05-13 17:05:05 +02:00
Timothy Flynn
2b269cf425 Base: Add a test page to load a video element with <source> children
This verifies we cycle through the source children until we land on one
with a video we can play.
2023-05-13 15:51:44 +02:00
thankyouverycool
7fa8fae786 FontEditor: Allow application to launch without a font
Since LibFSAC requires a reified window before loading a font, it
makes sense to have a safe null state for the app.

This lets us stay alive after a failed file request on startup,
handle failure at any point during initialization, and claw back
memory from all our font RefPtrs.

A default startup font or none at all can now be set in FontEditor.ini
2023-05-13 12:53:49 +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
Cubic Love
c7e08c3266 Base: Add some Arrows & General Punctuation to Csilla Regular 12
Csilla Regular 12 is used for inline code in LibMarkdown. It was
missing basic arrows and ellipsis needed by man pages referencing menu
items. I have added these and some extras.

General Punctuation
https://www.unicode.org/charts/PDF/U2000.pdf
2010, 2012-2026, 2032-203A, 203F-2040, 2044, 2047-2048, 204B

Arrows
https://www.unicode.org/charts/PDF/U2190.pdf
2190-2193
2023-05-09 06:18:30 +02:00
Cubic Love
f5caf363e7 Base: Improve some application man pages
- FontEditor.md
- Magnifier.md
- Presenter.md
- Terminal.md

Where an arrow is indicated by -> turn it into an actual arrow →
(U+2192 Rightwards Arrow). This looks much neater.
Inspired by Notion doing this automatically when you type "->".

I've made various corrections: fixing grammatical errors, removing
unnecessary or adding-in missing spaces. Made the style of references
to menu items more consistent. Generally I've tried to make the pages
read better. Terminal has had more adjustment than the others as its
Settings were recently changed and the man page now reflects this.
2023-05-09 06:18:30 +02:00
Andreas Kling
15211cd753 Userland: Show "Ladybird" instead of "Browser" in titles, menus, etc
While the binary is still called "Browser" for now, let's make it clear
that we're converging on a single name for this application.
2023-05-09 06:12:09 +02:00
Fabian Dellwing
2cd59df443 netstat: Add -e argument
This adds information about the user owning the process to our netstat
output. We do not fully match the behaviour of Linux as we don't show
an inode information.
2023-05-07 11:55:58 +02:00
Cubic Love
eadef3e5c3 Base: Add web server tip to Tips-and-Tricks(7)
Add the very useful tip of how to transfer files from QEMU to your host
machine via the built-in web server.
2023-05-07 07:08:58 +02:00
Cubic Love
18d527fce1 Base: Improve Assistant App Icon (16px)
I've been unsatisfied with the current Assistant app icon (16px).
After trying many variations, I have ended-up with this. The changes
may be slight, but the bow tie now has a more natural shape including
a more prominent knot, bringing it more inline with the 32px version.
Plus the shading has been tweaked.
2023-05-07 06:33:13 +02:00
Ben Wiederhake
ee47c0275e Everywhere: Run spellcheck on all documentation 2023-05-07 01:05:09 +02:00
Cubic Love
a7600caea1 Base+Snake: Capitalize snake skin names
In Snake, the menu for choosing a skin looked messy due to
inconsistent capitalization. Two skins names were entirely lowercase.
For the sprite-based skins, the menu takes the name of each skin's
directory, so I have capitalized these.

Capitalizing the original snake skin required more change than simply
renaming a directory.
2023-05-06 22:19:41 +02:00
Lucas CHOLLET
1a97382305 LibGUI: Make Application's construction fallible
The pattern to construct `Application` was to use the `try_create`
method from the `C_OBJECT` macro. While being safe from an OOM
perspective, this method doesn't propagate errors from the constructor.
This patch make `Application` use the `C_OBJECT_ABSTRACT` and manually
define a `create` method that can bubble up errors from the
construction stage.

This commit also removes the ability to use `argc` and `argv` to
create an `Application`, only `Main`'s `Arguments` can be used.

From a user point of view, the patch renames `try_create` => `create`,
hence the huge number of modified files.
2023-05-05 16:41:21 +01:00
Cubic Love
0d808f6dcb Base+Minesweeper: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
9c8385c605 Base+FlappyBug: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
c6454d37c0 Base+ColorLines: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
248542535d Base+LibChess: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
2023-05-05 11:52:33 +01:00
Cubic Love
240a56d9ce Base+CatDog: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for demo assets.
Also, update the example presenter file which uses a CatDog sprite.
2023-05-05 11:52:33 +01:00
Cubic Love
1d6f2e5608 Base+LibCards: Move card backs from /icons/ to /graphics/
The graphics directory is a more suitable home for game assets.
Also, move card backs into their own subfolder in preparation for a
themes subfolder for card fronts.
2023-05-05 11:52:33 +01:00
kleines Filmröllchen
876f00e635 Base: Demonstrate ArgsParser and format strings in cli project template
This demonstrates both an option and an optional positional argument, as
well as some simple format string printing with {}.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
fd68e9f1ac Base: Split out cpp-library template files into actual files
These were part of the postcreate script previously, but with the new
powers of sed, we can text-replace the library name and make changing
them much more convenient.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
2451e97a11 Base: Adjust serenity-application template with some cpp-gui pieces
Namely, the window title and size are carried over, since a larger
window with a more readable "Example Application" title is better to
understand. I also took the opportunity to add a missing trailing
newline to the generated CMake file.
2023-05-05 02:15:43 +03:30
kleines Filmröllchen
7a0fae7be1 Base: Remove the cpp-gui HackStudio template
This template is essentially an older version of the
serenity-application template, it does not compile anymore and is
therefore entirely redundant.
2023-05-05 02:15:43 +03:30
MacDue
390ade3cf4 Base: Add some SVG <radialGradient> examples 2023-05-04 16:50:01 +02:00
Andreas Kling
9fa51987f8 Userland+Base: Treat ".webp" files as images :^) 2023-05-01 11:10:56 +02:00
MacDue
77a5f40736 Base: Fix incorrectly closed tag in welcome.html 2023-04-29 05:42:57 +02:00
MacDue
8ff6239d4f Base: Add SVG gradients test page 2023-04-28 09:42:28 +02:00
Fabian Dellwing
8c1dacecba nc: Add -n option to suppress name resolution 2023-04-26 12:33:25 -06:00
Fabian Dellwing
7cfa108fad nc: Add -p option
With this change we support the well-known and shorter way to
create a listener on all interfaces:

`nc -lvp 1337`

instead of:

`nc -lv 0.0.0.0 1337`
2023-04-26 12:33:25 -06:00
Fabian Dellwing
552e317a89 nc: Sort command line arguments alphabetically 2023-04-26 12:33:25 -06: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
Tim Ledbetter
868a3912f4 Base: Update reference to Help man file location 2023-04-25 02:16:48 -06:00
Karol Baraniecki
190a6650bd cal: Add the -y option to show the current year
Without `-y`, to show the current full year you'd have to specify which
one: `cal 2023`. Adding `-y` makes it possible to see the full current
year without remembering what year we are in.

This option is also stolen from FreeBSD :^)

Additionally, validate args: prevent passing both -3 and -y at the
same time. Passing both `--three-month-mode` and `--year` to `cal`
doesn't make sense. You'd either want the one or the other.
2023-04-25 01:54:53 -06:00
Karol Baraniecki
dab82e1531 cal: Add the -3 option
This allows to view just the previous, current, and next month
simultaneously. The idea for this is shamelessly stolen from FreeBSD :^)
2023-04-25 01:54:53 -06:00
Karol Baraniecki
94e14bbe65 cal: Get default week start day from Calendar
Making it configurable in system settings :^)
The --start-day option can still overwrite this global default.

This change makes it no longer possible to use unveil: as we have
to load the Calendar config file, which might be in a dynamic location.

It's also neccessary to add `cpath` to the pledge, as opening a
nonexistent config file with Core::ConfigFile::open_for_app creates it.
2023-04-25 01:54:53 -06:00
Karol Baraniecki
114da3a275 cal: Make start of the week configurable
Making all the other parts of the world happier :^)

Add a `--starting-day` (`-s`) option to be compatible with GNU cal,
which has a similar option. The GNU option takes allows passing either
an int or a day name. Let's do something similar using weekdays we
already have in AK/DateConstants.h.

Also add myself to the copyright header, as by now I've modified most of
the lines in this file.
2023-04-25 01:54:53 -06:00
Karol Baraniecki
af2a606f25 cal: Only show year next to each month in one-month-mode
Additionally rename a loop variable in serenity_main() because
after introducing the `Header` enum IMO it's less readable with `i`.
2023-04-25 01:54:53 -06:00
Karol Baraniecki
1d47d5bb8b cal: Display month names
For now let's use them from AK/DateConstants.h, in accordance with the
FIXME those propably should be provided by the locale.
2023-04-25 01:54:53 -06:00
Karol Baraniecki
119dc042ab cal: Mark the current day as inverted text
...instead of putting a star `*` next to it. This makes `cal`s output
much prettier, and gets rid of one FIXME. :^)

Don't use the escape sequence from the deleted FIXME - \e[30;47m would
set the background to white and foreground to black - which presumably
wouldn't do much on a light-theme terminal. Instead use \e[7m which sets
the color as "inverted".
2023-04-25 01:54:53 -06:00
Karol Baraniecki
b57c718418 cal: Don't accept passing a [day]
Every other cal implementation just highlights the current day instead
of letting you specify a custom one to highlight. It doesn't seem to be
that useful, and is currently broken - no day gets highlighted at all,
because the `target_day` global is never written to.

Moreover, this complicates parsing the arguments. This commit also fixes
parsing a case where just a year is provided to `cal` - for example `cal
2023`.
2023-04-25 01:54:53 -06:00
Liav A
8289759f1d Kernel: Allow configuring a Jail to not impose PID isolation restriction
This is quite useful for userspace applications that can't cope with the
restriction, but it's still useful to impose other non-configurable
restrictions by using jails.
2023-04-24 12:15:29 +02:00
Jelle Raaijmakers
6601ff9d65 LibSQL: Redesign heap storage to support arbitrary amounts of data
Previously, `Heap` would store serialized data in blocks of 1024 bytes
regardless of the actual length. Data longer than 1024 bytes was
silently truncated causing database corruption.

This changes the heap storage to prefix every block with two new fields:
the total data size in bytes, and the next block to retrieve if the data
is longer than what can be stored inside a single block. By chaining
blocks together, we can store arbitrary amounts of data without needing
to change anything of the logic in the rest of LibSQL.

As part of these changes, the "free list" is also removed from the heap
awaiting an actual implementation: it was never used.

Note that this bumps the database version from 3 to 4, and as such
invalidates (deletes) any database opened with LibSQL that is not
version 4.
2023-04-23 18:08:17 -04:00
Timothy Flynn
59a1a3f463 Base: Add options to the video test page to change its attributes
This is to allow testing autoplay, poster images, etc. without having to
stash local changes to the page. This also changes the URLs used on the
page to be relative to the page itself, to allow the page to load both
on Serenity and Lagom.
2023-04-21 07:54:36 +02:00
Timothy Flynn
229cc67fee LibWeb: Implement HTMLMediaElement's autoplay attribute 2023-04-18 16:30:02 +02:00
Timothy Flynn
65283d6879 BrowserSettings: Add a tab to control the Browser's autoplay settings
This adds a checkbox to enable autoplay on all websites (disabled by
default) and a website list to enable autoplay on individual websites
(set to file:// URLs only by default).
2023-04-18 16:30:02 +02:00
MacDue
71ed1e3e50 Base: Add SVG preserveAspectRatio demo page 2023-04-17 07:32:31 +02:00
Cubic Love
d82b9553b5 Base: Complete Mathematical Operators in Katica Regular 10
https://www.unicode.org/charts/PDF/U2190.pdf
21E7

https://www.unicode.org/charts/PDF/U2200.pdf
2201, 2203-4, 2208-220E, 2213-221D, 221F-2226, 222D-223F, 2241-224F,
225D-225F, 2262, 226D-228E, 22A2-22A8, 22AC-22AF, 22B2-22B9, 22BB-22BD,
22C4-22C5, 22C8-22CA, 22CE-22D4, 22D6-22FE
2023-04-14 21:43:40 +02:00
Cubic Love
fb47b988ca Base: Add US English Apple Macintosh keymap
Add the full alt + shift-alt keymap for the EN-US Apple Keyboard Layout
2023-04-14 10:00:06 +02:00
Srikavin Ramkumar
04198a29a8 Base: Fix typo in cursor test page 2023-04-14 09:57:49 +02:00
Sam Atkins
d0f80b40b2 LibWeb: Reimplement CalculatedStyleValue as a calculation node tree
VALUES-4 defines the internal representation of `calc()` as a tree of
calculation nodes. ( https://www.w3.org/TR/css-values-4/#calc-internal )

VALUES-3 lacked any definition here, so we had our own ad-hoc
implementation based around the spec grammar. This commit replaces that
with CalculationNodes representing each possible node in the tree.

There are no intended functional changes, though we do now support
nested calc() which previously did not work. For example:
    `width: calc( 42 * calc(3 + 7) );`

I have added an example of this to our test page.

A couple of the layout tests that used `calc()` now return values that
are 0.5px different from before. There's no visual difference, so I
have updated the tests to use the new results.
2023-04-13 09:53:47 +02:00
Cubic Love
6e14dde97d Base: Add 32px icon for CertificateSettings
Before, the 32px icon was just the 16px icon upscaled.
Now TreuKS has tailor-made a 32px version :)

Co-authored-by: TreuKS <ks2225@protonmail.com>
2023-04-13 07:52:16 +01:00
Cubic Love
c3a5618dab Base: Add icons for the Gradient screensaver
Add 32px and 16px application icons for the Gradient screensaver
2023-04-12 19:34:27 +02:00
Cubic Love
c6af248909 Demos: Rename GradientScreensaver to Gradient
This brings the name in-line with the naming convention used by the
other screensavers 'Starfield' and 'Tubes'.
2023-04-12 19:34:27 +02:00
MacDue
8aecd8c7ac Base: Add SVG transform test page 2023-04-12 07:40:22 +02:00
Timothy Flynn
f109bb36a2 Base: Add the ended attribute to the video test page 2023-04-11 19:27:55 +02:00
Timothy Flynn
59848086ba Base: Add the current playback position to the video test page 2023-04-11 19:27:55 +02:00
Cameron Youell
86781f0c08 Documentation: Update readlink.md to use LibFileSystem api 2023-04-09 20:58:54 -06:00
MacDue
67aceb6c67 Base: Add canvas clip path test page 2023-04-09 18:42:45 +02:00