Commit graph

18344 commits

Author SHA1 Message Date
Manuel Palenzuela 4f690408af Ports: Added a Super-Mario clone port.
Added a minimal dependency super mario port. (Only depends on SDL, SDL_image and SDL_mixer).
2021-04-06 09:32:37 +02:00
Dan MacDonald ceafc5eea0 Documentation: Add link to network booting guide to install guide 2021-04-06 09:27:45 +02:00
Dan MacDonald bb39f3097a Documentation: Update supported NICs and mention network boot support within install guide 2021-04-06 09:27:45 +02:00
AnotherTest c6607719d2 DHCPClient: Retry DISCOVER for interfaces that fail
Attempts are spaced out with exponential backoff, cut at 10 minutes per
attempt.
Also avoid trying to acquire an IP on interfaces that aren't up.
Fixes #6126.
Fixes #6125.
2021-04-06 08:38:44 +02:00
Manuel Palenzuela 8b0f1f816b Ports: Added an oksh port
Currently has some problems such as not killing jobs when (ctrl + c)
and depends on an implementation of sigsuspend.
2021-04-06 08:10:18 +02:00
Andreas Kling 6d8ca9871c LibGfx: Move underline closer to text in draw_ui_text() 2021-04-05 23:15:43 +02:00
Andreas Kling 516868e197 SystemMonitor: Add Alt shortcuts for top-level menus 2021-04-05 23:15:43 +02:00
Andreas Kling 0652c2e4cc FileManager: Add Alt shortcuts for top-level menus 2021-04-05 23:15:43 +02:00
Andreas Kling 1d46e8d50c Browser: Add Alt shortcuts for top-level menus 2021-04-05 23:15:43 +02:00
Andreas Kling 1f4dc670d4 WindowServer: Select first item when opening a menu via Alt shortcut
To make keyboard navigation a little nicer, select the first/top menu
item right away.
2021-04-05 23:15:43 +02:00
Andreas Kling 357f288fef Terminal: Add Alt shortcuts for top-level menus 2021-04-05 23:15:43 +02:00
Andreas Kling d80fb6d9c0 WindowServer: Support Alt+Character menu shortcuts :^)
This patch adds support for opening menus via keyboard shortcuts.
Use an ampersand in a menu name to automatically create a keyboard
shortcut (Alt + the character following the ampersand.)

Menus with an Alt shortcut have a small underline under the shortcut
character for discoverability.
2021-04-05 23:15:43 +02:00
Andreas Kling 89bc655765 LibGfx: Add Gfx::Painter::draw_ui_text()
This function draw text while interpreting "&" as "underline the next
character" and "&&" as "&".
2021-04-05 23:15:43 +02:00
Manuel Palenzuela a1815b0f87 Ports: Added the libzip library 2021-04-05 20:04:15 +02:00
Linus Groh abc7b31079 LibJS: Let Object::get_own_properties() return both strings and symbols
The new default return_type argument is GetOwnPropertyReturnType::All,
which returns properties with both string and symbol keys (which is also
the default for [[OwnPropertyKeys]]). This means that in some cases we
need to iterate the ordered property table twice, as we don't store
string and symbol properties separately but symbols must - there's
certainly room for (performance) improvements here. On the other hand
this makes Reflect.ownKeys() return symbol properties now :^)
2021-04-05 19:30:30 +02:00
Linus Groh 1416027486 LibJS: Add Object::get_enumerable_own_property_names() and use it
Object::get_own_properties() is a bit unwieldy to use - especially as
StringOnly is about to no longer be the default value. The spec has an
abstract operation specifically for this (EnumerateObjectProperties),
so let's use that. No functionality change.
2021-04-05 19:30:30 +02:00
Linus Groh afc86abe24 LibJS: Remove this_object parameter from get/put own property functions
Specifically:

- Object::get_own_properties()
- Object::put_own_property()
- Object::put_own_property_by_index()

These APIs make no sense (and are inconsistent, get_own_property()
didn't have this parameter, for example) - and as expected we were
always passing in the same object we were calling the method on anyway.
2021-04-05 19:30:30 +02:00
Timothy Flynn 5de0e0068c LibWeb: Support two-value background-repeat
The background-repeat value may be specified as either one- or two-value
identifiers (to be interpreted as horizontal and vertical repeat). This
adds two pseudo-properties, background-repeat-x and background-repeat-y,
to handle this. One-value identifiers are mapped to two-value in
accordance with the spec.
2021-04-05 18:49:04 +02:00
Timothy Flynn 0794d879f3 Base: Update background-repeat test with two-value section 2021-04-05 18:49:04 +02:00
Timothy Flynn 3ba338dec3 LibWeb: Support "pseudo" CSS properties
These are properties that may used internally by LibWeb when resolving
style values, but may not be set by external stylesheets. For example,
'background-repeat' may be a two-value CSS property that internally
translates to 'background-repeat-x' and 'background-repeat-y'.
2021-04-05 18:49:04 +02:00
Timothy Flynn 735829f694 LibWeb: Move painting of background images to common location
For now, painting of background color is kept separate. The ICB needs to
perform a "translate" call between painting the color and background,
whereas other divs must not make that call.
2021-04-05 18:49:04 +02:00
Larkin Nickle 1333fa7cf7 Ports: Add carl 2021-04-05 18:25:46 +02:00
Andreas Kling 1c57bf9094 Taskbar: Use GUI::Button::set_menu() for the start menu button :^) 2021-04-05 18:09:04 +02:00
Andreas Kling 15349a3712 LibGUI: Add ability to assign a menu to a GUI::Button
When a button has a menu, it opens the menu on mousedown and the
menu gains input focus immediately. While the menu is open, the
button is painted in a pressed state.
2021-04-05 18:09:04 +02:00
Andreas Kling 9b740f218b WindowServer+LibGUI: Notify clients when menus become visible/hidden
This will allow clients to react to these events.
2021-04-05 18:09:04 +02:00
Dodoross 0315741815
Keymaps: Added fr-ch.json for Swiss-French keyboards (#6065)
This new file is inspired by de.json as the two keyboard layouts are
very similar.
2021-04-05 18:04:53 +02:00
Linus Groh 23b659e9c3 WindowServer: Exclude WindowType::Desktop windows from Super key actions
The desktop window is (and must be) considered resizable by
WindowServer, but none of the Super+<something> key actions should apply
to it (window minimizing/maximizing/tiling).

Fixes #5363.
2021-04-05 17:06:58 +02:00
Maciej Zygmanowski 8646f8f4ad LibGUI: Use normalized TextRange for early empty string check
Fixes #6141. Allows to copy "backward" selections.
2021-04-05 17:06:07 +02:00
Dawid Wolosowicz 1f65c2a981 Network: Make the applet use an alpha channel 2021-04-05 14:30:35 +02:00
Dawid Wolosowicz 3f73816316 ClipboardHistory: Make the applet use an alpha channel 2021-04-05 14:30:35 +02:00
Dawid Wolosowicz f7184e967e WindowServer: Make applet area use the same color role as the taskbar
So far the taskbar has been using the "Button" as a color role, despite
rest of the applet area using "Window" color role. Although it all
looked alright on most system themes, it broke for the Nord theme.
2021-04-05 14:30:35 +02:00
Andreas Kling 6902adbb84 SystemMonitor: Only show the most important process stats by default
You can still enable additional columns via the context menu, and this
gives us a much more focused default interface.
2021-04-05 13:40:25 +02:00
Andreas Kling 52de9b1753 LibGUI: Do AbstractView::set_column_hidden() => set_column_visible()
This API felt backwards, so let's change it.
2021-04-05 11:57:47 +02:00
Andreas Kling cbc582e0df SystemMonitor: Don't generate backtraces while not looking at them 2021-04-05 11:42:54 +02:00
Andreas Kling 3bb36dbd3f 2048: Give the board view a nice GUI::Frame look :^) 2021-04-05 11:42:54 +02:00
Linus Groh 45d4bf156d SystemMonitor: Tweak default window size
This ensures that all information on the 'Graphs' tab is visible by
default without having to resize the window.

Fixes #6135.
2021-04-05 11:26:07 +02:00
Tim Waterhouse 3feaebfc2d PixelPaint: Empty Tool menu
Fix #4038 by not deferring the creation of the tools. The original
change that introduced this, 7973f76790,
mentions this was needed to avoid having the menu work on the wrong
window, but I don't see that issue with this change so that may not be
needed anymore.
2021-04-05 09:04:43 +02:00
AnotherTest ade97d4094 LibRegex: Make sure there are as many group matches as actual matches
Fixes #6131.
2021-04-05 09:02:06 +02:00
AnotherTest 1bdc1cf77e LibRegex: Consider named capture groups as normal capture groups too 2021-04-05 09:02:06 +02:00
AnotherTest be0182d049 LibRegex: Reset capture group indices when resetting parser state 2021-04-05 09:02:06 +02:00
Andreas Kling 7b7cbcecdf SystemMonitor: Scope the process-specific actions to the process list
We don't want the process-specific actions to activate via keyboard
shortcuts when we're not focusing the process list.
2021-04-04 22:45:45 +02:00
Andreas Kling 5d379fcfb4 SystemMonitor: Actually reuse existing process properties windows 2021-04-04 22:43:43 +02:00
Andreas Kling eff7ea5b84 LibGUI: Add GUI::CommonActions::make_properties_action()
Many apps want a "Properties" action with the same icon and shortcut.
2021-04-04 22:43:43 +02:00
Andreas Kling 578f749791 SystemMonitor: Remove unnecessary splitter from UI layout 2021-04-04 22:43:43 +02:00
Andreas Kling 8f0f6af369 SystemMonitor: Show total CPU usage percentage in status bar 2021-04-04 22:43:43 +02:00
Andreas Kling 9cba533e36 SystemMonitor: Tweak main UI layout :^) 2021-04-04 22:43:43 +02:00
Andreas Kling a1b7bd6fea SystemMonitor: Add ability to open process properties from context menu 2021-04-04 22:43:43 +02:00
Andreas Kling af06eac364 SystemMonitor: Remove "Process" context menu from menu bar
This menu is only relevant while interacting with the process list,
so let's not have it in the menu bar where its presence implies
universal relevance.
2021-04-04 22:43:43 +02:00
Andreas Kling 58ae8aabea SystemMonitor: Show process-specific details in a separate window
When double-clicking a process in the process list, we now open the
detailed information in a new window instead of showing it in a view
below the process list.

This declutters the main UI, and allows you to view details for
multiple processes at the same time.

This is just a first cut, there are many refinements possible here. :^)
2021-04-04 22:43:43 +02:00
Andreas Kling 5fcce5c7e2 SystemMonitor: Start capturing CPU/memory graphs on startup
It felt really weird that the graphs didn't start filling in before
you opened the graph tab for the first time.
2021-04-04 22:43:43 +02:00