summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-19Base: Add Demo applications to system menuLinus Groh
2020-04-19Kernel: rmdir("/") should fail instead of assertingAndreas Kling
We can't assume there's always a parent custody -- when we open "/" there isn't gonna be one! Fixes #1858.
2020-04-19test_io: Unbreak symlink test after sys$readlink() '\0' changesAndreas Kling
2020-04-19LibGfx: Let the PNG decoder fail if the header is missing or too shortAndreas Kling
2020-04-19LibJS: Do not assume that a call frame exists in {get,set}_variableAnotherTest
2020-04-19LibJS: Allow passing "js" flags to run-testsAndreas Kling
This allows us to run "run-tests -g" for testing with GC after every heap allocation. This may flush out bugs that would otherwise not occur if GC'ing only occasionally.
2020-04-19LibJS: Add MarkedValueList and use it for argument passingAndreas Kling
A MarkedValueList is basically a Vector<JS::Value> that registers with the Heap and makes sure that the stored values don't get GC'd. Before this change, we were unsafely keeping Vector<JS::Value> in some places, which is out-of-reach for the live reference finding logic since Vector puts its elements on the heap by default. We now pass all the JavaScript tests even when running with "js -g", which does a GC on every heap allocation.
2020-04-19LibLine: Allow suggestions to have trailing trivia stringsAnotherTest
These strings would be applied when inserted into the buffer, but are not shown as part of the suggestion. This commit also patches up Userland/js and Shell to use this functionality
2020-04-19LibLine: Complete only common prefixes, and tweak suggestion logicAnotherTest
On the first tab, only complete the token without suggesting extra stuff, and on further tabs, show suggestions. Except in one case where the completion is all in the buffer, then we show the suggestions, but do no completion.
2020-04-19FileManager: Replicate permissions on directory copy (#1437)angel
When copying files, the original file permissions are applied to the copy. However, this was not done with directories. This should do it.
2020-04-19Shell: Don't return early if command is in PATH and a directoryLinus Groh
2020-04-19FileManager: Fix recursive copy on dragangel
When a drag operation is accepted, we don't check whether the source nodes contain the destination directory. This could trigger an unwanted recursive copy.
2020-04-19Shell: Explicitly check if command is a directoryLinus Groh
This is a bit nicer than getting "Exec format error" after trying to execvp() a directory.
2020-04-19FileManager: Ignore empty selections on tree viewangel
If the selection is empty, the model index will be invalid and the file system model will return the root directory path by default. This causes the file manager to jump to the root directory when the currently selected item on the tree view is deselected.
2020-04-19Base: Update js(1) manpageLinus Groh
- Include all options - Update example REPL session to match current output - Mention REPL's help() - Add test mode section
2020-04-19LibJS: Fix expectations in the function-TypeError.js testAndreas Kling
They now match the new, more verbose error messages.
2020-04-19LibJS: CallExpression shouldn't throw TypeError or non-constructor callAndreas Kling
This unbreaks the entire test suite. :^)
2020-04-19Browser: Make removal of bookmark persistent (#1865)Vojtech Moravec
Json model wasn't stored after bookmark removal. Store the model if remove() was successful.
2020-04-19WindowServer: Remove debug spam in set_active_window()Andreas Kling
2020-04-19WindowServer: Don't automatically focus desktop window when addedAndreas Kling
Normally we focus any window that's added to the window stack. However, for WindowType::Desktop this gets annoying since if the desktop manager comes up after other GUI processes have already started, it steals the focus from them. Solve this by only auto-focusing desktop windows if they are the very first window added.
2020-04-19LibJS: Add DeferGC, a RAII way to prevent GC temporarilyAndreas Kling
2020-04-19Base: Document open(1)Sergey Bugaev
2020-04-19Userland: Add open(1)Sergey Bugaev
This is a simple utility for invoking Core::DesktopServices::open() from command line :^)
2020-04-19Browser: Fix opening non-file URLs passed in argvSergey Bugaev
2020-04-19AK: Add URL::create_with_url_or_path()Sergey Bugaev
This is an utility to create a URL from a given string, which may be either a URL such as http://example.com (which will be used as-is), or a file path such as /etc/fstab (which will be transformed into file:///etc/fstab).
2020-04-19AK: Consider more URLs invalidSergey Bugaev
Not just http or https. This fixes "foo" being recognized as a valid URL with protocol "foo", empty host and empty path.
2020-04-19LibCore: Check for fork() failureSergey Bugaev
For those good boy points :^)
2020-04-19LibCore+LibGUI: Move DesktopServices to LibCoreSergey Bugaev
2020-04-19LibJS: Improve CallExpression::execute()'s error messagesLinus Groh
2020-04-19Base: Update Redmond theme window borders to appear less flatBrendan Coles
2020-04-19Ports: Add frotz port (#1859)Noah Rosamilia
2020-04-19Demos: Add Screensaver demoBrendan Coles
2020-04-19LibJS: Add Array.prototype.sliceKesse Jones
2020-04-19WindowServer/LibGUI: Enforce minimum window sizeLinus Groh
2020-04-18LibJS: Use AK::String::index_of() for StringPrototype::index_of()Linus Groh
2020-04-18LibJS: Allow reserved words as keys in object expressions.Stephan Unverwerth
2020-04-18WindowServer: Allow WindowType::Desktop windows to become activeAndreas Kling
This allows us to focus the desktop and interact with it normally. :^)
2020-04-18Base: Start a desktop FileManager by default! :^)Andreas Kling
2020-04-18Build: Make sure to create a /home/anon/Desktop directoryAndreas Kling
2020-04-18FileManager: Allow running in desktop modeAndreas Kling
FileManager can now be started with the --desktop argument. When it's started in this mode, it will run as a WindowType::Desktop window and not create any of its regular UI. The desktop version of the file manager is currently pretty bare-bones but we can improve it over time and share more code with the regular file manager windows. I think this is pretty cool! :^)
2020-04-18FileManager: Use URL::create_with_file_protocol() in one placeAndreas Kling
2020-04-18Browser: Use URL::create_with_file_protocol() in one placeAndreas Kling
2020-04-18AK: Add URL::create_with_file_protocol(path)Andreas Kling
This is a convenience helper that allows you to easily construct a file:// URL from an absolute path.
2020-04-18FileManager: Use GUI::DesktopServices::open() to open filesAndreas Kling
Instead of squirreling away this logic deep in the FileManager app, we now delegate file opening to GUI::DesktopServices.
2020-04-18LibGUI: Add GUI::DesktopServices::open(URL)Andreas Kling
This API is used to open a URL in whatever way the desktop system feels is best. If you give it a file:// URL, it will try to work out a good application to open the URL with. For all other protocols, it will open a Browser instance. :^)
2020-04-18LibGUI: Make view widgets fill background by defaultAndreas Kling
Most clients will want background autofill, so let's make it the default mode.
2020-04-18LibGUI: Fix ItemView crash when rubberbanding in main widget viewAndreas Kling
For some reason this was trying to access the Palette of the parent widget which is obviously not going to work if the ItemView itself is the main widget in its window.
2020-04-18LibGUI: Make ItemView respect Widget::fill_with_background_color()Andreas Kling
This makes it possible to create a see-through ItemView. :^)
2020-04-18WindowServer: Give the desktop window the whole exact desktop rectAndreas Kling
2020-04-18WindowServer: Add WindowType::DesktopAndreas Kling
This new window type can be used to implement a desktop file manager for example. :^)