summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-06-01Taskbar+Desktop: Add super+D keyboard shortcutOlivier De Cannière
This shortcut has the same effect as pressing the "Show Desktop" button in the taskbar. This shortcut already exists in Windows.
2022-06-01Taskbar: Add toggle_show_desktop()Olivier De Cannière
This function is added to separate the desktop toggling functionality from the "Show Desktop" button in the taskbar and to enable calling this behaviour via a keyboard shortcut in a later commit.
2022-06-01LibGUI: Fix typo in ConnectionToWindowManagerServerOlivier De Cannière
2022-06-01LibGUI+WindowServer: Propagate action icon changes to buttons and menusnetworkException
Previously when setting an action's icon we would only change the bitmap stored by the action. This patch adds logic to propagate that change to toolbar buttons as well as window menus. This fixes an issue in SoundPlayer that would cause the play button not to reflect the play state.
2022-05-31DHCPClient: Don't reset the interface if its already configuredTim Schumacher
Resetting the interface just based on the fact that it already has an IP assigned doesn't make much sense, considering that we frequently end up here after having configured an interface via DHCP already. Instead, just keep the part that prevents us from sending DHCP discoveries to interfaces that shouldn't be using DHCP. While we are at it, place some of the logging behind a debug flag, as this function is apparently meant to be run frequently. This partially reverts commit e14d4482a18f250787cbf64bae596de1f7278d8d.
2022-05-30Browser: Always show menu for additional bookmarks when one is hiddennetworkException
This patch fixes the additional bookmarks menu button getting pushed all they way to the right until a bookmark is out of bounds of the bar by instead collapsing a bookmark into the menu as soon as it intersects with the additional button.
2022-05-30LibXML+Tests: Consume `>` in the character data ending `]]>` and test itLuke Wilde
For example, with this input: ```xml <C>]]> ``` After seeing `<C>`, the parser will start parsing the content of the element. The content parser will then parse any character data it sees. The character parser would see the first two `]]` and consume them. Then, it would see the `>` and set the state machine to say we have seen this, but it did _not_ consume it and would instead tell GenericLexer that it should stop consuming characters. Therefore, we only consumed 2 characters. Then, it would see that we are in the state where we've seen the full `]]>` and try to take off three characters from the end of the consumed input when we only have 2 characters, causing an assertion failure as we are asking to take off more characters than there really is.
2022-05-30LibGUI: Add side mouse buttons as an alternate shortcut for back/forwardGeordie Hall
The up/down side mouse buttons will now also trigger the back/forward common actions, as used by the Browser, File Manager etc. This matches standard behaviour of most apps on other operating systems.
2022-05-30LibGUI: Activate mouse shortcuts from within WindowServerConnectionGeordie Hall
We now check if a mouse_down event matches any action shortcuts, and if so activate it accordingly, following the same consumption rules to key_down events.
2022-05-30LibGUI: Search for actions with a Shortcut instead of for KeyEventGeordie Hall
Instead of having widget/window/application create a shortcut from a KeyEvent within their find methods, we'll just pass them a Shortcut so that the "where to search" logic doesn't need to be duplicated for different Shortcut types. It also lets us handle invalid Shortcut rejection at a higher level, with most things letting the caller be responsible for not searching for actions with an invalid shortcut.
2022-05-30LibGUI: Allow Shortcuts to have a mouse button associated with themGeordie Hall
A Shortcut can now be either have a keyboard key, or a mouse button, along with any modifiers. Decided to add an extra type field instead of subclassing, which means callers will have to be a little careful before accessing a particular input method's "key", but it keeps things simple for now.
2022-05-30LibGUI: Add a to_string helper for GUI::MouseButtonGeordie Hall
It's useful to be able to print mouse button names to the user in other parts of the system. Went with a hardcoded switch instead of an enumeration macro like KeyCode since there were only a handful of cases, and it's unlikely that many more will ever be added (but can always change it then)
2022-05-29Utilities: Add networking to headless-browserDexesTTP
With this, the headless browser can now connect to the web. Thanks a lot to Ali and Sin-ack for their help with this! Co-authored-by: Ali Mohammad Pur <mpfard@serenityos.org> Co-authored-by: sin-ack <sin-ack@users.noreply.github.com>
2022-05-29Utilities: Add image decoding to headless-browserDexesTTP
With this, the headless browser can now decode images on its own!
2022-05-29Utilities: Add a simple headless-browserDexesTTP
This utility creates a 'screenshot' of the given page after a few seconds of loading.
2022-05-29LibWeb: Allow configuring the default error page pathDexesTTP
2022-05-29LibWeb: Allow configuring the default favicon pathDexesTTP
This is useful when using LibWeb in environments that aren't Serenity
2022-05-29SoundPlayer: Insert separator after play/stop and back/next buttonsLinus Groh
2022-05-29SoundPlayer: Replace two manual key event checks with action shortcutLinus Groh
2022-05-29SoundPlayer: Replace regular buttons with action-based toolbar buttonsLinus Groh
This looks nicer in every way imaginable.
2022-05-29lscpu: Show size of L1 data/instruction, L2, and L3 CPU cachesLinus Groh
2022-05-29FileManager: Replace '->' with '→' in symlink statusbar info messageLinus Groh
This looks so much nicer, as the '-' and '>' are not aligned in the default font configuration.
2022-05-29LibGfx: Change one instance of 'colour' to 'color'Linus Groh
The system's official language is American English.
2022-05-29Everywhere: Fix a bunch of typosLinus Groh
2022-05-29WindowServer: Call screen_resolution_changed after window screens clearmontiagne
When the user executes chres to change to a new resolution, the WindowManager removes for each window its intersections with the screens (window.screens()) and recalculates its rect. Finally, a Window::set_rect call sets the window's new rectangle. The set_rect call also triggers a call to Compositor::invalidate_occlusions which fills for each window the intersections with the screens again in window.screens(). In case chres switches to an already present resolution the set_rect call exits prematurely as it checks if the window's rect really changed. This means that nobody calls invalidate_occlusions resulting in a rendering issue for each window. Moving the call to Compositor::screen_resolution_changed after the clearing of window.screens() and recalc of the window rect for each window resolves the rendering issue as screen_resolution_changed calls invalidate_occlusions.
2022-05-28Browser+LibWeb+WebContent: Add ability to inspect session storageRafał Babiarz
2022-05-28NetworkServer: Support setting default gatewayMaciej
This commit adds an IPv4Gateway to Network.ini. If that option is set to value other than 0.0.0.0, the NetworkServer adds a default route (e.g. with address 0.0.0.0/0) with the specified destination.
2022-05-28Applets/ResourceGraph: Open network monitor when clicking network graphMacDue
(Previously, it would open the performance monitor tab)
2022-05-27Utilities: Add edid-dump program to dump EDID from Display connectorsLiav A
2022-05-26Userland: Depend some applications on WebContent if it's being usedKarol Kosek
Deduced this mostly by looking at unveil()s.
2022-05-26WebContent: Depend on ImageDecoder, RequestServer and WebSocketKarol Kosek
2022-05-26Welcome: Depend on HelpKarol Kosek
2022-05-26Browser: Depend on BrowserSettingsKarol Kosek
The app refused to run in the Required+Browser system configuration, because unveil was angry that BrowserSettings wasn't being installed.
2022-05-26CharacterMap: Mark this component as 'recommended', not 'required'Karol Kosek
Despite being a small and useful program, it doesn't feel being essential enough to be included in every build configuration.
2022-05-26LibGUI: Implement case inversion in Vim emulationhuttongrabiel
When in visual mode with text selected, on Key_Tilde press, uppercase characters convert to lowercase and lowercase ones to uppercase.
2022-05-26netstat: Stop needing LookupServer for parsing argumentsMaciej
Previously the netstat utility crashed when LookupServer wasn't running because it tried to unveil nonexistent /tmp/portal/lookup socket. This commit fixes that.
2022-05-26NetworkServer: Add a new NetworkServer serviceMaciej
This service is responsible for loading network configuration from a /etc/Network.ini config file. It sets up static IP address + mask or starts DHCPClient depending on configuration.
2022-05-26DHCPClient: Don't discover interfaces other than given by defaultMaciej
Now, the caller needs to give interface names in command-line arguments. The DHCPClient will perform DHCP discovery only on these adapters. The service now immediately closes when no interfaces were given. We don't check if interface has already IP address assigned; we just reset it to zero so that DHCP resolution will not fail.
2022-05-26MasterWord: Check guesses against the word listPaweł Łukasik
Previously guesses were not checked which allowed guesses like 'aaaaa' to be entered. Currently there's an option to set if a guess should be checked against the dictionary and rejected if it doesn't exist there. Additionally settings from Game menu have been moved to its own entry - Settings.
2022-05-26route: Add the flags columnbrapru
2022-05-26LibDSP: Fix keyboard glitch in Classickleines Filmröllchen
This is quite elusive.
2022-05-26Piano: Use LibDSP::Keyboard for all keyboard-playing logickleines Filmröllchen
The only major functional change is that the Track now needs to know whether it's active or not, in order to listen to the keyboard (or not). There are some bugs exposed/created by this, mainly: * KeysWidget sometimes shows phantom notes. Those do not actually exist as far as debugging has revealed and do not play in the synth. * The keyboard can lock up Piano when rapidly pressing keys. This appears to be a HashMap bug; I invested significant time in bugfixing but got nowhere.
2022-05-26Piano: Make TrackManager::next_track_index constkleines Filmröllchen
That's very much an informational API.
2022-05-26Piano: Use a real transport in the TrackManagerkleines Filmröllchen
This is technically only a stepping stone but needed to happen at some point anyways. Now, there's no more integer time stored in Piano's legacy datastructures directly.
2022-05-26LibDSP: Introduce the Keyboardkleines Filmröllchen
This is a class for handling user MIDI input, which is combined by the Track with roll note data if applicable.
2022-05-26LibGUI: Allow to lowercase conversion in Vim emulationhuttongrabiel
If Key_U is pressed while in visual mode, the currently selected text will be converted to lowercase.
2022-05-26LibGUI: Allow to uppercase conversion in Vim emulationhuttongrabiel
If Shift+Key_U is pressed while in visual mode, the currently selected text will be converted to uppercase.
2022-05-26LibGUI: Add casefold_selection function to choose case conversionhuttongrabiel
Allows the passing of a Casing enum, Lowercase or Uppercase, and converts the selected text accordingly. If Lowercase is passed as the parameter, it converts the selected text to lowercase. If Uppercase is passed as the parameter, it converts the selected text to uppercase.
2022-05-26LibGUI: Invert button icons with low contrast ratiosMacDue
On some dark themes, it becomes impossible to dark button icons against their dark button backgrounds. This change tries to mitigate that by inverting the icon color if the contrast ratio (against the button background) is less the 4.5 (the recommended minimum for text). This is only done for icons that are a solid color (e.g. all back), where the desired icon would likely be the same inverted anyway. Fixes a lot of cases of #13978
2022-05-26LibGfx: Add Color::contrast_ratio()MacDue