Commit graph

1194 commits

Author SHA1 Message Date
Linus Groh fd896ad29d Base: Add KeyboardMapper.af
Joining applications like Font Editor and Theme Editor, Keyboard Mapper
now has its own entry in the "Development" system menu section.
2021-05-12 23:12:54 +01:00
miere43 84800a5b4f Base: Add :nth-last-child test document 2021-05-11 21:17:16 +01:00
Linus Groh ecdb6a11b7 Base: Add Magnifier.af 2021-05-11 18:01:55 +02:00
Andreas Kling c68dfcf19f Base: Remove unused icons from the removed Visual Builder app 2021-05-11 11:24:58 +02:00
Ali Mohammad Pur a527256356 Shell: Add an option to autosave history every N ms
...and set it to 10 seconds by default.
2021-05-11 10:19:07 +01:00
Valtteri Koskivuori 4d01183f5c Userland: Implement a magnifier app
This utility is useful for making sure those UI elements are pixel
perfect. A simple 2x/4x magnification around the mouse cursor, shown in
a window.
2021-05-11 10:18:29 +01:00
Mart G e81d35995e Base: Fix a spelling error in the mitigations man page 2021-05-10 17:44:30 +01:00
Brendan Coles 138d065cbb Themes: Silver: Add window title button icons 2021-05-10 17:15:47 +01:00
Ali Mohammad Pur b1fe5d5517 Shell: Parse '\t' in doublequoted strings as a tab character
This not being recognised is surprising.
2021-05-10 10:43:23 +02:00
Ali Mohammad Pur 22b244df45 Shell: Add support for \uhhhhhhhh escapes in strings
This will be replaced with the unicode character whose codepoint is
given by the unsigned 32-bit number 'hhhhhhhh' (hex).
2021-05-10 10:43:23 +02:00
Matthew Olsson a8f5b6aaa3 LibPDF: Create basic object structure
This commit is the start of LibPDF, and introduces some basic structure
objects. This emulates LibJS's Value structure, where Value is a simple
class that can contain a pointer to a more complex Object class with
more data. All of the basic PDF objects have a representation.
2021-05-10 10:32:39 +02:00
Ömer Kurttekin d922c2f5f3
Userland: Preserve keyboard mapping preference on reboot (#6955) 2021-05-09 15:56:03 +02:00
Erlend 4c43fc0515
AnalogClock: New analog clock application (#6760) 2021-05-09 15:51:36 +02:00
miere43 c5ceff33b5 Browser: Add :nth-child test document 2021-05-09 11:24:04 +02:00
Brendan Coles 2fe6242f15 Themes: Faux Pas: Set RubberBandFill transparency 2021-05-08 14:08:14 +01:00
Brendan Coles 29e323269c Themes: Faux Pas: Set HoverHighlight to white 2021-05-08 12:28:48 +01:00
Linus Groh 5468a23fc2 Base: Fix path to LibJS tests in test-js(1) man page 2021-05-08 12:04:55 +01:00
Brendan Coles dbb88d7dd4 Themes: Add Light theme 2021-05-08 11:13:03 +01:00
Jesse Buhagiar 834f3c64f0 Demos: Add OpenGL teapot demo :^)
Every GL library needs an implementation of this!
Currently drawn with "pixel vomit" colours as we don't
yet support lighting via the GL library.

This also ships with a super basic Wavefront OBJ loader.
2021-05-08 10:13:22 +02:00
ry755 9cec9fb1e8 Base: Update TextEditor man page to include line and column arguments
This documents the feature in c2872766f2322aa38490160b571059f05e7dcb2d
2021-05-08 09:54:53 +02:00
Valtteri Koskivuori 09ea57031f Base: Add manpage for file(1) 2021-05-07 16:29:58 +01:00
Linus Groh 336a79a452 Base: Consistently stylize arguments in man pages as inline code 2021-05-07 16:19:49 +01:00
Andreas Kling a7e44d8b3c Base: Remove unnecessary UID separation of multi-process Browser
After looking closely at this, I realized that we've been running
all the service processes under separate user accounts even though
there's actually no need to.

Since we already use pledge() and unveil() to limit the scope and
access of these programs, separating them to another UID doesn't
achieve anything meaningful. So let's bring them back to the "anon"
user account and simplify things.

Programs affected:

- ImageDecoder
- RequestServer
- WebContent
- WebSocket

Longer term, I'd like for all of these to get spawned for the current
desktop user somehow, possibly by some kind of session manager, or
perhaps by the Browser program itself. But for now they remain under
SystemServer's control.
2021-05-06 13:33:08 +02:00
Sergey Bugaev 37a59f7f40 Base: Start LookupServer on boot
I can't say I like starting yet another thing on boot... but now that
LookupServer provides mDNS (and optionaly DNS) services to other hosts,
we have to start it on boot, not when the first local client connects.
2021-05-05 21:16:17 +02:00
setepenre 8978325af8 Base: Add manpage for groups(1) 2021-05-05 15:12:30 +01:00
Brendan Coles aee735889e Base: Fix typos and spelling errors in man pages 2021-05-05 12:22:08 +01:00
Brian Gianforcaro 56fccf1667 Base: Minor cleanup of a few man pages.
- Fix some typos and formatting.

- Add links to Mitigations from unveil / pledge.
2021-05-05 12:24:16 +02:00
Brian Gianforcaro 325e491d34 Base: Add a boot_parameters(7) to document kernel boot parameters. 2021-05-05 12:24:16 +02:00
Andreas Kling 93f03c73d9 Base: Update recvfd() man page after addition of options argument 2021-05-04 21:02:22 +02:00
Andreas Kling f052a66c5d WindowServer+Base: Show alternate close button for "modified" windows
Windows that are marked as modified will now have another (themable)
close button. This gives an additional visual clue that some action
will be required by the user before the window gets closed.

The default window-close-modified icon is an "X" with "..." underneath,
building on the established use of "..." in menus to signify that
additional user input will be required before an action is completed.
2021-05-02 14:17:49 +02:00
Linus Groh f81e581d50 Meta: Remove trailing whitespace from ro.json
This fixes the CI linting step.
2021-05-01 20:15:24 +02:00
xSlendiX 1dec93f45c Keymap: Added Romanian layout 2021-05-01 20:07:27 +02:00
Gal Horowitz b119fa5a0a Base: Add bold Hebrew character glyphs to the Katica Bold 10 font
The glyph for the letter `Shin` (U+05E9) looks a bit wonky because the
width of the font is too small. Unfortunately it doesn't look like the
FontEditor is capable of changing the width of an existing font, so if
that option will be added in the future this glyph can be fixed.
2021-05-01 17:25:43 +02:00
Mango0x45 1635942951 Man: Add a manpage for rev(1) 2021-05-01 14:15:30 +02:00
Gunnar Beutner e69b729733 Ports: Use sendfd()/recvfd() for mm_send_fd()/mm_receive_fd() 2021-05-01 12:40:12 +02:00
Gunnar Beutner 302f9798ee LibC: Implement support for getspnam() and friends 2021-05-01 12:40:12 +02:00
Brian Gianforcaro 38fe67abb4 Base: Add a man page for the 'bt' command. 2021-05-01 08:44:33 +02:00
Andreas Kling def1f1444a WindowServer: Move configuration file to /etc/WindowServer.ini
This was in the /etc/WindowServer/ directory which had nothing else in
it, so let's just get rid of the directory and move this up one step.
2021-04-29 22:16:18 +02:00
Ali Mohammad Pur c5c6161406 Base: Describe heredocs in Shell's manpage 2021-04-29 20:25:56 +02:00
Maciej Zygmanowski 2de0ff28dd Browser: Save search engine setting to preferences 2021-04-29 09:08:22 +02:00
Linus Groh 649d2faeab Everywhere: Use "the SerenityOS developers." in copyright headers
We had some inconsistencies before:

- Sometimes "The", sometimes "the"
- Sometimes trailing ".", sometimes no trailing "."

I picked the most common one (lowecase "the", trailing ".") and applied
it to all copyright headers.

By using the exact same string everywhere we can ensure nothing gets
missed during a global search (and replace), and that these
inconsistencies are not spread any further (as copyright headers are
commonly copied to new files).
2021-04-29 00:59:26 +02:00
Jagger De Leo cec8488d9d Demos: Add Starfield screensaver demo 2021-04-26 23:13:27 +02:00
DexesTTP 91c210c39a LibGUI: Make common locations configurable 2021-04-26 18:57:57 +02:00
thankyouverycool 98ea44de36 Base: Add 36pt font to Marieta family plus minor fixes to 24pt
Unslashes '0' and zeros out widths for control codes and unused
glyphs
2021-04-26 18:41:54 +02:00
Rudolf Adamkovič 525fad42f5
Base: Make test(1) summary line match other man pages
Other `man` pages use the imperative form.
2021-04-25 23:57:32 +02:00
DexesTTP 71d27abb97 Services: Rename ProtocolServer to RequestServer
The current ProtocolServer was really only used for requests, and with
the recent introduction of the WebSocket service, long-lasting
connections with another server are not part of it. To better reflect
this, this commit renames it to RequestServer.

This commit also changes the existing 'protocol' portal to 'request',
the existing 'protocol' user and group to 'request', and most mentions
of the 'download' aspect of the request to 'request' when relevant, to
make everything consistent across the system.

Note that LibProtocol still exists as-is, but the more generic Client
class and the more specific Download class have both been renamed to a
more accurate RequestClient and Request to match the new names.

This commit only change names, not behaviors.
2021-04-25 19:04:34 +02:00
DexesTTP 22413ef729 LibWeb: Add WebSocket bindings
The WebSocket bindings match the original specification from the
WHATWG living standard, but do not match the later update of the
standard that involves FETCH. The FETCH update will be handled later
since the changes would also affect XMLHttpRequest.
2021-04-25 19:04:34 +02:00
DexesTTP 62ed26164b Services: Add a WebSocket service
The WebSocket service isolates communication with a WebSocket to its
own isolated process. Similar to other isolating services, it has its
own user and group.
2021-04-25 19:04:34 +02:00
Andreas Kling 6c2ec4c1a4 Userland+Base: Add "ladyball" logo for the system :^)
Thanks to Katalin Kult for the artwork!
2021-04-25 18:57:10 +02:00
Andrew Kaster 89ee38fe5c Tests: Add environment variable for tests only
This is useful for CI where we don't want to spend a minute and a half
benchmarking Vector::append, and we don't have a good way to pass
test-specific arguments yet. :)
2021-04-25 09:36:49 +02:00
Brian Gianforcaro 898e9492f7 Base: clang-format the cpp-gui template project.
I noticed this was miss-formated when fixing up the clang-format
error in a different PR. I just ran `pre-commit run --all-files`
2021-04-25 01:13:59 +02:00
thankyouverycool bada590b91 FontEditor: Add move glyph tool
When toggled on, glyphs can now be repositioned within the glyph
editor by dragging the mouse
2021-04-23 11:08:11 +02:00
Ali Mohammad Pur 1099521514 Base: Add a quote to the fortunes database 2021-04-23 09:27:49 +02:00
Andreas Kling 3857148028 LibWeb+Base: Use AK::SourceGenerator for error pages
Instead of storing a format string in a file, let's be reasonable
and use SourceGenerator's template functionality. :^)
2021-04-22 00:00:59 +02:00
Andreas Kling 9a8dd38493 LibWeb+Base: Convert String::format() to String::formatted()
This error page template is slightly hilarious and should probably
be replaced with AK::SourceGenerator or some such, but for now let's
just get rid of the call to String::format().
2021-04-21 23:49:02 +02:00
Marco Biscaro 8124719c3d Tests: Reorganize LibCompress unit tests
Move LibCompress unit tests to LibCompress/Tests directory and register
them with CMake's add_test. This allows us to run these tests with
ninja test instead of running a separate executable.

Also split the existing tests in 3 test files that better follow the
source code structure (inspired by AK tests).
2021-04-21 08:00:32 +02:00
Panagiotis Vasilopoulos e45e0eeb47 Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
Adam Hodgen 3cfab83e7e Base: Add HTML test page for cursor & table
This page is useful for testing the CSS 'cursor' property, as well as
HTML tables
2021-04-19 12:26:05 +02:00
Idan Horowitz 4c1d4baada Base: Update CsillaRegular10's glyph widths
This fixed-width font had some garbage per glyph width values, which
while previously was ok, they now had to be correctly set to indicate
glyph presence.
2021-04-18 22:10:25 +02:00
Gal Horowitz 8b78f2741d Base: Add hebrew character glyphs to the Katica Regular 10 font
The newly drawn glyphs cover the Hebrew letters (U+05D0 - U+05EA).
2021-04-18 18:57:35 +02:00
Linus Groh 2b0c361d04 Everywhere: Fix a bunch of typos 2021-04-18 10:30:03 +02:00
sin-ack aa56f9a1e0 LibGUI+WindowServer: Separate window manager IPC from regular IPC
With this patch the window manager related functionality is split out
onto a new endpoint pair named WindowManagerServer/Client.  This allows
window manager functionality to be potentially privilege separated in
the future.  To this end, a new client named WMConnectionClient
is used to maintain a window manager connection.  When a process
connects to the endpoint and greets the WindowServer as a window manager
(via Window::make_window_manager(int)), they're subscribed to the events
they requested via the WM event mask.

This patch also removes the hardcoding of the Taskbar WindowType to
receive WM events automatically.  However, being a window manager still
requires having an active window, at the moment.
2021-04-17 13:06:25 +02:00
Leandro Pereira 8d25290198 FileManager: Show file copying animation
Bring some mid-90s charm and show a file flying animation while copying
files.  Icons for both source and destination directories are currently
the default icons, but in the future they could be the respective icons
for the destination directory.
2021-04-17 09:41:35 +02:00
Gunnar Beutner 127fe38612 Base: Remove stray backtick in the watch manpage 2021-04-17 09:25:40 +02:00
Timothy Flynn 67884f6747 LibWeb: Impose a sane max cookie size
Drop cookies larger than 4KiB. This value is the RFC's recommendation:
https://tools.ietf.org/html/rfc6265#section-6.1
2021-04-16 19:19:31 +02:00
sin-ack afb04cf544 man: Update SystemServer(5) documentation with new Socket style
This patch adds new information about the usage of multiple sockets with
eager services and the new socket takeover mechanism exposed by
SystemServer.
2021-04-16 18:22:10 +02:00
Andreas Kling 9f4e37e342 Applications: Rename Serendipity => Welcome
Let's stick to the theme of "the most obvious name possible"
2021-04-15 20:50:24 +02:00
Timothy Flynn 82c53178fa Base: Update cookie test page to include unretrievable cookies
"Unretrievable" meaning from JavaScript via document.cookie. They are
settable though and may be viewed with the Dump Cookies command in the
Browser.
2021-04-15 09:46:49 +02:00
Nicholas-Baron b2c952a6fa Base: Add documentation for get_process_name
`set_process_name` has a getter pair (which it links to); lets document it.

Solves #6007.
2021-04-15 09:01:11 +02:00
Idan Horowitz aab99d5945 LibWeb: Implement the CanvasRenderingContext2D::rect path method
This method adds a rectangle to the current 2D path.
2021-04-14 23:01:23 +02:00
daniel eliad b96c205c98 Tests: fixed test-crypto wrong argument order that failed -
run-tests-and-shutdown.sh
2021-04-14 22:33:50 +02:00
Timothy Flynn 858ba11aef Browser: Respect the HttpOnly flag when storing cookies 2021-04-14 16:07:46 +02:00
FalseHonesty 2d58549296 LibDebug: Add support for parsing array types
This includes multi-dimensional arrays :O
2021-04-14 13:28:48 +02:00
Timothy Flynn 329e6252e9 Base: Update cookie test page with cookies expected to be rejected 2021-04-13 21:59:30 +02:00
Andreas Kling a2baab38fd Everywhere: It's now "Foobar", not "FooBar", and not "foo bar"
I hereby declare these to be full nouns that we don't split,
neither by space, nor by underscore:

- Breadcrumbbar
- Coolbar
- Menubar
- Progressbar
- Scrollbar
- Statusbar
- Taskbar
- Toolbar

This patch makes everything consistent by replacing every other variant
of these with the proper one. :^)
2021-04-13 16:58:15 +02:00
Itamar 667926df73 HackStudio: Store known symbol declarations in ProjectDeclarations
They were previously stored inside the Locator widget. I moved them to
the globally visible ProjectDeclarations class so they can also be used
by other widgets.
2021-04-13 15:16:27 +02:00
breakgimme 42abda2a19
Keymaps: Add pl keymap (#6282) 2021-04-13 00:06:18 +02:00
Timothy Flynn fc03f8d959 Base: Update cookie test page to set some attributes 2021-04-12 22:37:00 +02:00
thankyouverycool 102bb3b3d2 Base: Fix a few width/height oversights in Marieta
Corrects punctuation width and erroneous 'Q' width reset. Adjusts
height of double quote and '$'
2021-04-12 15:31:55 +02:00
Peter Elliott eca20e92da Userland: Add support for -S to env command
- Refactor env to use Core::ArgsParser
- create symlink from /bin/env to /usr/bin/env for compatiability
2021-04-12 14:06:24 +02:00
thankyouverycool 198c4fd7f2 Serendipity: Paint theme agnostic banner
And remove temporary welcome-banner.png. Fixes invisible text in
dark themes.
2021-04-12 08:56:06 +02:00
thankyouverycool 4366cb469b Base: Add new sans serif font Marieta
Liza's younger, slightly better proportioned sister
2021-04-12 08:56:06 +02:00
Timothy Flynn 59e47c3b11 Base: Add test page for document.cookie 2021-04-11 18:24:34 +02:00
Brendan Coles 72fbf26dd6 Network: Add network.png 32x32 icon 2021-04-11 17:53:53 +02:00
Brian Gianforcaro 10d9a8db71 Base: Fix run-tests-and-shutdown.sh output in CI testing mode.
The missing newline made the output look weird, as it was jumbled
up next to the standard QEMU boot output instead of below it.
2021-04-11 12:50:33 +02:00
Andreas Kling 251018676f Everywhere: Update references from ReadMe.md => README.md 2021-04-11 10:52:25 +02:00
Andreas Kling 42ec6718f2 Base+LibGUI: Add an familiar-looking icon for the desktop directory 2021-04-09 23:45:21 +02:00
Andreas Kling 11bea5d633 LibGfx+Base: Add Tray/TrayText theme colors and Gfx::ButtonStyle::Tray
A "Tray" is a sunken container area for widgets. The first intended
client of this style is the GUI::FilePicker's common locations frame.

Thanks to @nvella for coming up with the term "Tray" :^)
2021-04-09 21:53:43 +02:00
Dmitrii Trifonov 90b6821d3f Fonts: Added some cyrillic glyphs to CsillaRegular10 and
KaticaRegular10

Needed to add more glyphs to fonts.
2021-04-09 08:33:12 +02:00
nickalfi 3a8844520a
Keymaps: Add se keymap (#6198)
Based on the existing Finnish keymap for special characters and what
characters Linux outputs when I press the key, including Numpad.
2021-04-08 23:35:17 +02:00
Miika Hämynen 5e8b5ff35e
Keymaps: Add sv-dvorak keymap (#6177)
Based on the finnish keymap for special characters and what characters
linux outputs when I press the key.
2021-04-07 19:34:49 +02:00
thankyouverycool 3ba86e3156 Base: Add icons for a few apps and filetypes
Adds new java, pdf, open-folder filetype icons. Upgrades chess,
snake, sound player and keyboards. Fixes file manager alignment.
2021-04-06 21:58:55 +02:00
Andreas Kling 1d065aa51b LibWeb: Support the :last-of-type CSS selector :^) 2021-04-06 13:06:42 +02:00
Andreas Kling 0eb9a9dd13 LibWeb: Support the :first-of-type CSS selector :^) 2021-04-06 13:06:42 +02:00
Timothy Flynn 0794d879f3 Base: Update background-repeat test with two-value section 2021-04-05 18:49:04 +02:00
Dodoross 0315741815
Keymaps: Added fr-ch.json for Swiss-French keyboards (#6065)
This new file is inspired by de.json as the two keyboard layouts are
very similar.
2021-04-05 18:04:53 +02:00
Andreas Kling 66a27f37db Base: Minor cleanups in SystemServer.ini
Fix up an outdated comment and remove some unnecessary Executable
values (since those are implied by the group name anyway.)
2021-04-04 20:13:55 +02:00
Andreas Kling 436a1dce34 ResourceGraph.Applet: Host both CPU and memory applet in one process
No reason we can't host these in the same process, and then we have
one less process to dynamically link at boot. :^)
2021-04-04 20:13:55 +02:00
Timothy Flynn d40f3aa0d0 Base: Add test page for <input type=button> elements
Particularly to test label associations.
2021-04-04 18:30:15 +02:00
Timothy Flynn 26c9769247 Base: Update checkbox test page to have a <label> 2021-04-04 18:30:15 +02:00