Commit graph

37841 commits

Author SHA1 Message Date
kleines Filmröllchen 71b175d4ed Profiler: Use ProfileModel rounding constant for the status bar text
This way, we can change the constant in one place. Note that this
requires the use of nested format strings, which is slightly ugly but
safe to do in this instance.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen 6368ef41f8 Profiler: Round sample percentages to a constant number of digits
This constant is currently 3 but can be changed easily or integrated
into a user setting. Note that the results are not ideal because during
pretty-printing we're not using any nice rounding rules, so many
percentage values will actually appear as 0.399999 even though they were
rounded to three digits.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen d9decfbbf3 Profiler: Show percentages with three decimal points
This is great when the percentages are very low.
2022-05-07 20:21:51 +02:00
kleines Filmröllchen 19a4b820c4 LibAudio+LibDSP: Switch samples to 32-bit float instead of 64-bit float
This has been overkill from the start, and it has been bugging me for a
long time. With this change, we're probably a bit slower on most
platforms but save huge amounts of space with all in-memory sample
datastructures.
2022-05-07 20:20:16 +02:00
Karol Kosek 39c0f31009 FileManager: Remove unused lstat() call 2022-05-07 20:14:23 +02:00
Karol Kosek 61dc489778 FileManager: Reduce scope of some variables related to context menu 2022-05-07 20:14:23 +02:00
Karol Kosek 4ef8bf53ba FileManager: Don't use bitwise OR operators on booleans 2022-05-07 20:14:23 +02:00
Karol Kosek ec02d58b5b FileManager: Rename action_show_dotfiles to show_dotfiles_action
All actions are named that way.
2022-05-07 20:14:23 +02:00
Karol Kosek ff6df9f27e FileManager: Use VERIFY() instead of if checks with VERIFY_NOT_REACHED
Besides micro simplifying the code, this will also show the failed
condition in the console, instead of vague 'ASSERTION FAILED: false'.
2022-05-07 20:14:23 +02:00
Rafał Babiarz 6463bc7eb3 Browser: Add option to filter entries in Storage Inspector 2022-05-07 20:09:53 +02:00
Rafał Babiarz d1e6dcfbc2 LibGUI: Show column names when using FilteringProxyModel with TableView 2022-05-07 20:07:48 +02:00
Joel Hansen b944e8f505 Base: Improve Silver theme colors
- HighlightWindow text and strip colors now dark blue.
- MovingWindowShadow color made lighter, so that it's more visible.
- RubberBand now has silver colors.
2022-05-07 20:06:47 +02:00
Joel Hansen 325e206e4e Base: Improve Desert theme colors
Improve HighlightWindowBorder colors for better visibility.
2022-05-07 20:06:47 +02:00
Joel Hansen d017e9f2c7 Base: Add hover variants for Light theme 2022-05-07 20:06:47 +02:00
Joel Hansen afa490de0c Base: Add hover variants for the Silver theme 2022-05-07 20:06:47 +02:00
Joel Hansen eb3d289f00 Base: Improve Plum theme colors
- Make ruler lighter for visibility
- Make gutter same color as ruler for consistency
- Improve HighlightWindow colors
2022-05-07 20:06:47 +02:00
Joel Hansen 9c53be36d3 Base: Define WindowTitleShadow in Sunshine theme
Add *WindowTitleShadow values for the Sunshine theme. Make
InactiveWindowTitleShadow color lighter
2022-05-07 20:06:47 +02:00
Joel Hansen 54ff2a8ddd Base: Use lighter color for HoverHighlight on the ChillyChilly theme 2022-05-07 20:06:47 +02:00
Joel Hansen 7080fbff3d Base: Reorganize Silver theme 2022-05-07 20:06:47 +02:00
Karol Kosek c6bcc0f96e LibGUI: Check if a property is a GML Object in ScrollableContainerWidget
Previously we couldn't set the content widget from GML because it was
looking for a GUI::Object, not a GML::Object.
2022-05-07 20:03:17 +02:00
Tim Schumacher f8aea2a7e5 Profiler: Use absolute mmap paths as-is 2022-05-07 20:02:00 +02:00
Tim Schumacher 89da0f2da5 LibELF: Name library maps with the full file path 2022-05-07 20:02:00 +02:00
Tim Schumacher 2b7b7f2816 LibELF: Separate library resolving into a new function 2022-05-07 20:02:00 +02:00
EWouters a07e12609e Ports/mrsh: Fix workdir, remove or upgrade patches
Also removes mrsh from the list of ports missing descriptions. I tried
to be descriptive about the patches, but as I picked this port up from
someone else, I'm not 100% sure how to best explain the patches.
2022-05-07 17:00:39 +02:00
VAN BOSSUYT Nicolas 020235a841 Base: Improve icons consistency 2022-05-07 13:45:33 +02:00
Luke Wilde 05748ed607 LibJS: Convert Console to use MarkedVector<Value>
Using a Vector<Value> is unsafe as GC cannot see the stored values.
This is then vended to outside users of ConsoleClient, e.g. LibWeb and
WebContent, which is then outside of LibJS's control.

An example issue is if the client stores it for later use and forgets
to visit the stored values, meaning they can be destroyed at any time.
We can save the client from this by vending a MarkedVector<Value> to
them.
2022-05-07 01:22:09 +02:00
EWouters f04911e777 Ports/libmad: Use fresh config.guess
This fixes the build on MacOS.
2022-05-07 01:10:28 +02:00
Liav A b69c8b48fc WindowServer: Separate physical resolution from scaling factors
Physical hardware doesn't care about scale factors as this is a concept
being related to WindowServer and userland applications. To ensure we
provide the correct display resolution details to HardwareScreenBackend
objects, we must keep a separate Gfx::IntRect object that reserve the
correct details.
2022-05-06 23:38:08 +02:00
Linus Groh f7c9bd0760 LibJS: Convert remaining Date AOs using JS::Value as in/output to double
There was an awful lot of JS::Value <-> double conversion going on, even
through these AOs only work with number values anyway.
They don't need a global object either as they won't allocate or throw,
that was simply to pass it to infallible calls of ToIntegerOrInfinity.
2022-05-06 22:32:47 +02:00
Linus Groh b9b3d01bea LibJS: Add variant of to_integer_or_infinity() for plain doubles
In many cases we already know a certain value is a number, or don't have
JS values at all and would need to wrap doubles in a value. To optimize
these cases and avoid having to pass a global object into functions that
won't ever allocate or throw, add a standalone implementation of this
function that takes and returns doubles directly.
2022-05-06 22:32:47 +02:00
Linus Groh 875e59b740 LibJS: Remove unused LibCore/DateTime.h header from Date.cpp
We use a double for [[DateValue]] and the spec's own AOs for any
calculations now.
2022-05-06 22:32:47 +02:00
Linus Groh 4dd9102f5e LibJS: Move Hours/Minutes/Seconds/ms constants out of the Date class
They can remain in this header, but will be used outside the Date
context in Temporal.
2022-05-06 22:32:47 +02:00
Liav A 9bec9c2b78 Kernel: Force y offset 0 when switching between console & graphics modes
This fixes a weird bug that when sometimes a user tried to switch to
console mode, the screen was frozen on graphics mode. After a hour of
debugging this, it became apparent that the problem was that we left the
y offset of the bochs graphics device in an invalid state, so it was not
zero because the WindowServer changed it, and the framebuffer console
code is not aware of horizontal and vertical offsets of the framebuffer
screen, leading to the problem that the framebuffer console updates the
first framebuffer (y offset = 0), but hardware was indicated to show the
second framebuffer (y offset = first framebuffer height).

Therefore, when doing a switch between these modes, always set the y
offset to be zero.
2022-05-06 18:05:14 +02:00
Liav A 659b0d7fb4 WindowServer: Remove hack to restore graphics after switch from console
This hack is not necessary anymore, because WindowServer will try
constantly to write the framebuffer contents to the display connector
devices. After a switch from console mode to graphical mode, the write
syscall on these devices will not be silently ignored but will actually
write to the framebuffer screen.
2022-05-06 18:05:14 +02:00
Liav A cd08c4a5aa Kernel/HID: Take a spinlock when calling KeyboardClient::on_key_pressed
The KeyboardClient class member could be updated due to TTY switch, so
we must ensure we always use a valid pointer.
2022-05-06 18:05:14 +02:00
Liav A b8493bf70f Kernel/Graphics: Protect the list of display connectors with a Spinlock
This list could be updated in runtime if an hotplug event occurs, so we
must protect it with a spin lock to avoid corruption of the list.
2022-05-06 18:05:14 +02:00
Liav A c246d86867 Meta: Use VMWare SVGA adapter if running QEMU Q35 machine
This let us test the VMWare SVGA adapter easily. We already use the std
vga (which is compatible with bochs-display that only lacks VGA support)
on the i440FX QEMU machine so we keep testing it there too, and on the
Q35 machine we use a bochs-display device as secondary display.
2022-05-06 18:04:57 +02:00
Liav A 340773ddb7 Kernel/Graphics: Implement basic support for VMWare SVGA adapter 2022-05-06 18:04:57 +02:00
DexesTTP 530aa51816 LibWeb: Remove a superfluous verify_cast on SVGGraphicsPaintable
Since the layout_box of a SVGGraphicsPaintable is already casted to the
right type, the underlying dom_node was also always of the right type.
This triggers a warning on Lagom builds.
2022-05-06 14:11:03 +02:00
DexesTTP 1af7bfb3a6 LibWeb: Remove unneeded iteration filter on LiveNodeList
Since all items of the subtree are Nodes, the "of type" condition was
always true. This triggers a warning on Lagom builds.
2022-05-06 14:11:03 +02:00
DexesTTP 56d018f6b5 LibWeb: Remove unneeded .gitignore
This was changed a while ago so the generated files are placed in the
Build directory. Let's remove the gitignore file so any old version of
the files stop conflicting with the new generated versions.
2022-05-06 14:11:03 +02:00
DexesTTP 6027ab9e12 LibWeb: Only generate ResourceLoader signposts while on Serenity 2022-05-06 14:11:03 +02:00
DexesTTP 9e5480bcb5 LibWeb: Remove unneeded LibGUI include in Window.cpp 2022-05-06 14:11:03 +02:00
MacDue bf30348f88 Browser: Remove STL utility include from CookiesModel
This broke clang builds
2022-05-06 13:11:09 +02:00
Liav A fb7d9186b2 SystemServer: Boot to text mode if there are no device nodes at /dev/gpu
Otherwise, WindowServer will simply crash and fail due to no hardware to
utilize.
2022-05-06 12:28:19 +02:00
Liav A a0a1ac0656 Kernel/Graphics: Use boot console if the subsystem is disabled
This lets us actually to initialize VirtualConsoles later on.
2022-05-06 12:28:19 +02:00
Liav A 7ab51b6df2 SystemServer: Remove search of a FramebufferDevice
As the framebuffer devices are gone by now, searching for them makes no
sense, so instead, let's remove this check now. If the user requested to
boot into text mode, he probably knows what he is doing and we should
not try to warn him about this.
2022-05-06 12:28:19 +02:00
Liav A 0d784de3a6 Kernel/Graphics: Implement basic cursor for FramebufferConsole 2022-05-06 12:28:02 +02:00
IT6uru 00a0b1bd14 BrowserSettings: Add missing code to update filtering checkbox
reset_default_values() now sets default filtering checkbox
state using default_enable_content_filtering.
2022-05-06 11:37:38 +02:00
MacDue e268659d32 Terminal+TerminalSettings: Allow disabling close confirmations 2022-05-06 02:12:51 +04:30