summaryrefslogtreecommitdiff
path: root/Userland/Applications
AgeCommit message (Collapse)Author
2022-10-13Browser: Set 'webdriver-active flag' when creating a new TabLinus Groh
2022-10-12Browser: Add a basic WebDriver APISam Atkins
This adds a new option "--webdriver" that opens a local unix socket in /tmp/browser_{pid} which the WebDriver server can use to send commands to the Browser instance. Co-authored-by: Florent Castelli <florent.castelli@gmail.com>
2022-10-12HexEditor: Fix two off-by-one errorsMart G
The 'select all' feature now also selects the last byte of the document. The find function now also selects the last byte of a match.
2022-10-12Userland: Properly populate GENERATED_SOURCESAli Mohammad Pur
We previously put the generated headers in SOURCES, which did not mark them as GENERATED (and did not produce a proper dependency). This commit moves all generated headers into GENERATED_SOURCES, and removes useless header SOURCES.
2022-10-12PixelPaint: Call update after clearing guidesMart G
2022-10-12TextEditor: Set window title before showing the main windowGunnar Beutner
Previously TextEditor updated its window title after the window was already visible. This causes the default title ("GUI::Window") to be shown for a short period of time which was especially noticeable when opening files.
2022-10-10PixelPaint: Add Hue/Saturation filterMacDue
This filter mimics the functionality from Photoshop and other image editors, allowing you to adjust the hue, saturation, and lightness of an image. I always found this a very handy feature :^)
2022-10-10PixelPaint: Add InplaceFilter and convert FastBoxBlur to be oneMacDue
This is a simple base class for filters that need to work on the image in-place.
2022-10-09VideoPlayer: Allow display of multiple frames by clicking the imageZaggy1024
For testing purposes, this allows opening of any filename by passing it as an argument. Additionally, there is a --benchmark option that will just call decode for 100 frames and then exit, printing the time spent in the decoder.
2022-10-09LibVideo: Add support for VP9 superframesZaggy1024
This allows the second shown frame of the VP9 test video to be decoded, as the second chunk uses a superframe to encode a reference frame and a second to inter predict between the keyframe and the reference frame.
2022-10-09VideoPlayer: Display frames from the VP9 decoderZaggy1024
For testing purposes, the output buffer is taken directly from the decoder and displayed in an image widget. The first keyframe can be displayed, but the second will not decode so VideoPlayer will stop at frame 0 for now. This implements a BT.709 YCbCr to RGB conversion in VideoPlayer, but that should be moved to a library for handling color space conversion.
2022-10-09LibVideo: Allow bit stream reads to throw errorsZaggy1024
Errors are propagated to the user of the decoder so that they can be aware of specific places where a read failed.
2022-10-09VideoPlayer: Remove unused #include <LibAudio/ConnectionToServer.h>Zaggy1024
2022-10-06Browser: Add a custom icon for the "New Window" actionGunnar Beutner
2022-10-06Browser: Provide ability to create new browser windowsKemal Zebari
This change allows a user to spawn new browser processes by either going to "File -> New Window" or by the shortcut "Ctrl + N".
2022-10-06PixelPaint: Add actions to crop layer to selection/contentSergiy Stupar
2022-10-06FileManager: Group Toolbar overflowFrHun
2022-10-04AK+Everywhere: Add AK_COMPILER_{GCC,CLANG} and use them most placesNico Weber
Doesn't use them in libc headers so that those don't have to pull in AK/Platform.h. AK_COMPILER_GCC is set _only_ for gcc, not for clang too. (__GNUC__ is defined in clang builds as well.) Using AK_COMPILER_GCC simplifies things some. AK_COMPILER_CLANG isn't as much of a win, other than that it's consistent with AK_COMPILER_GCC.
2022-10-04Applications: Use title-case for group box titles in settingsTimothy Flynn
Capitalization was quite inconsistent, even amongst single settings applications. This aligns group box titles to all be title case.
2022-10-04BrowserSettings: Remove overly verbose dbgln statementTimothy Flynn
This is a bit much, especially with 850+ filters.
2022-10-04CalendarSettings: Add Weekend-specific settingsTobias Christiansen
In some calendars, weekends start on other days than saturday and can also have different lengths than 2 days. This patch allows you to set these values, however they don't do anything yet as Serenity's Calendar doesn't care about Weekends at the moment.
2022-10-03Calculator: Add a Shrinking actionLucas CHOLLET
This action allow the user to shrink a number to a finite number of decimal.
2022-10-03Calculator: Add a "Custom" entry to the rounding menuLucas CHOLLET
This entry pop a dialog to ask the user to enter a value. The Calculator will automatically put itself in this mode if you enter a number with more digits in the fractional part than the actual maximum length.
2022-10-03Calculator: Add a Rounding menuLucas CHOLLET
This menu has three actions. Each one of them enable a different level of rounding: to 0, 2 or 4 digits.
2022-10-03Userland: Unveil /proc/all in applications which require itTimothy Flynn
These were missed in 7af5eef. It is needed for any application using e.g. FileSystemAccessServer.
2022-10-03Userland: Tighten promises by removing 'proc' where it isn't usedTimothy Flynn
This is a partial revert of commit 7af5eef. After 97d15e9, the 'proc' promise is not needed for operations using getsid(). This also fixes launching several applications in which 7af5eef added the 'proc' promise only in the second call to pledge().
2022-10-03SystemServer+LoginServer+Userland: Switch to sid-based socketsPeter Elliott
This commit does three things atomically: - switch over Core::Account+SystemServer+LoginServer to sid based socket names. - change socket names with %uid to %sid. - add/update necessary pledges and unveils. Userland: Switch over servers to sid based sockets Userland: Properly pledge and unveil for sid based sockets
2022-10-02Calendar: Fix crash when changing event dateMonroe Clinton
We were capturing by reference which lead to the variables going out of scope even when used in the lambda. Due to this the update_starting_day_range lambda crashes when called.
2022-10-01Magnifier: Don't error if cancelling capture saveMacDue
2022-10-01Welcome: Use StandardPaths to load README.mdthankyouverycool
2022-10-01Welcome: Use fallible try_create_default_icon()thankyouverycool
2022-10-01Welcome: Update GMLthankyouverycool
Moves more settings to GML to simplify construction and replaces deprecated GML properties.
2022-10-01Welcome: Port to Core::Streamthankyouverycool
2022-10-01Welcome: Remove unnecessary includethankyouverycool
2022-10-01Welcome: Add/remove SystemServer group entry to toggle startupthankyouverycool
Previously Welcome relied on a bogus executable key value to disable startup. This always printed an error on login and littered the config file with a useless entry. Adding/removing the group as needed seems a bit nicer.
2022-09-29Userland: Replace empty `GUI::Widget`s in GML with `GUI::Layout::Spacer`Sam Atkins
This fixes the "Cancel" button on HackStudio's "New Project" dialog being too small. It's also clearer what these actually are.
2022-09-29PixelPaint: Add option to make new layer from selectionTimothy Slater
New actions in the Layer Menu allows for the creation of a new layer from the current selection. Layers can be made by copying the selection or cutting it from the current layer. The new layer will be sized to the bounding box of the selection. The newly produced layer will be added to the layer stack.
2022-09-29PixelPaint: Add function to make layer from selection to ImageEditorTimothy Slater
2022-09-29AK+Everywhere: Replace "protocol" with "scheme" url helpersnetworkException
URL had properly named replacements for protocol(), set_protocol() and create_with_file_protocol() already. This patch removes these function and updates all call sites to use the functions named according to the specification. See https://url.spec.whatwg.org/#concept-url-scheme
2022-09-28Welcome: Get LibWeb to parse Markdown documents for usSam Atkins
2022-09-27PixelPaint: Use the parallel ImageProcessor to apply filterskleines Filmröllchen
The main advantage of this change is that heavy-weight filters do not lock up the GUI anymore. This first cut has several flaws: - We do not account for modification of the referenced images while the filter is running. Depending on the exact filter behavior this might have all sorts of weird effects. A simple fix would be to show a progress dialog to the user, preventing them from performing other modifications in the meantime. - We do not use the image processor for previews. Preview behavior has a couple of other considerations that are intentionally not addressed in this commit or pull request.
2022-09-27PixelPaint: Add a general-purpose parallel image processing pipelinekleines Filmröllchen
The ImageProcessor singleton is intended to be used by all sorts of image processing which might take some time to complete; or other background actions. We're not using BackgroundTask here because this system is specifically designed to work with task queues and PixelPaint interaction; e.g. it provides common image processing tasks such as filter application.
2022-09-27PixelPaint: Expose the GUI event loop from the ImageEditorkleines Filmröllchen
This allows processing threads to call back into the GUI.
2022-09-27PixelPaint: Reference-count filterskleines Filmröllchen
For multi-threading filter application, shared ownership is much easier to work with.
2022-09-27Spreadsheet: Add toolbar actions to change the cell styleMarco Santos
2022-09-26Magnifier: Add the option to save capturesRoberto Bampi
2022-09-24LibEDID: Remove head index when retrieving an EDID from DisplayConnectorLiav A
We simply don't need that field anymore, as it was used when one FramebufferDevice could contain multiple framebuffers within it, each for a connected screen head.
2022-09-22ClockSettings: Increase max visible items for time zone ComboBoxthankyouverycool
2022-09-21Browser+WebContent+LibJS: Support `%c` specifiers in Console.log()Sam Atkins
...and the other Console methods. This lets you apply styling to a log message or any other text that passes through the Console `Formatter` operation. We store the CSS on the ConsoleClient instead of passing it along with the rest of the message, since I couldn't figure out a nice way of doing that, as Formatter has to return JS::Values. This way isn't nice, and has a risk of forgetting to clear the style and having it apply to subsequent messages, but it works. This is only supported in the Browser for now. REPL support would require parsing the CSS and figuring out the relevant ANSI codes. We also don't filter this styling at all, so you can `position: absolute` and `transform: translate(...)` all you want, which is less than ideal.
2022-09-21Browser: Ignore whitespace-only input in the JS consoleSam Atkins