summaryrefslogtreecommitdiff
path: root/Userland/Applets
AgeCommit message (Collapse)Author
2023-05-23Base+Userland: Apply Human Interface Guidelines to Object textthankyouverycool
Corrects a slew of titles, buttons, labels, menu items and status bars for capitalization, ellipses and punctuation. Rewords a few actions and dialogs to use uniform language and punctuation.
2023-05-15Userland: Port `Model::column_name()` to StringKarol Kosek
2023-05-12ClipboardHistory: Use titlecasing in the applet's window titleTimothy Flynn
2023-05-09ClipboardHistory: Replace Core::BufferedFile use with InputBufferedFileTimothy Flynn
Core::BufferedFile was renamed to InputBufferedFile in 8c34959b.
2023-05-08Applets/ClipboardHistory: Add persistent storageLucas CHOLLET
Clipboard entries are now preserved upon reboot :^). Unfortunately, it only supports data with the mimetype "text/". This is done by writing all entries as a JSON object in a file located in ~/.data. Co-authored-by: Sagittarius-a <sagittarius-a@users.noreply.github.com>
2023-05-05LibGUI: Make `Application`'s construction fallibleLucas CHOLLET
The pattern to construct `Application` was to use the `try_create` method from the `C_OBJECT` macro. While being safe from an OOM perspective, this method doesn't propagate errors from the constructor. This patch make `Application` use the `C_OBJECT_ABSTRACT` and manually define a `create` method that can bubble up errors from the construction stage. This commit also removes the ability to use `argc` and `argv` to create an `Application`, only `Main`'s `Arguments` can be used. From a user point of view, the patch renames `try_create` => `create`, hence the huge number of modified files.
2023-04-30LibGfx+Userland: Merge FrameShape and FrameShadow into FrameStylethankyouverycool
Previously, Frames could set both these properties along with a thickness to confusing effect: Most shapes of the same shadowing only differentiated at a thickness >= 2, and some not at all. This led to a lot of creative but ultimately superfluous choices in the code. Instead let's streamline our options, automate thickness, and get the right look without so much guesswork. Plain shadowing has been consolidated into a single Plain style, and 0 thickness can be had by setting style to NoFrame.
2023-03-09Applets/Keymap: Repaint applet on keymap changeLucas CHOLLET
2023-03-06Everywhere: Stop using NonnullRefPtrVectorAndreas Kling
This class had slightly confusing semantics and the added weirdness doesn't seem worth it just so we can say "." instead of "->" when iterating over a vector of NNRPs. This patch replaces NonnullRefPtrVector<T> with Vector<NNRP<T>>.
2023-03-04Applets/Keymap: Repaint applet on demand onlyAndreas Kling
Instead of poking into the the applet window backing store whenever the keymap changes, we now drive the GUI updates properly via update() and paint_event(). This fixes an issue where changing the system font would cause a "ghosting" effect in the keymap applet.
2023-03-01LibCore+Everywhere: Remove ArgsParser::add*(char const*&)Ali Mohammad Pur
This is not guaranteed to always work correctly as ArgsParser deals in StringViews and might have a non-properly-null-terminated string as a value. As a bonus, using StringView (and DeprecatedString where necessary) leads to nicer looking code too :^)
2023-02-25Everywhere: Use _{short_,}string to create Strings from literalsLinus Groh
2023-02-18Userland: Specify margins and spacing in the GUI::Layout constructorSam Atkins
2023-02-13LibCore: Remove `Stream.h`Tim Schumacher
2023-02-13LibCore: Move Stream-based file into the `Core` namespaceTim Schumacher
2023-02-13Userland: Set Button text using the new String classKarol Kosek
2023-01-29AK: Move `Stream` and `SeekableStream` from `LibCore`Tim Schumacher
`Stream` will be qualified as `AK::Stream` until we remove the `Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is defined by `SeekableStream`, since defining its own would require us to qualify it with `AK::SeekMode` everywhere.
2023-01-27Applets: Replace uses of JsonObject::get_deprecated()/get_ptr()Sam Atkins
2023-01-26LibGfx: Remove `try_` prefix from bitmap creation functionsTim Schumacher
Those don't have any non-try counterpart, so we might as well just omit it.
2023-01-17AK+Everywhere: Rename JsonObject::get() to ::get_deprecated()Sam Atkins
This is a preparatory step to making `get()` return `ErrorOr`.
2023-01-15ClipboardHistory: Add a Clear history actionTim Ledbetter
This clears the history from the table view and clears the clipboard.
2023-01-15ClipboardHistory: Ensure model is populated on startupTim Ledbetter
This ensures that, if the applet restarts, it will remain in sync with the clipboard.
2023-01-15ClipboardHistory: Update clipboard when the topmost item is deletedTim Ledbetter
2023-01-15ClipboardHistory: Don't attempt to delete an item if nothing is selectedTim Ledbetter
This prevents a crash if the delete action is invoked using the delete key while nothing is selected.
2023-01-15ClipboardHistory: Invalidate model on item removalTim Ledbetter
Not doing this caused the window to not update until the mouse was clicked again.
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-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-05LibGfx: Avoid rounding/truncating glyph positions till blittingMacDue
This keeps some overloads that accept ints to avoid adding calls to .to_type<float>() all over the place.
2023-01-02Everywhere: Fix badly-formatted includesBen Wiederhake
In 7c5e30daaa615ad3a2ef55222423a747ac0a1227, the focus was "only" on Userland/Libraries/, whereas this commit cleans up the remaining headers in the repo, and any new badly-formatted include.
2022-12-12LibCore: Rename `Stream::read_all` to `read_until_eof`Tim Schumacher
This generally seems like a better name, especially if we somehow also need a better name for "read the entire buffer, but not the entire file" somewhere down the line.
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-19LibGUI+Taskbar+Applets+Applications: Set various windows as Popupsthankyouverycool
Makes the Audio applet, Taskbar clock, CommandPalette, EmojiPicker, and Assistant work as Popup windows. Popups are frameless, unmovable, and unresizable by default, in addition to their preemptive function. Also sets Assistant not to obey widget min size so its search result area resizes correctly
2022-11-19LibGUI+WindowServer+Applets+Taskbar: Remove active input conceptsthankyouverycool
and the CaptureInput mode. They are a source of unneeded complexity in WindowServer and have proven prone to regressions, so this patch replaces them with a simple input preemption scheme using Popups. Popup windows now have ergonomics similar to menus: When open, a popup preempts all mouse and key events for the entire window stack; however, they are fragile and will close after WindowServer swallows the first event outside them. This is similar to how combo box windows and popups work in the classic Windows DE and has the added benefit of letting the user click anywhere to dismiss a popup without having to worry about unwanted interactions with other widgets.
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-25Applets: Use new global variables at /sys/kernel/ directoryLiav A
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-18Applets/ResourceGraph: Port to Core::StreamSam Atkins
2022-09-18Applets/Network: Stop marking methods virtual unnecessarilySam Atkins
None of these are overridden, and NetworkWidget is a final class.
2022-09-18Applets/Network: Remove `include_loopback` parameterSam Atkins
This is always false, so we can do without it and simplify things a little.
2022-09-18Applets/Network: Port to Core::StreamSam Atkins
2022-09-12Everywhere: Use my very shiny serenityos.org email :^)networkException
2022-09-09Keymap: Rename context menu item "Settings" to "Keyboard Settings"Cr4xy
This is a very small change to improve consistency between applet context menu item names.
2022-08-16WindowServer+WorkspacePicker: Adjust active and inactive colorsthankyouverycool
Now uses the Selection ColorRole for the active desktop and a slightly darkened Window for inactive ones. Several themes use the same color for thread highlighting and inactive windows which was causing frames to draw without the correct perception of depth.
2022-08-14Base: Launch AudioServer at session start-upLucas CHOLLET
2022-08-14Base: Launch NotificationServer at session start-upLucas CHOLLET
2022-08-14WorkspacePicker: Add missing unveil(nullptr, nullptr)Andreas Kling
Thanks Dex for pointing this out! :^)
2022-08-14WorkspacePicker: Tweak applet height and draw frame around desktop rectsAndreas Kling
2022-08-14WorkspacePicker: Allow opening workspace settings via a context menuAndreas Kling
Previously you had to open Display Settings and navigate to the "Workspaces" tab in order to edit workspace settings. This patch adds a context menu shortcut to the same place.