summaryrefslogtreecommitdiff
path: root/Userland/Applications/Help
AgeCommit message (Collapse)Author
2023-01-13Userland: Remove a bunch of unveil calls on /sys/kernel/processesLiav A
These are not needed anymore since the introduction of the new get_root_session_id syscall.
2023-01-09Help: Update browse view when opening a new help pageTim Ledbetter
The browse view now always tracks the currently open help page.
2023-01-07LibGUI+Userland: Rename `try_load_from_gml()` -> `load_from_gml()` :^)Sam Atkins
It's the only one, so the `try` prefix is unnecessary now.
2023-01-07Userland: Replace all uses of `load_from_gml` with `try_load_from_gml`Sam Atkins
MOAR FIXMES! ;^)
2023-01-06LibGUI+Everywhere: Use fallible Window::set_main_widget() everywhere :^)Sam Atkins
Rip that bandaid off! This does the following, in one big, awkward jump: - Replace all uses of `set_main_widget<Foo>()` with the `try` version. - Remove `set_main_widget<Foo>()`. - Rename the `try` version to just be `set_main_widget` because it's now the only one. The majority of places that call `set_main_widget<Foo>()` are inside constructors, so this unfortunately gives us a big batch of new `release_value_but_fixme_should_propagate_errors()` calls.
2023-01-02Help: Detect clicked page correctlykleines Filmröllchen
index_from_path is the only remaining model index handling function that wasn't aware of subsections. After this change, clicked pages are resolved to a model index correctly, eliminating the weird subsection-expansion bugs from before.
2023-01-02Help: Don't expand the whole tree of the selected node's parentkleines Filmröllchen
This now expands nodes unnecessarily with nested sections.
2023-01-02Help+LibManual: Open sibling page for subsectionskleines Filmröllchen
Clicking on a subsection now displays the sibling page, which is intended to be the main page for that section.
2023-01-02Help+LibManual: Move URL handling to LibManualkleines Filmröllchen
2023-01-02Help+LibManual: Make the children accessor falliblekleines Filmröllchen
This is convenient for the section node which might compute children on the fly.
2023-01-02Help: Use array size instead of sizeof to determine number of sectionskleines Filmröllchen
This was a relict when the sections were still a help-internal array.
2023-01-02Help: Only toggle open/close for SectionNodeskleines Filmröllchen
The responsible code was actually casting everything to a SectionNode pointer, violating type safety all over the place and leading to frequent crashes. I'm surprised this was not exhibited before; I guess my recent changes made this bug surface.
2022-12-14Help: Move-capture help page pathMaciej
Previously it was reference-captured, causing crash because of stack use after return.
2022-12-12Help+LibManual: Without arguments, open index page instead of crashingkleines Filmröllchen
This is the old behavior before the recent LibManual refactor. It also moves the definition of the index page into LibManual for better reuse.
2022-12-11Help: Link to LibLocalekleines Filmröllchen
This managed to fly under my radar for the LibManual PR, and somehow it only happens for the Clang build but doesn't always trigger on CI.
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-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-07Meta+Userland: Pass Gfx::IntPoint by valueMacDue
This is just two ints or 8 bytes or the size of the reference on x86_64 or AArch64.
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-11-01Everywhere: Mark dependencies of most targets as PRIVATETim Schumacher
Otherwise, we end up propagating those dependencies into targets that link against that library, which creates unnecessary link-time dependencies. Also included are changes to readd now missing dependencies to tools that actually need them.
2022-10-25Applications: Use new global variables at /sys/kernel/ directoryLiav A
2022-10-25Userland: Let applications make use of make_command_palette_action()demostanis
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-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-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-05LibUnicode+Userland: Migrate generated CLDR data to LibLocaleDataTimothy Flynn
Currently, LibUnicodeData contains the generated UCD and CLDR data. Move the UCD data to the main LibUnicode library, and rename LibUnicodeData to LibLocaleData. This is another prepatory change to migrate to LibLocale.
2022-08-14Base: Launch FileSystemAccessServer at session start-upLucas CHOLLET
2022-08-14Base: Launch WebContent at session start-upLucas CHOLLET
2022-08-14Everywhere: Replace hardcoded anon's uid in unveil path with `%uid`Lucas CHOLLET
2022-08-14LibCore+LaunchServer: Move portal directory to `/tmp/user/%uid`Lucas CHOLLET
The `/tmp/user` directory is owned by root, this solution prevents malicious users to interfere with other users' portals. This commit also moves `launch`'s portal in the user directory.
2022-08-05LibGUI+Applications: Govern Splitter resizing by opportunistic growththankyouverycool
This patch replaces the concept of fixed resizees with opportunistic ones which use the new SpecialDimension::OpportunisticGrow UISize. This lets us simplify splitter resize code and take advantage of the layout system's automatic calculations for minimum size and expansion. Functionally the same as before, but fixes Splitter's unintended ability to grow window size.
2022-07-22Help: Make history navigation work with man pages opened using help urlsnetworkException
This patch implements man pages opened using the help url protocol properly getting added to the navigation history as well as enabling the back and forward buttons in such cases.
2022-07-19LaunchServer+SystemServer: Move the portal to a user-specific directoryLucas CHOLLET
Various changes are needed to support this: - The directory is created by Core::Account on login (and located in /tmp). - Service's sockets are now deleted on exit (to allow re-creation) - SystemServer needs to handle SIGTERM to correctly destroy services.
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-07-12Everywhere: Explicitly specify the size in StringView constructorssin-ack
This commit moves the length calculations out to be directly on the StringView users. This is an important step towards the goal of removing StringView(char const*), as it moves the responsibility of calculating the size of the string to the user of the StringView (which will prevent naive uses causing OOB access).
2022-06-27Help: Use LibWeb to open files via RequestServerLucas CHOLLET
2022-05-26Userland: Depend some applications on WebContent if it's being usedKarol Kosek
Deduced this mostly by looking at unveil()s.
2022-05-15LibWebView: Move OutOfProcessWebView to a new LibWebView libraryDexesTTP
Also moves WebContentClient and the references to the generated IPC descriptions, since they are all components of OutOfProcessWebView. This patch has no functional changes.
2022-04-21LaunchServer+Help: Open `help` urls with HelpForLoveOfCats
2022-04-03LibGUI: Fully support TabWidget in GMLkleines Filmröllchen
TabWidgets couldn't be used in GML properly, as the GML creation routines didn't actually call the necessary functions in the TabWidget to get a new tab added. This commit fixes that by making the name of the tab a normal property, the previously introduced "title", which can be trivially set from GML. Therefore, try_add_widget() loses an argument (while try_add_tab doesn't, because it newly constructs the widget). This allows us to get rid of the silly "fixing my widget tree after the fact" code in Help and will make it super easy to use TabWidget in future GML. :^)
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-08Help: Remove redundant selection update when opening pagekimlintu
Since the selection already gets updated in AbstractView::keydown_event and AbstractView::mousedown_event we don't have to update it again in the MainWidget::open_url function. This fixes a bug that causes the selection to "spaz out" when scrolling too fast between pages.
2022-03-02Help: Improve search ergonomicsthankyouverycool
Up and down arrows now select search results. Matching index now displays in full before filtering. Searching from the command line focuses the query, and searches are now case insensitive.
2022-03-02Help: Convert to GML and propagate more errorsthankyouverycool
Converts Help's layout to GML, propagates model and icon creation errors, and switches to the MainWidget-namespace organization pattern seen in more up-to-date apps like TextEditor to make things easier to maintain going forward.
2022-02-25Everywhere: Use title case for man section titlesnetworkException
In addition to the section headings on man.serenityos.org, all occurances of man section titles are now formatted in title case.