Commit graph

1223 commits

Author SHA1 Message Date
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
Timothy Flynn 2199a59614 Base: Update radio button test page to mutate the DOM 2021-04-04 18:30:15 +02:00
Andreas Kling 23cc88f83b Userland: Rename *.MenuApplet => *.Applet
These are no longer displayed in the menu, so it doesn't make sense to
call them menu applets. :^)
2021-04-04 16:29:55 +02:00
Andreas Kling 0f85753014 Base: Desaturate the audio applet icons 2021-04-04 09:54:10 +02:00
Andreas Kling 721572410e ClipboardHistory: Use the "edit-copy" icon instead of a colorized one 2021-04-04 09:53:41 +02:00
Andreas Kling ee7693afa0 Base: Tweak default shell prompt 2021-04-04 09:03:16 +02:00
Andreas Kling f1ea092d8f Base: Make the "little" test program compilable again 2021-04-03 20:36:25 +02:00
Timothy Flynn 274e94224d Base: Add test page for HTML input type=radio elements 2021-04-03 15:39:46 +02:00
Timothy Flynn fcfeadaffa Base: Add test page for the 'background-repeat' property
This page tests the following values for background-repeat:
    repeat, repeat-x, repeat-y, no-repeat

The test is duplicated for the <body> node and for child <div> nodes,
because the code that paints these nodes are in separate locations.
2021-04-03 11:24:33 +02:00
Timothy Flynn 316e19c3ac Base: Add a bullet emoji • 2021-03-31 23:58:45 +02:00
Timothy Flynn 2cc10c62ee Base: Add test for a box placed over links with negative z-index
In this test, a set of links has a background box placed behind them via
a negative z-index. The expectation is that a hit test on a link during
a mouse-move event should select that link, and not the background box.
2021-03-31 23:53:15 +02:00
Andreas Kling 0e798234c7 WindowServer+LibGfx: Remove code for drawing the old-style menu bar 2021-03-31 23:38:26 +02:00
Andreas Kling 87b2725b1f Base: Tweak applet window order 2021-03-30 23:43:24 +02:00
Timothy Flynn e0f0aa7ce0 Base: Add test page for floating boxes with overflow=hidden 2021-03-30 22:21:46 +02:00
thankyouverycool 4465b37897 LibGUI+Calendar: Add new month and year views to Calendar
And overhaul resize and paint events to fix layout edge cases in
which Calendar wasn't filling its parent widget completely. Ensures
month views always display prior month days for click navigation.
Converts Calendar app layout to GML.
2021-03-30 10:34:34 +02:00
Andreas Kling e17d4f8736 Fonts: Tweak 'r' glyphs in Katica
These were distractingly wide, so let's make them a bit narrower.
2021-03-29 19:14:45 +02:00
Roi f046654477 Base: Update modunload path
The file `modunload.md` has moved to `man8`
2021-03-27 19:43:58 +01:00
Brendan Coles 5331ae0e93 Base: man pages: document arguments, fix typos, use American English 2021-03-27 19:23:49 +01:00
Cesar Torres 2e28b8ebcc SoundPlayer: Add playlist supprt
And a M3U(8) parser
2021-03-27 10:20:55 +01:00
Andreas Kling e94e94becc Base: Remove SystemMenu from SystemServer.ini 2021-03-26 08:20:53 +01:00
Andreas Kling 128c4c2db0 Base: Tweak "Redmond 2000" theme menu colors 2021-03-25 23:19:41 +01:00
Andreas Kling 11e190b323 Base: Remove clock and username applets from startup
The clock has moved to the taskbar, and let's see how we feel without
the username being on screen all the time.
2021-03-25 22:40:51 +01:00
Andreas Kling 91a68cb5d8 Base: Tweak menu colors in default theme a little bit
Let's brighten up the menu stripe for a slightly fresher look.
2021-03-25 22:14:09 +01:00
Cesar Torres 6179c9ad25 jp: add man page 2021-03-24 20:34:26 +01:00
networkException 4f22c92b99 Keymap: Added de-macintosh.json for German Mac keyboards
Some special characters might not match the exact layout
from macOS as this was tested on Linux, but it is close
enough to be well usable
2021-03-24 15:57:49 +01:00
Itamar 84e34d76d8 HackStudio+LanguageServers/Cpp: Show scope of symbols in Locator 2021-03-23 18:32:39 +01:00
Idan Horowitz 505c84fdf0 Base: Add man page for zip(1) 2021-03-23 16:09:36 +01:00
lucastarche fa9dfa3da1 PixelPaint: Added Zoom tool 2021-03-23 08:21:08 +01:00
AnotherTest 4ff430b615 Base: Document Shell's variable indexing behaviour 2021-03-22 13:15:08 +01:00
AnotherTest 6c94207ee0 Base: Document Shell's immediate functions 2021-03-22 13:15:08 +01:00
thankyouverycool 4ef0e4b62e Serendipity: Add new tips and use more GML 2021-03-18 07:50:48 +01:00
Roi 72501775a7
Base: Change path to both modload and modunload (#5804) 2021-03-16 16:05:42 +01:00
Magnus Alvestad a3b03eef01
Keymap: Added no-latin1.json for Norwegian pc105 keyboards (#5794) 2021-03-15 08:48:26 +01:00
Andreas Kling e44fbbe5c0 Base: Remove ANSI color ladybug text file
This was part of a neofetch-like program we had a long time ago,
but has long since been removed.
2021-03-13 22:41:32 +01:00
Itamar 7bf6eca9d8 LanguageServers/Cpp: Complete Preprocessor definitions
Preprocessor definitions now appear in the AutoComplete suggestions box
as well as in the Locator.
2021-03-13 10:17:02 +01:00
Itamar 3658c4c567 LibCpp: Replace defined preprocessor values when parsing 2021-03-13 10:17:02 +01:00
Brendan Coles f21af0922a QuickShow: Add help documentation 2021-03-13 10:00:59 +01:00
Andreas Kling 822d7da6cc Base: Make the default prompt a different color for root 2021-03-11 18:55:16 +01:00
Ben Wiederhake a265ea98b9 Utilities: Add a quotes database and 'fortunes' program
I told you, we need a quotes ~~page~~ file! :D
2021-03-09 22:10:30 +01:00
Brendan Coles 69b98f7d32 Base: Add sysctl man page 2021-03-08 09:48:34 +01:00
Emanuele Torre dd17ec180f Base: Fix newlines at end of file in some files. 2021-03-08 09:20:53 +01:00
Emanuele Torre 1f81bc6879 Everywhere: Remove unnecessary whitespace at the end of some lines. 2021-03-08 09:20:53 +01:00
Emanuele Torre 6749ba3477 Base: Replace HTMl => HTML 2021-03-08 09:20:53 +01:00
thankyouverycool 1ccf9de6b9 Serendipity: Couple more tips and some clean-up 2021-03-07 15:41:32 +01:00
AnotherTest 1496b02203 Meta: Use the new Shell features to improve run-tests-and-shutdown
Fixes two TODOs in that file :^)
2021-03-07 10:59:51 +01:00
AnotherTest 13b65b632a Shell: Add support for enumerating lists in for loops
With some odd syntax to boot:
```sh
$ for index i x in $whatever {}
```
2021-03-07 10:59:51 +01:00
Brendan Coles 6ac2d3e1bd Base: Add egrep and rgrep aliases to /etc/shellrc 2021-03-06 09:43:13 +01:00
Ben Wiederhake 15b675a804 Shell: Document all supported PROMPT flags 2021-03-04 22:17:18 +01:00
Andreas Kling 2119c9e801 Base: Remove two outdated aliases from /etc/shellrc 2021-03-04 10:28:46 +01:00
Brendan Coles 89265be167 Base: Add man pages for null/zero/full character devices 2021-03-04 09:19:15 +01:00
Andreas Kling 157af93d69 Base: Set a nice PROMPT in /etc/shellrc :^) 2021-03-03 20:37:23 +01:00
thankyouverycool 71a123148a Serendipity: A new welcome app
Provides the basic Help+ReadMe care package to new users and some
interesting tips to get started. Feel free to add more!
2021-03-02 11:57:27 +01:00
Andrew Kaster 8453bb3461 Userland: Gate OSC 9 usage in test-js behind an argument
Instead of assuming that we should use the OSC 9 progress messages
whenever we run on serenity, add a show-progress=[true|false] option.

This lets us avoid seeing esc sequence spam in GitHub Actions logs.
2021-03-02 09:00:21 +01:00
Andrew Kaster e8fd53c247 Base: Add test-math to set of tests run on CI
It currently fails though :( Likely contributes to innacuracies in LibJS
tests as well.
2021-03-01 11:12:36 +01:00
Andrew Kaster 611bbc43be Base/CI: Boot serenity in CI in a mode that runs tests on target
Build a new version of Serenity in CI that doesn't have all the debug
symbols on, or we'd be waiting a very long time to boot.

Insert a TestRunner entry into SystemServer.ini that will run a shell
script that runs tests in /bin and /usr/Tests and shuts down the system
in the new self-test boot mode. Also make sure enough basic services are
started in self-test such that the tests will actually run properly.
2021-02-28 18:19:37 +01:00
Idan Horowitz 2dea887e8f Base: Add mktemp(1) man page 2021-02-28 15:30:49 +01:00
Itamar 54bc9114b3 HackStudio: Support searching symbol declarations in the Locator
The Locator now keeps a cache of the declared symbol in a document.
The language client updates that cache whenever it gets an update from
the language server about declared symbols.

This allows searching for symbol declarations in the Locator, in
addition to file names.

Closes #5478
2021-02-27 16:37:35 +01:00
Nick Vella e241dba8d3 LibGUI: add a rudimentary framework for Wizards.
This patch provides the basic components needed for developers to create
consistent wizard interface experiences in their applications.
`WizardDialog` provides the dialog frame for the wizard, handling navigation
and presentation.
`AbstractWizardPage`s form the base class of Wizard pages, which are
pushed onto the `WizardDialog` page stack via `WizardDialog::push_page`.
`CoverWizardPage` and `WizardPage` are provided to ease the creation of
Wizard interfaces consistent with the Serenity visual language.
2021-02-27 07:31:55 +01:00
thankyouverycool 38e70d2874 Base: Adjust cursor and link colors in Redmond themes
Fixes red blinking carets and unreadable link text
2021-02-26 13:30:08 +01:00
thankyouverycool 4ebfdfdc05 Base: Update some icons for color, quality and consistency
And remove unused filetypes
2021-02-25 08:08:26 +01:00
thankyouverycool 42717b5b79 Base: Add new icons for fonts and File Manager 2021-02-25 08:08:26 +01:00
Andreas Kling 1ba1ca76d8 Base: Add jcs.org to Browser bookmarks
This page is great for testing and it exposes a bunch of issues we
should look into in LibWeb. :^)
2021-02-24 21:55:04 +01:00
Brendan Coles 0ffc06b795 Profiler: Add help documentation 2021-02-24 20:40:00 +01:00
Brendan Coles 501834ba45 Inspector: Add help documentation 2021-02-23 13:52:16 +01:00
TheMorc 38781cb131 Base: Add Slovak keymap 2021-02-22 09:46:02 +01:00
Kevin Kuehler c909f7001c keymaps: Add dvorak-programmer
I left the numpad the same as qwerty because I don't have a keyborad
with a numpad and don't know if those keys change or not.
2021-02-21 23:48:57 +01:00
Andreas Kling d475460ea1 Base: Add a lion emoji 🦁 2021-02-21 15:07:25 +01:00
Andreas Kling 84b2d4c475 Kernel: Add "map_fixed" pledge promise
This is a new promise that guards access to mmap() with MAP_FIXED.

Fixed-address mappings are rarely used, but can be useful if you are
trying to groom the process address space for malicious purposes.

None of our programs need this at the moment, as the only user of
MAP_FIXED is DynamicLoader, but the fixed mappings are constructed
before the process has had a chance to pledge anything.
2021-02-21 01:08:48 +01:00
Linus Groh 17959c1408 Base: Update path in js(1) manpage example 2021-02-20 16:05:20 +01:00
Linus Groh 1002236715 Base: Mention -n option in echo(1) manpage 2021-02-20 16:05:20 +01:00
Linus Groh 4896005fb2 Base: Tweak ddate(1) manpage tagline 2021-02-20 16:05:20 +01:00
Linus Groh b80b6ffca0 Base: Unify synopsis format in manpages 2021-02-20 16:05:20 +01:00
Andreas Kling 8fd86fe6c9 Base: Do a little copy-editing in Mitigations(7) 2021-02-20 11:37:55 +01:00
Andreas Kling 7e959d7430 Base: Fix a broken commit link in Mitigations(7) 2021-02-20 09:32:40 +01:00
Brian Gianforcaro 0d196d14d2 Base: Document more the mitigations in man7/Mitigations.md
Document:
* Unmap After Init
* RELRO
* -fstack-clash-protection
* -fstack-protector / -fstack-protector-strong
2021-02-20 09:01:02 +01:00
Linus Groh 2a519722a9 Base: Make PixelPaint launch handler for .pp files
Closes #5374.
2021-02-16 19:00:41 +01:00
Brian Gianforcaro a5f879ea8c Base: Add a man page documenting security mitigations
Since so much work is being put into mitigations, I thought
it would be nice to track them all in one place. This is the
start of that document.
2021-02-15 15:25:01 +01:00
Sergey Bugaev 373d135e74 LookupServer: Implement a DNS server :^)
LookupServer can now itself server as a DNS server! To service DNS clients, it
uses the exact same lookup logic as it does for LibIPC clients. Namely, it will
synthesize records for data from /etc/hosts on its own (you can use this to
configure host names for your domain!), and forward other questions to
configured upstream DNS servers. On top of that, it implements its own caching,
so once a DNS resource record has been obtained from an upstream server,
LookupServer will cache it locally for faster future lookups.

The DNS server part of LookupServer is disabled by default, because it requires
you to run it as root (for it to bind to the port 53) and on boot, and we don't
want either by default. If you want to try it, modify SystemServer.ini like so:

[LookupServer]
Socket=/tmp/portal/lookup
SocketPermissions=666
Priority=low
KeepAlive=1
User=root
BootModes=text,graphical

and enable server mode in LookupServer.ini like so:

[DNS]
Nameservers=...
EnableServer=1

If in the future we implement socket takeover for IP sockets, these limitations
may be lifted.
2021-02-15 09:14:42 +01:00
Stephan Unverwerth 53d2073a66 Resources: Add SerenitySans Truetype font to /res/fonts 2021-02-15 08:50:48 +01:00
Nick Vella b671577223 HackStudio: Project templates and New Project dialog
This commit adds a simple project template system to HackStudio,
as well as a pretty New Project dialog, inspired by early VS.NET
and MS Office.
2021-02-13 19:49:30 +01:00
thankyouverycool 94e494d6d2 FileManager: Add layout options to View menu
File Manager's toolbar, location bar, status bar and folder pane
can now be toggled on/off
2021-02-13 11:01:59 +01:00
thankyouverycool cb42ba0ab1 FileManager: Save 'Show dotfiles' setting in FileManager.ini 2021-02-13 11:01:59 +01:00
thankyouverycool 5a03b326a7 TextEditor: Add layout options to View menu
Toolbar, status bar, and ruler can now be toggled on/off and their
settings are saved in ~/.config/TextEditor.ini
2021-02-13 11:01:59 +01:00
Tom 58cf1987bf Themes: Basalt's title text shadow shouldn't be transparent
Fixes pixels bleeding through from behind.
2021-02-13 00:39:33 +01:00
Andreas Kling ca1c560161 Base: Don't mark "prot_exec" pledge promise as a SerenityOS extension
OpenBSD also has this promise.
2021-02-12 16:24:40 +01:00
Sahan Fernando 9e68752264 Themes: Improve syntax highlighting colors of Nord theme 2021-02-12 08:55:34 +01:00
Tom cd2874dfcf Themes: Make Redmond 2000 menu shadows a bit lighter 2021-02-12 08:55:11 +01:00
Tom cf1c159ed5 WindowServer: Allow different shadows for active/inactive windows
Also allow specifying different shadows for the task and menu bar.
2021-02-11 23:36:11 +01:00
Tom 964894dee6 WindowServer: Allow specifying different shadows for menus and tooltips
Also update the Redmond 2000 theme to drop shadows more Redmond-like.
2021-02-09 22:27:14 +01:00
Nico Weber 106939c11f Base: Fill in rightmost pixel in crosshair cursor
gimp claimed that the rightmost white pixel was actually transparent.
It didn't look transparent in Serenity, but I painted it white like
the other inner pixels anyways.
2021-02-09 20:10:00 +01:00
Nico Weber ae98f575d9 Base: Add 2x versions of most cursors
I upsampled them in gimp using the "None" filter and manually cleaned up
the outline. The drop shadow is just upsampled using "None" and looks a
bit rough -- someone who knows how to do this either has to re-create
the shadow on the 2x bitmaps, or we need to remove the shadow from the
resource and render it in code at some point. Still, looks a lot better
than with the upsampled 1x bitmaps.
2021-02-09 20:10:00 +01:00
Tom 0ce4b9d7db WindowServer: Implement simple window shadows
This implements simple window shadows around most windows, including
tooltips. Because this method uses a bitmap for the shadow bits,
it is limited to rectangular window frames. For non-rectangular
window frames we'll need to implement a more sophisticated algorithm.
2021-02-09 18:47:43 +01:00
Itamar 72fdab7bfb LanguageServers/Cpp: ParserAutoComplete engine inspects header files
... and performs preprocessing on the source code before parsing.

To support this, we are now able to keep track of multiple
files in the autocomplete engine. We re-parse a file whenever it is
edited.
2021-02-08 23:10:38 +01:00
Linus Groh dff808d087 Base: Remove /res/pci.ids and download at build time instead
This is an external file from https://pci-ids.ucw.cz that's being updated
daily, which was imported a while ago but probably shouldn't live in the
SerenityOS repository in the first place (or else would need manual
maintenance). The legal aspects of redistributing this file as we
currently do are not quite clear to me, they require either GPL (version
2 or later) or 3-clause BSD - Serenity is 2-clause BSD...

The current version we use is 2019.08.08, so quite outdated - and while
most of these devices are obviously not supported, we're still capable
of *listing* them, so having an up-to-date version with recent additions
and fixes would be nice.

This updates the root CMakeLists.txt to check for existence of the file
and download it if not found - effectively on every fresh build. Do note
that this is not a critical file, and the system runs just fine should
this ever fail. :^)
2021-02-07 01:14:36 +01:00
Andreas Kling aefd206038 SymbolServer: Add symbolication service for out-of-process ELF parsing
This patch adds SymbolServer, a service daemon that provides
symbolication of ELF binaries. It has a very simple IPC API at the
moment that only turns addresses into symbol names.

This can be used to implement symbolication without having to do
in-process ELF parsing yourself. :^)
2021-02-04 23:19:08 +01:00
Ben Wiederhake d24e287f8c Base: Make /www read-write by default
Since it is owned by root anyway, there is no need for 'additional security' to prevent
modification of that directory. This makes it easier to quickly export files from
Serenity. Fixes #5152.
2021-02-03 21:23:15 +01:00
Andreas Kling c94392a1cc Applications: Remove "Welcome" application
This was a cute application for its time, but it's far too jokey and
non-serious for how I'd like this project to treat itself.
2021-02-03 10:20:17 +01:00
Linus Groh 7b50d3cda4 Base: Update keymap(1) manpage
- Keymap name/file is now optional
- No root shell required (/bin/keymap is setuid root)
- Add example for getting the current keymap name
2021-02-02 16:53:11 +01:00
Linus Groh ee41d6e154 Base: Rename some keymaps to use xx-xx format where appropriate
- en.json -> en-us.json
- gb.json -> en-gb.json
- ptbr.json -> pt-br.json
- ptpt.json -> pt-pt.json
2021-02-02 16:53:11 +01:00
Liav A 878d353c3d Documentation: Add a manual page about the new MemoryDevice file 2021-02-01 17:13:23 +01:00
Ben Wiederhake 9f60ce4801 Base: Replace tabs+spaces in keymaps by only spaces 2021-02-01 09:54:32 +01:00
Ben Wiederhake b6dddd27b4 Base: Cover entire German keyboard
I'm strongly basing this on what I'm used to (xkb-data's "de(basic)"),
but without dead keys (since we don't support them).
2021-02-01 09:54:32 +01:00
Ben Wiederhake 2f92c8cad5 Base: Replace unnecessary escapes by actual codepoints
I used this arcane incantation by @emanuele6:

    < <(grep -hoP -e '\\u[A-Za-z0-9]{4}' ./*.json) grep -i -ve '\\u001b' \
    | sort -u \
    | while read -r; do
        sed -i "s,\\$REPLY,$(eval "echo $'$REPLY'"),g" ./*.json
    done

Plus some manual editing to re-align everything. Thanks! :)
2021-02-01 09:54:32 +01:00
Ben Wiederhake fa642eb7d0 Base: Fix wrong offset for Numpad and later keys
This seems to be the last remaining fallout of
8733da652e.
2021-02-01 09:54:32 +01:00
Andreas Kling 6e4e3a7612 Kernel: Remove pledge exception for sys$getsockopt() with SO_PEERCRED
We had an exception that allowed SOL_SOCKET + SO_PEERCRED on local
socket to support LibIPC's PID exchange mechanism. This is no longer
needed so let's just remove the exception.
2021-01-31 09:29:27 +01:00
Andreas Kling 90343eeaeb Revert "Kernel: Return -ENOTDIR for non-directory mount target"
This reverts commit b7b09470ca.

Mounting a file on top of a file is a valid thing we support.
2021-01-30 13:52:12 +01:00
Linus Groh c7ca0a5fef Base: Add missing "ß" to DE keymap 2021-01-29 23:21:07 +01:00
Linus Groh 8fa8dda97c Base: Add missing umlauts to DE keymap 2021-01-29 23:21:07 +01:00
Linus Groh b1b015c052 Base: Fix missing "£" in GB keymap
Shift+3 is "£", not "#".
2021-01-29 23:21:07 +01:00
Linus Groh f70a364a83 Base: Reformat some keymaps
This is in line with all the other ones, and makes finding the same keys
in each map array a little easier.
2021-01-29 23:21:07 +01:00
Andreas Kling d0c5979d96 Kernel: Add "prot_exec" pledge promise and require it for PROT_EXEC
This prevents sys$mmap() and sys$mprotect() from creating executable
memory mappings in pledged programs that don't have this promise.

Note that the dynamic loader runs before pledging happens, so it's
unaffected by this.
2021-01-29 18:56:34 +01:00
Linus Groh dbbc378fb2 Kernel: Return -ENOTBLK for non-block device Ext2FS mount source
When mounting an Ext2FS, a block device source is required. All other
filesystem types are unaffected, as most of them ignore the source file
descriptor anyway.

Fixes #5153.
2021-01-29 08:45:56 +01:00
Linus Groh b7b09470ca Kernel: Return -ENOTDIR for non-directory mount target
The absence of this check allowed silly things like this:

    # touch file
    # mount /dev/hda file
2021-01-29 08:45:56 +01:00
Itamar fa18010477 HackStudio: Integate with C++ parser-based autocomplete
By default, C++ auto completion will still be performed by the
lexer-based logic.
However, the parser-based logic can be switched on via the menubar.
2021-01-27 21:10:57 +01:00
Linus Groh 22df4727b1 Base: Update crash(1) man page
Update the outdated list of options, mention UserspaceEmulator, update
example shell output.
2021-01-26 11:40:08 +01:00
Ben Wiederhake b0b8953ec1 Base: Fix syscall/libc manpage sorting 2021-01-23 16:47:09 +01:00
Linus Groh d37efbe647 Base: Move house on home-directory*.png icons to the left
Otherwise it might be covered by the symlink overlay, which looks silly.
2021-01-23 08:29:27 +01:00
asynts ea7b7d8ceb Everywhere: Replace a bundle of dbg with dbgln.
These changes are arbitrarily divided into multiple commits to make it
easier to find potentially introduced bugs with git bisect.
2021-01-22 22:14:30 +01:00
Linus Groh 421587c15c Everywhere: Fix typos 2021-01-22 18:41:29 +01:00
Andreas Kling 47a4a5ac1d Base: Add root to the /etc/shadow file
The password is still empty by default, but being present in the shadow
file is now a requirement for authentication.
2021-01-21 11:35:32 +01:00
Nico Weber 362bde4a86 SystemServer.ini: Default to not showing network change notifications
Until someone has time to implement something for not showing the
very first network change at boot, let's turn off notifications for
network changes by default altogether. Having to dismiss this
notification at every boot gets old fast.
2021-01-20 21:01:21 +01:00
Nico Weber 5ad2cbe9ad Base: Add 2x images for arrow cursor and window buttons
The window close buttons look correct.

The arrow cursor isn't quite right yet:
- its shadow was nearest-neighbor upscaled from the 1x version
- the arrow handle looks a bit too chubby

But it's a start, and maybe someone with better gimp skills than me can
pretty it up later.
2021-01-20 10:28:27 +01:00
AnotherTest 10c3168fa0 Base: Remove irrelevant example from Shell's loop manpage section
Seems like it was copied one too many times.
2021-01-18 08:56:34 +01:00
AnotherTest ffd74a2c5a Base: Mention that the if condition is a command
Sorta closes #4991.
2021-01-18 08:56:34 +01:00
Andreas Kling bf0719092f Kernel+Userland: Remove shared buffers (shbufs)
All users of this mechanism have been switched to anonymous files and
passing file descriptors with sendfd()/recvfd().

Shbufs got us where we are today, but it's time we say good-bye to them
and welcome a much more idiomatic replacement. :^)
2021-01-17 09:07:32 +01:00
Nico Weber ca264030a2 WindowServer: Put default ScaleFactor in ini file
No behavior change. Matches Width and Height which also explicitly
have their default value in the ini file.
2021-01-17 08:06:12 +01:00
Brendan Coles aa8cb35b90 TextEditor: Add help documentation 2021-01-16 19:35:08 +01:00
Nick Vella 40083444a0 Run: initial implementation of Run app 2021-01-16 09:05:01 +01:00
Nico Weber 699ba84bea DisplaySettings: Rename wallpaper setting "scaled" to "stretch"
I want to add a scale factor for picking pixel density, and using
the same terminology for wallpaper handling would be confusing.
2021-01-15 19:13:46 +01:00
AnotherTest ddd0c1dd8b Base: Add manpage entry for history events 2021-01-15 19:13:03 +01:00
Nico Weber d551263b11 LibGfx: Make it possible to apply an (integer) scale to a Painter
This adds a scale factor to Painter, which will be used for HighDPI
support. It's also a step towards general affine transforms on Painters.

All of Painter's public API takes logical coordinates, while some
internals deal with physical coordinates now. If scale == 1, logical
and physical coordinates are the same. For scale == 2, a 200x100 bitmap
would be covered by a logical {0, 0, 100, 50} rect, while its physical
size would be {0, 0, 200, 100}.

Most of Painter's functions just assert that scale() == 1 is for now,
but most functions called by WindowServer are updated to handle
arbitrary (integer) scale.

Also add a new Demo "LibGfxScaleDemo" that covers the converted
functions and that can be used to iteratively add scaling support
to more functions.

To make Painter's interface deal with logical coordinates only,
make translation() and clip_rect() non-public.
2021-01-12 23:32:54 +01:00
Andreas Kling 20a18d2137 Demos: Remove HelloWorld demo 2021-01-12 13:17:00 +01:00
Andreas Kling 254312aa22 Revert "Themes: Tweak "Sunshine" theme colors slightly"
This reverts commit 0ae9ae48fa.

@bcoles informs me that these match Solaris 9 and it checks out.
I don't know what version I was comparing against, and who cares?
2021-01-12 08:49:18 +01:00
Andreas Kling f03800cee3 Kernel: Add dedicated "ptrace" pledge promise
The vast majority of programs don't ever need to use sys$ptrace(),
and it seems like a high-value system call to prevent a compromised
process from using.

This patch moves sys$ptrace() from the "proc" promise to its own,
new "ptrace" promise and updates the affected apps.
2021-01-11 22:32:59 +01:00
Andreas Kling 0ae9ae48fa Themes: Tweak "Sunshine" theme colors slightly
Bring them a little closer to the original CDE colors. :^)
2021-01-11 21:49:39 +01:00
Emanuele Torre a330f37f06 Base: Change anon's default password from "foo\n" to just "foo". 2021-01-10 16:40:05 +01:00
Andreas Kling 9a688af4b1 LibCore+passwd+su+Base: Add /etc/shadow to hide hashes from users :^)
This patch moves the user account password hashes from /etc/passwd,
where they were world-readable, to /etc/shadow, where only root can
access them.

The Core::Account class is extended to support both authentication
against, and modification of /etc/shadow.

The default password for "anon" as of this commit is "foo" :^)
2021-01-09 19:41:12 +01:00
TheMorc 30ef10a5b9 SpaceAnalyzer: use "Proper Noun" name style 2021-01-09 13:59:23 +01:00
Itamar e318a3d3d4 little: Remove "-Os" compile flag
This flag made gcc generate location info of type "location_list" for
'my_struct', which we do not yet support in LibDebug.
2021-01-09 10:55:46 +01:00
Mart G e575d3fd3d Utilities: Add a disk space usage analyzation program.
SpaceAnalyzer: Partially address code review changes.

- Use GUI::CommonActions::make_about_action().
- Pass large arguments by const reference instead of by value.
- Mark const functions as such.
- Add newline at end of SpaceAnalyzer.af
- Use full words instead of abbreviations in variable names.
- Use application's namespace instead of 'TreeMap'.
- move() certain assignments.
- Use member declaration initialization.
- Initialize TreeNode* member of QueueEntry.
- Rewrite find_mount_for_path to return MountInfo* instead.
- Rename ITreeMap and ITreeMapNode to TreeMap and TreeMapNode.
- Replace ext suffix with rect suffix for rectangles.

SpaceAnalyzer: Further address code review and coding style.

- Remove get prefix from accessor functions.
- Layout algorithm in its own function, with callback.
- Remove nullptr comparisons.
- Store lstat errors in error_accumulator.
- Use Rect::shatter.
- Use Rect's orientation based functions.

SpaceAnalyzer: Make sort_children_by_area const qualified.
2021-01-08 17:08:48 +01:00
Brendan Coles d0a9954f0e Userland: Add ddate utility
Today is Boomtime, day 7 of Chaos, in the YOLD 3187
2021-01-08 09:42:43 +01:00
Brendan Coles fb9eb20544 date: Use ArgsParser and add ISO8601 / RFC3339 / RFC5322 output formats 2021-01-07 20:17:44 +01:00
Brendan Coles 81c5b35dce Base: Add tar man page documentation 2021-01-06 15:40:26 +01:00
Davide Carella 2444bf6d3b Keymaps: Created a new keymap for Italian keyboards.
It now supports curly braces thanks to the new Shift+AltGr map.
2021-01-06 09:32:08 +01:00
Andreas Kling 8a5c1d1d4e Browser: Add a very basic content filter list
Let's start out with something small, just to make sure the feature
gets tested.
2021-01-05 21:58:14 +01:00
Brendan Coles 5c0c4f4b2d Playground: Support opening gml file by path as command line argument 2021-01-05 17:12:54 +01:00
TheMorc 688d249b2d Base: add 32x32 icon for Theme Editor, Hello World and Solitaire 2021-01-05 14:02:58 +01:00
Andreas Kling 47d98a5b9f Base: Tweak app names to be in "Proper Noun" style 2021-01-04 23:55:28 +01:00
Brendan Coles 1f03b6ad57 Playground: Add help documentation 2021-01-04 18:50:26 +01:00
Brendan Coles 4d32121293 man: Rename manual section 1 to "User programs" 2021-01-03 17:14:50 +01:00
Brendan Coles 35fe1b39a2 FontEditor: Add help documentation 2021-01-03 13:22:00 +01:00
TheMorc 7be2c9864e Demos: add CatDog (Neko clone) 2021-01-03 12:57:18 +01:00
Brendan Coles a50583ade1 Base: Add Terminal man page documentation 2021-01-02 11:43:42 +01:00
Brendan Coles 9bdffc9eb4 Calculator: Add app-calculator.png 32x32 icon 2021-01-02 03:22:44 +01:00
Andreas Kling d51bbe1e20 Help: Add a simple index page
Let's show something a bit more welcoming than empty white when the user
launches the Help application. :^)
2021-01-02 02:41:16 +01:00
Brendan Coles d1d729370e Games: Add Conway 2021-01-01 22:51:37 +01:00
Brendan Coles f2973875e3 Base: Add Coffee theme 2021-01-01 13:10:54 +01:00
Andreas Kling e82195ed1d Base: Add 32x32 variant of the hard-disk icon 2021-01-01 01:48:07 +01:00
Andreas Kling 78fbfd7795 Meta: Update project copyright dates (2018-2021) :^) 2021-01-01 01:14:16 +01:00
AnotherTest e7e5a5e677 Base: Add Amazon's intermediate root certificate (Server CA 1B) 2020-12-30 13:31:55 +01:00
Andreas Kling 5e46a911ae Base: Remove some low-quality color themes 2020-12-30 12:53:50 +01:00
AnotherTest 20b74e4ede LibGUI+HackStudio: Add an opt-in autocompletion interface to TextEditor
...and use that to implement autocomplete in HackStudio.

Now everyone can have autocomplete :^)
2020-12-30 12:53:39 +01:00
Idan Horowitz 7e457b98c3 Terminal: Remove redundant scroll length settings option
This is no longer needed as a global one is now available
under mouse settings.
2020-12-30 11:58:52 +01:00
Idan Horowitz fd945c8007 Applications: Added a new MouseSettings application
This app allows the user to easily adjust his mouse's acceleration
as well as the scrollwheel's global scroll length.

The mouse acceleration changes would not be noticeable in qemu as
by default serenity uses VMWareBackdoor when available which lets
the host handle mouse movement instead of the guest (Serenity),
so in order to test this on a none-baremetal pc the VMWareBackdoor
has to be disabled.
2020-12-30 11:58:52 +01:00
Idan Horowitz db409db4e9 WindowServer: Added configurable mouse acceleration and scroll length
The settings are also saved to the config file to survive reboots.
2020-12-30 11:58:52 +01:00
AnotherTest 5e5eb615ec Shell: Add runtime errors and implement break/continue
Such errors are raised when SyntaxError nodes are executed, and are also
used for internal control flow.
The 'break' and 'continue' commands are currently only allowed inside
for loops, and outside function bodies.

This also adds a 'loop' keyword for infinite loops.
2020-12-29 16:55:43 +01:00
Linus Groh b13b27b4d2 Applications: Add CrashReporter :^)
This is a simple application that can read a coredump file and display
information regarding the crash, like the application's name and icon
and a backtrace. It will be launched by CrashDaemon whenever a new
coredump is available.
Also, it's mostly written in GML! :^)

Closes #400, but note that, unlike mentioned in that issue, this
implementation doesn't ignore applications that "have been started in
the terminal". That's just overcomplicating things, IMO. When my js(1)
REPL segfaults, I want to see a backtrace!
2020-12-29 15:42:30 +01:00
Brendan Coles 2ad5bfd78e Themes: Sunshine: Tweak window-close 16x16 icon 2020-12-29 02:32:06 +01:00
Brendan Coles c1360ef22e Themes: Add Sunshine theme 16x16 window icons 2020-12-29 02:20:37 +01:00
Brendan Coles c006952aeb Base: Add pape man page documentation 2020-12-29 01:02:01 +01:00
AnotherTest f17874ecd2 Spreadsheet: Add a 'contents' getter/setter to Position
This makes it possible to change the cells' contents programmatically!
2020-12-29 00:58:43 +01:00
Idan Horowitz 6efdabfc6f Base: Rename maximize/minimize icons to a more generic name
This reduces naming confusion when the icons are used for other
use cases that require a triangle shape
2020-12-28 11:40:35 +01:00