summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-12-11LibGUI: Add shortcut for inserting new lineSnow
This adds shortcut for inserting a new empty indented line above/below current cursor position. - <Ctrl-Return> for inserting line below. - <Ctrl-Shift-Return> for inserting line above.
2022-12-11WindowServer: Remove unused bools in Menu::draw()thankyouverycool
Added in d522a6f and 1e604b7, their purpose snuffed out in 11bb88f like the faint pulse of a pleading candle, two lives of short excess, doomed to itemize their sins to no effect and for all eternity...
2022-12-11WindowServer: Include missing visibility argument when making MenuItemthankyouverycool
Fixes checkable MenuItems drawing incorrectly due to shifted defaults.
2022-12-11Help+man+LibManual: Move argument handling to LibManualkleines Filmröllchen
This deduplicates argument handling logic from Help and man and makes it more modular for future use cases. The argument handling works as before: two arguments specify section and page (in this order), one argument specifies either a page (the first section that it's found in is used) or a path to a manpage markdown file.
2022-12-11man: Refactor with LibManual and Core::Streamkleines Filmröllchen
2022-12-11Help: Fix search query parsingkleines Filmröllchen
This was failing probably because AK::URL was being too strict; and the query emptyness check was flipped.
2022-12-11Help+LibManual: Move all manpage path handling to LibManualkleines Filmröllchen
This way, we'll have an easier time changing these paths.
2022-12-11LibManual: Refactor SectionNode in preparation for subsectionskleines Filmröllchen
- Calculate the full name on demand - Make section and name protected - Reorder some members logically - Change the name getter to be fallible, as some implementors need to allocate
2022-12-11Help+LibManual: Move non-UI-specific manual handling to LibManualkleines Filmröllchen
This is a first step in deduplicating code within and across Help and man. Because LibManual also doesn't contain any DeprecatedString, some adjustments to Help's string handling is included, just to interoperate with LibManual better. Further work in this area mostly requires String APIs in LibGUI.
2022-12-11sql: Support running the sql REPL on LagomTimothy Flynn
2022-12-11LibSQL: Support launching a singleton SQLServer instance for Lagom hostsTimothy Flynn
On Serenity, SQLServer is started by SystemServer. But on Lagom, it is manually started by e.g. Ladybird when the application is started, and killed when the application exits. This means every Ladybird process starts its own SQLServer, which defeats the purpose of SQLServer acting as the single process interacting with the database files. This patch will allow SQLClient to start up a single SQLServer instance, first checking if one already exists. If it does exist, SQLClient will simply connect to SQLServer's socket. If it does not exist, SQLClient will launch SQLServer much like SystemServer would (with a local socket file, etc.). The child SQLServer process is double-forked; the grandchild process becomes the SQLServer process, which the middle child process simply exits to "detach" the grandchild process from the SQLClient process.
2022-12-11SQLServer: Re-use already opened SQL::Database objectsTimothy Flynn
Currently, we create a new SQL::Database object for each database we are requested to open. When multiple clients connect to the same database, the same underlying database file is opened and cached each time. This results in updates from one client not being propagated to others. To prevent this, when a database is requested to be open, check if it is already open. We can then re-use that SQL::Database object for the new connection.
2022-12-11LibIPC: Add a hook to MultiServer to inform owners of new clientsTimothy Flynn
This will allow the owner of the server to mutate the client after it has been accepted.
2022-12-11LibCore: Add a standard path for runtime communication filesTimothy Flynn
This corresponds to XDG_RUNTIME_DIR, which is the path applications may place runtime communication files, like local sockets.
2022-12-10LibWeb: Check HTML parser position is equal to or after insertion pointLuke Wilde
This used to be the other way around. If we just inserted input with document.write, this would always be true and not allow document.write to immediately parse its input (given that there's no pending parsing blocking script)
2022-12-10LibWeb: Use HashMap::try_ensure_capacity in StyleComputerThomas Queiroz
2022-12-10SpaceAnalyzer: Consolidate the node context menusAndreas Kling
Instead of having two separate context menus and popping up either the "file" or "directory" one depending on the selected node, we now have a single context menu and update it (before popping it up) to show the context-appropriate actions. This is achieved by simply updating the visibility of the actions. This takes care of one TODO! :^)
2022-12-10LibGUI+WindowServer: Add "visible" state to GUI actionsAndreas Kling
This patch adds a visibility state to GUI::Action. All actions default to being visible. When invisible, they do not show up in toolbars on menus (and importantly, they don't occupy any space). This can be used to hide/show context-sensitive actions dynamically without rebuilding menus and toolbars. Thanks to Tim Slater for assuming that action visibility was a thing, which gave me a reason to implement it! :^)
2022-12-10TextEditor: Fix commenting shortcut `<Ctrl-/>`Snow
When you select a text area in "bottom-up" way (e.g. from line 10 to line 5), then type the shortcut, the text editor will not comment those text for you. Normalize the text range can easily fix this minor bug.
2022-12-10LibGUI: Disable corresponding Scrollbar button when reaching min or maxDragonAlex98
2022-12-10LibWeb: Use start-of-line in hit test of position directly to the leftAndreas Oppebøen
This fixes a bug where selecting from the left within a line would begin the selection from the right, as pointed out by @AtkinsSJ in https://github.com/SerenityOS/serenity/pull/16245#pullrequestreview-1197595820
2022-12-10LibWeb: Use correct end-of-fragment node index for HitTestResultAndreas Oppebøen
The indexes are into the _node_, not in the fragment, so when a node is split into multiple fragments, simply taking the length of the fragment is incorrect. This patch corrects this mistake.
2022-12-10Magnifier: Add a manual to Help menu and propagate construction errorsthankyouverycool
2022-12-10Magnifier: Standardize File menuthankyouverycool
File->Quit should appear as the final item in its menu
2022-12-10WindowServer: Update checked state of m_window_menu_always_on_top_itemthankyouverycool
when setting it programmatically.
2022-12-10Magnifier: Remove always_on_top_actionthankyouverycool
This action was originally added so that Magnifier's window would always be on top by default, but it's a redundant menu item and wasn't actually setting itself at start-up. Instead, rely on the same menu item provided to all Modeless windows by default for a more consistent UX, and set the option after show() so it takes effect.
2022-12-10LibCompress: Port GzipDecompressor to `Core::Stream`Tim Schumacher
2022-12-10LibCore: Add a wrapper for adapting Core::Stream to AK::InputStreamTim Schumacher
2022-12-10LibWeb: Allow creating Lengths from CSSPixelsSam Atkins
2022-12-10LibWeb: Use ceilf() instead of ceil() for float valuesSam Atkins
2022-12-10LibWeb+WebContent+headless-browser: Remove PaintContext::scroll_offset()Sam Atkins
Nobody uses this. They get the scroll_offset from the BlockContainer instead.
2022-12-10LibWeb+WebContent+headless-browser: Use CSSPixels for PageClient eventsSam Atkins
...and also for hit testing, which is involved in most of them. Much of this is temporary conversions and other awkwardness, which should resolve itself as the rest of LibWeb is converted to these new types. Hopefully. :thousandyakstare:
2022-12-10LibWeb: Rename some variables to avoid shadowingSam Atkins
2022-12-10LibWeb+WebContent+headless-browser: Make Page aware of the display scaleSam Atkins
For now, we just report it as "1" everywhere. Replaced `screen_rect()` with `web_exposed_screen_area()` from the spec.
2022-12-10KeyboardSettings: Disable "activate keymap" button if keymap is activeArda Cinar
2022-12-10LibCore: Use `Core::Stream` for `ProcessStatisticsReader`Tim Schumacher
2022-12-10LibWeb: Remove unused StyleProperties::length_or_fallback functionKarol Kosek
2022-12-10LibWeb: Support special border width identifiersKarol Kosek
Previously identifiers were resolved to zero length. This could be seen when a border declaration doesn't have specified width (e.g. `border: solid`), as the initial border width is 'medium'. The spec doesn't specify what the identifiers should really resolve to, but it gives us some example values and that's what I've used here. :^) Spec link: https://www.w3.org/TR/css-backgrounds-3/#border-width
2022-12-10LibJS: Rename same_value_non_{numeric => number}() and handle BigIntsLinus Groh
This is an editorial change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/f660b14 Note that the explicit check for zero sign equality is no longer needed as of b0d6399, which removed the ability of Crypto::SignedBigInteger to represent negative zero.
2022-12-10LibJS: Add spec comments to Value::invoke_internal()Linus Groh
2022-12-10LibJS: Add spec comments to is_less_than()Linus Groh
2022-12-10LibJS: Add spec comments to is_strictly_equal()Linus Groh
2022-12-10LibJS: Add spec comments to same_value_non_numeric()Linus Groh
2022-12-10LibJS: Add spec comments to same_value_zero()Linus Groh
2022-12-10LibJS: Add spec comments to same_value()Linus Groh
2022-12-10LibJS: Add spec comments to ordinary_has_instance()Linus Groh
2022-12-10LibJS: Add spec comments to instance_of()Linus Groh
2022-12-10LibJS: Add spec comments to exp{,_double}()Linus Groh
2022-12-10LibJS: Add spec comments to mod()Linus Groh
2022-12-10LibJS: Add spec comments to div()Linus Groh