Commit graph

3124 commits

Author SHA1 Message Date
Cubic Love d5aab4204a Base: Add manpage for Screenshot 2024-04-18 13:44:53 -06:00
circl 5639ff5f97 Screenshot: Add graphical frontend to shot
Co-authored-by: cubiclove <7754483+cubiclove@users.noreply.github.com>
2024-04-17 11:25:40 -06:00
Tim Ledbetter 8892c25520 Base: Return the correct value for fib(0) in Wasm example
Previously, using `wasm-decompile` to decompile the Wasm bytecode on
the `wasm.html` example page gave this output:

```
export function fib(a:int):int {
  if (a < 2) { return 1 }
  return fib(a - 2) + fib(a - 1);
}
```

With this change the bytecode now decompiles to:

```
export function fib(a:int):int {
  if (a <= 0) { return 0 }
  if (a == 1) { return 1 }
  return fib(a - 2) + fib(a - 1);
}
```

This means that the example page now prints the correct answer of 55 to
the console for `fib(10)`. Previously, `fib(10)` returned 89.

I also used `wasm-opt -Oz`, which removed an unnecessary `return`
instruction, saving 1 byte!
2024-04-11 01:17:20 +02:00
Bastiaan van der Plaat 1475c1810f LibWeb: Add support for select options disabled state 2024-04-08 17:24:48 -04:00
Bastiaan van der Plaat 4408581ee0 LibWeb: Refactor SelectItem to allow selecting options without value
Currently the `<select>` dropdown IPC uses the option value attr to
find which option is selected. This won't work when options don't
have values or when multiple options have the same value. Also the
`SelectItem` contained so weird recursive structures that are
impossible to create with HTML. So I refactored `SelectItem` as a
variant, and gave the options a unique id. The id is send back to
`HTMLSelectElement` so it can find out exactly which option element
is selected.
2024-04-08 17:24:48 -04:00
Torben Virtmann 6207405f3d Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB

Base: Add and Rework Emoji

- 🛳 - U+1F6F3 PASSENGER SHIP

- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
2024-04-06 13:40:45 -04:00
Fabian Dellwing 520f6ac92a man+tail: Bring the manpage of tail up to date 2024-04-05 15:30:41 -06:00
Cubic Love 41d5fa2b07 Base+ImageViewer: Restore correct app icon
Restore ImageViewer's new application icon, which was accidentally
changed back to using the filetype icon by e800605.
Additionally, use the correct icon in the ImageViewer manpage.
2024-03-28 22:32:03 -04:00
Nico Weber 1ab28276f6 LibGfx: Add the start of a JPEG2000 loader
JPEG2000 is the last image format used in PDF filters that we
don't have a loader for. Let's change that.

This adds all the scaffolding, but no actual implementation yet.
2024-03-25 20:35:00 +01:00
Torben Virtmann 50ae3ca659 Base: Add Emoji 2024-03-21 21:28:12 +00:00
Xexxa 541161d5e0 Base: Add more emoji
🏴󠁢󠁱󠁢󠁯󠁿 - U+1F3F4 U+E0062 U+E0071 U+E0062 U+E006F U+E007F
BQ-BO Bonaire
🏴󠁢󠁱󠁳󠁡󠁿 - U+1F3F4 U+E0062 U+E0071 U+E0073 U+E0061 U+E007F
BQ-SA Saba
🏴󠁢󠁱󠁳󠁥󠁿 - U+1F3F4 U+E0062 U+E0071 U+E0073 U+E0065 U+E007F
BQ-SE Sint Eustatius
🏴󠁫󠁲󠀱󠀱󠁿 - U+1F3F4 U+E006B U+E0072 U+E0031 U+E0031 U+E007F
KR-11 Seoul
🏴󠁫󠁲󠀲󠀹󠁿 - U+1F3F4 U+E006B U+E0072 U+E0032 U+E0039 U+E007F
KR-29 Gwangju City
🏴󠁫󠁲󠀳󠀰󠁿 - U+1F3F4 U+E006B U+E0072 U+E0033 U+E0030 U+E007F
KR-30 Daejeon
🏴󠁫󠁲󠀴󠀱󠁿 - U+1F3F4 U+E006B U+E0072 U+E0034 U+E0031 U+E007F
KR-41 Gyeonggi
🏴󠁫󠁲󠀴󠀴󠁿 - U+1F3F4 U+E006B U+E0072 U+E0034 U+E0034 U+E007F
KR-44 South Chungcheong
🏴󠁫󠁲󠀴󠀶󠁿 - U+1F3F4 U+E006B U+E0072 U+E0034 U+E0036 U+E007F
KR-46 South Jeolla
🏴󠁫󠁲󠀴󠀸󠁿 - U+1F3F4 U+E006B U+E0072 U+E0034 U+E0038 U+E007F
KR-48 South Gyeongsang
🏴󠁫󠁲󠀴󠀹󠁿 - U+1F3F4 U+E006B U+E0072 U+E0034 U+E0039 U+E007F
KR-49 Jeju
🏴󠁮󠁬󠁢󠁱󠀱󠁿 - U+1F3F4 U+E006E U+E006C U+E0062 U+E0071 U+E0031 U+E007F
NL-BQ1 Bonaire
🏴󠁮󠁬󠁢󠁱󠀲󠁿 - U+1F3F4 U+E006E U+E006C U+E0062 U+E0071 U+E0032 U+E007F
NL-BQ2 Saba
🏴󠁮󠁬󠁢󠁱󠀳󠁿 - U+1F3F4 U+E006E U+E006C U+E0062 U+E0071 U+E0033 U+E007F
NL-BQ3 Sint Eustatius
🏴󠁮󠁬󠁤󠁲󠁿 - U+1F3F4 U+E006E U+E006C U+E0064 U+E0072 U+E007F
NL-DR Drenthe
🏴󠁮󠁬󠁦󠁬󠁿 - U+1F3F4 U+E006E U+E006C U+E0066 U+E006C U+E007F
NL-FL Flevoland
🏴󠁮󠁬󠁦󠁲󠁿 - U+1F3F4 U+E006E U+E006C U+E0066 U+E0072 U+E007F
NL-FR Friesland
🏴󠁮󠁬󠁧󠁥󠁿 - U+1F3F4 U+E006E U+E006C U+E0067 U+E0065 U+E007F
NL-GE Gelderland
🏴󠁮󠁬󠁧󠁲󠁿 - U+1F3F4 U+E006E U+E006C U+E0067 U+E0072 U+E007F
NL-GR Groningen
🏴󠁮󠁬󠁬󠁩󠁿 - U+1F3F4 U+E006E U+E006C U+E006C U+E0069 U+E007F
NL-LI Limburg
🏴󠁮󠁬󠁮󠁢󠁿 - U+1F3F4 U+E006E U+E006C U+E006E U+E0062 U+E007F
NL-NB North Brabant
🏴󠁮󠁬󠁮󠁨󠁿 - U+1F3F4 U+E006E U+E006C U+E006E U+E0068 U+E007F
NL-NH North Holland
🏴󠁮󠁬󠁯󠁶󠁿 - U+1F3F4 U+E006E U+E006C U+E006F U+E0076 U+E007F
NL-OV Overijssel
🏴󠁮󠁬󠁵󠁴󠁿 - U+1F3F4 U+E006E U+E006C U+E0075 U+E0074 U+E007F
NL-UT Utrecht
🏴󠁮󠁬󠁺󠁥󠁿 - U+1F3F4 U+E006E U+E006C U+E007A U+E0065 U+E007F
NL-ZE Zeeland
🏴󠁮󠁬󠁺󠁨󠁿 - U+1F3F4 U+E006E U+E006C U+E007A U+E0068 U+E007F
NL-ZH South Holland
🏴󠁵󠁳󠁡󠁬󠁿 - U+1F3F4 U+E0075 U+E0073 U+E0061 U+E006C U+E007F
US-AL Alabama
🏴󠁵󠁳󠁡󠁺󠁿 - U+1F3F4 U+E0075 U+E0073 U+E0061 U+E007A U+E007F
US-AZ Arizona
🏴󠁵󠁳󠁴󠁸󠁿 - U+1F3F4 U+E0075 U+E0073 U+E0074 U+E0078 U+E007F
US-TX Texas
👨‍🔬 - U+1F468 U+200D U+1F52C MAN SCIENTIST
🧤 - U+1F9E4 GLOVES
🧥 - U+1F9E5 COAT
2024-03-19 06:51:04 -04:00
Liav A 0739b5df11 Utilities/mount: Automatically mount regular files with loop devices
Check if the source fd is not a block device file using the fstat
syscall and if that's the case, try to mount the file using a temporary
loop device.
2024-03-13 15:33:47 -06:00
Cubic Love 3bec616893 Base+ImageViewer: Add new icons for ImageViewer
Add ImageViewer application icons (16 and 32px) and matching image
filetype icons.
2024-03-12 08:08:19 +00:00
Bastiaan van der Plaat 29026ce965 Maps: Move TileProviders.json to user independent folder 2024-03-11 10:40:23 +00:00
Nico Weber 58838db445 LibGfx: Add the start of a JBIG2 loader
JBIG2 is infamous for two things:

1. It's used in xerox scanners were it falsifies scanned numbers:

https://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning

2. It was allegedly used in an iOS zero day, in a very cool way:

https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html

Needless to say, we need support for it in Serenity. (...because it's
used in PDF files.)

This adds all the scaffolding, but no actual implementation yet.

It's enough for `file` to print the mime type of .jb2 files, but `image`
can't do anything with the files yet.
2024-03-09 16:01:22 +01:00
Pixel Brush 2c327a67bc Base: Remake Default Snake Sprites 2024-03-07 11:34:37 -05:00
Pixel Brush 34b8cefaab Base: Add Emoji
Base: Add Emoji
🥿 - U+1F97F FLAT SHOE
🫀 - U+1FAC0 ANATOMICAL HEART
🪔 - U+1FA94 DIYA LAMP
🧫 - U+1F9EB PETRI DISH
🚷 - U+1F6B7 NO PEDESTRIANS
2024-03-07 11:33:41 -05:00
Pixel Brush 70b9e28975 Base: Add emoji
👞 - U+1F45E MANS SHOE
👟 - U+1F45F ATHLETICS SHOE
👠 - U+1F460 HIGH-HEELED SHOE
🕴 - U+1F574 MAN IN BUSINESS SUIT LEVITATING
🐐 - U+1F410 GOAT
2024-03-03 17:40:04 -05:00
Matthew Olsson 53a247dbe1 Base: Extend the web-animations demo to showcase complex transforms 2024-03-02 12:25:53 +01:00
Matthew Olsson 83fd28e089 LibWeb: Add a demo for web-animations 2024-02-23 20:52:37 +01:00
Timothy Flynn fd558a012b LibWebView: Do not embed text as data in the Inspector HTML
We were previously embedding the original text to handle the special
case where the text is empty. We generate an extra span to hold the
string "#text" as a placeholder, so that we don't generate a 0px-wide,
unclickable (and therefore uneditable) node. Instead, we can just detect
when this is the case in the Inspector JS.

This further reduces the generated HTML for the Inspector on
https://github.com/SerenityOS/serenity from 1.9MB to 1.8MB (about 94KB,
or 4.7%).
2024-02-20 17:04:36 +01:00
Timothy Flynn f07f5a2622 LibWeb+WebContent: Do not embed attributes as data in the Inspector HTML
Attribute values may contain HTML, and may contain invalid HTML at that.
If the latter occurs, let's not generate invalid Inspector HTML when we
embed the attribute values as data attributes. Instead, cache the values
in the InspectorClient, and embed just a lookup index into the HTML.

This also nicely reduces the size of the generated HTML. The Inspector
on https://github.com/SerenityOS/serenity reduces from 2.3MB to 1.9MB
(about 318KB, or 13.8%).
2024-02-20 17:04:36 +01:00
Cubic Love 0d41f6cf89 Base: Improve 3DFileViewer Icons
New 32px and 16px application icons.
New 32px and optimized 16px filetype icons.
All four icons are now consistent, with a Lavender-blue Isometic Cube.
2024-02-08 08:08:25 -07:00
Cubic Love 3d18988aa0 Base: Improve 3DFileViewer manpage 2024-02-08 08:08:25 -07:00
Tim Ledbetter b680c29923 Base: Add a default AutoMark entry to the Terminal config file 2024-02-07 13:35:49 +01:00
Bastiaan van der Plaat 5a8e82e6ea Base: Create user default Music and Pictures directories 2024-02-05 16:30:52 +01:00
Bastiaan van der Plaat f4d5ff9ed9 Welcome: Move tips.txt to /usr/share/Welcome because it's system wide 2024-02-05 16:30:52 +01:00
Sam Atkins d930ea1242 HexEditor: Add an option to load an annotations file on startup 2024-01-31 17:38:56 +00:00
Xexxa 43fe7af35e Base: Add more emoji
🦻 - U+1F9BB EAR WITH HEARING AID
👯 - U+1F46F PEOPLE WITH BUNNY EARS
🐅 - U+1F405 TIGER
🐆 - U+1F406 LEOPARD
🕷️ - U+1F577 SPIDER
🏴󠁮󠁺󠁡󠁵󠁫󠁿 - U+1F3F4 U+E006E U+E007A U+E0061 U+E0075 U+E006B U+E007F
NZ-AUK Auckland
🏴󠁮󠁺󠁮󠁳󠁮󠁿 - U+1F3F4 U+E006E U+E007A U+E006E U+E0073 U+E006E U+E007F
NZ-NSN Nelson
🏴󠁮󠁺󠁷󠁧󠁮󠁿 - U+1F3F4 U+E006E U+E007A U+E0077 U+E0067 U+E006E U+E007F
NZ-WGN Wellington
🏴󠁰󠁡󠀱󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0031 U+E007F
PA-1 Bocas del Toro
🏴󠁰󠁡󠀲󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0032 U+E007F
PA-2 Coclé
🏴󠁰󠁡󠀳󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0033 U+E007F
PA-3 Colón
🏴󠁰󠁡󠀴󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0034 U+E007F
PA-4 Chiriquí
🏴󠁰󠁡󠀵󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0035 U+E007F
PA-5 Darién
🏴󠁰󠁡󠀶󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0036 U+E007F
PA-6 Herrera
🏴󠁰󠁡󠀷󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0037 U+E007F
PA-7 Los Santos
🏴󠁰󠁡󠀹󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0039 U+E007F
PA-9 Veraguas
🏴󠁰󠁡󠀱󠀰󠁿 - U+1F3F4 U+E0070 U+E0061 U+E0031 U+E0030 U+E007F
PA-10 West Panamá
🏴󠁰󠁡󠁫󠁹󠁿 - U+1F3F4 U+E0070 U+E0061 U+E006B U+E0079 U+E007F
PA-KY Guna Yala
🏴󠁰󠁡󠁮󠁢󠁿 - U+1F3F4 U+E0070 U+E0061 U+E006E U+E0062 U+E007F
PA-NB Ngöbe-Buglé
🏴󠁮󠁺󠁯󠁴󠁡󠁿 - U+1F3F4 U+E006E U+E007A U+E006F U+E0074 U+E0061 U+E007F
NZ-OTA Otago
2024-01-31 12:12:37 -05:00
Xexxa cb63263551 Base: Modify emoji
👡 - U+1F461 WOMAN’S SANDAL

Add some shadow for more of a 3d-feeling.
2024-01-31 12:12:37 -05:00
Nico Weber fd316728a0 Everywhere: Remove references to UserspaceEmulator 2024-01-29 20:20:55 +00:00
kleines Filmröllchen dec066fa5c GMLCompiler: Add common pattern for a user-defined fallible initializer
Many widget classes need to run substantial initialization code after
they have been setup from GML. With this change, an
initialize_fallibles() function is called if available, allowing the
initialization to be invoked from the GML setup automatically. This
means that the GML-generated creation function can now be used directly
for many more cases, and reduces code duplication.
2024-01-29 05:21:48 -07:00
Sam Atkins 7bcb560060 uptime: Add -s/--since option to output only when the system came online
This also matches Linux and the BSDs.
2024-01-25 09:07:32 +01:00
Sam Atkins 8faeb13036 uptime: Bring output closer to Linux/BSDs, and add -p flag
The -p flag is equivalent to the previous behavior: outputting the
uptime in a human-readable form.

We don't seem to expose the number of online users or the load averages,
so those sections are missing from the output compared to those OSes.
2024-01-25 09:07:32 +01:00
Cubic Love 6685e4cb61 Base: Improve ColorLines Icons
The previous icons were downsampled games assets.
The new 32px and 16px application icons are purposefully crafted pixel
art for improved sharpness.
2024-01-22 09:20:54 +00:00
Cubic Love 0f59579d91 Base: Improve ColorLines manpage
Co-authored-by: spraines <spraines@umich.edu>
2024-01-22 09:20:54 +00:00
Kemal Zebari 1d43bfc598 base64: Implement -w/--wrap
This is an option supported by coreutils, so we might as well support
it too.

It allows users to wrap their encoded output after the "column" value
they provide.

This commit also has the Markdown look more like what we see
when running ArgsParser::print_usage_markdown() (and it fixes some
of the examples).
2024-01-21 21:54:51 -05:00
Bastiaan van der Plaat dc2233ef7a Ladybird+WebContent: Add chrome command line and exe path passing 2024-01-17 17:32:05 +01:00
Hugh Davenport 08eeb4f83b SystemMenu: Add hotkey for Utilities category 2024-01-14 15:16:45 -07:00
Hugh Davenport 4c02133ba8 SystemMenu: Add hotkey for Media category 2024-01-14 15:16:45 -07:00
Hugh Davenport 79adeffcb6 SystemMenu: Add hotkeys for Office category 2024-01-14 15:16:45 -07:00
Hugh Davenport 1e8002d7c7 SystemMenu: Add hotkeys for Internet menu 2024-01-14 15:16:45 -07:00
Hugh Davenport b9fa189d26 SystemMenu: Add hotkeys for Graphics menu 2024-01-14 15:16:45 -07:00
Hugh Davenport 3fa4161abd SystemMenu: Add hotkeys for Development menu 2024-01-14 15:16:45 -07:00
Hugh Davenport ec253840d7 SystemMenu: Add hotkeys for Demos system menu 2024-01-14 15:16:45 -07:00
Hugh Davenport 6272ee3104 Ports: Add hotkeys for games system menu 2024-01-14 15:16:45 -07:00
Hugh Davenport d59707d1f2 SystemMenu: Add hotkeys for Games category 2024-01-14 15:16:45 -07:00
Hugh Davenport 8e76265b0c Taskbar: Add hotkeys for theme selector menu 2024-01-14 15:16:45 -07:00
Sam Atkins cbd28c9110 HexEditor: Add annotations system
Allow the user to highlight sections of the edited document, giving them
arbitrary background colors. These annotations can be created from a
selection, or by manually specifying the start and end offsets.
Annotations can be edited or deleted by right-clicking them.

Any color can be used for the background. Dark colors automatically make
the text white for easier readability. When creating a new annotation,
we use whatever color the user last picked as this is slightly more
likely to be the one they want.

Icons contributed by Cubic Love.

Co-authored-by: Cubic Love <7754483+cubiclove@users.noreply.github.com>
2024-01-14 13:45:02 +00:00
Liav A fc0dbd2334 Utilities: Add the listdir utility
This utility uses the Core::DirIterator facility which in turn uses the
get_dir_entries syscall. Therefore, this utility lets us to view the
actual values for inode numbers, and entry type value for directory
entries.
2024-01-13 19:01:07 -07:00