Andreas Kling
31ec4de0ee
LibVT: Show the hover hand cursor when hovering over hyperlinks :^)
2020-05-09 17:04:12 +02:00
Andreas Kling
7b34f5bb92
LaunchServer: Don't use SystemServer keepalive
2020-05-09 16:57:35 +02:00
Andreas Kling
f41cd808de
TextEditor: Use JS syntax highlighting for .json files :^)
2020-05-09 16:48:28 +02:00
Andreas Kling
3422019e35
AK: Unbreak parsing of file:// URLs with no host
...
We should still accept file:/// in the URL parser. :^)
2020-05-09 16:47:05 +02:00
Andreas Kling
27d1e7f432
LibVT: Add "Open URL" and "Copy URL" to TerminalWidget context menu
...
These only show up when you right click a hyperlinked character cell.
2020-05-09 16:42:42 +02:00
Andreas Kling
7aa2acefd0
WindowServer: Cancel any ongoing input tracking when a menu pops up
...
When the user opens a context menu by right-clicking on something,
we now immediately stop sending mouse events to whoever was doing
active input window tracking before.
There are probably more situations where we should do this, and maybe
there's also a more generic way to express it, but this works for now.
2020-05-09 16:40:13 +02:00
Andreas Kling
4330046aff
LibMarkdown: Turn absolute links into hyperlinks in terminal output :^)
...
I'm not completely sure how to handle this nicely for relative links
but it would be nice to do that too.
2020-05-09 16:23:41 +02:00
Andreas Kling
00b87167fe
ls: Make filenames in the output hyperlinked
...
This allows you to Ctrl+Click in Terminal to open files in "ls" output.
2020-05-09 16:17:47 +02:00
Andreas Kling
f596b12a04
LibVT+Terminal: Support hyperlinks in the terminal :^)
...
We now support basic hyperlinking in the terminal with <OSC>;8;;URL<ST>
Links are opened via LaunchServer on Ctrl+LeftMouse.
2020-05-09 16:16:16 +02:00
Andreas Kling
427863f275
LibDesktop: Don't resolve relative URL's, expect absolute URLs instead
...
It's not our job in LibDesktop to resolve relative URLs on behalf of
callers, so let's just not do that. :^)
2020-05-09 16:14:56 +02:00
Andreas Kling
15601988a4
AK: Allow file:// URLs to have a hostname
2020-05-09 16:14:37 +02:00
Andreas Kling
68991855ef
Base: Open https:// URLs in Browser
2020-05-09 15:17:29 +02:00
Andreas Kling
3d41cc849c
LaunchServer: Run with portal permissions 600
...
The LaunchServer is personal to "anon" and we don't want other users
accessing it to launch anything.
2020-05-09 15:16:16 +02:00
Nicholas Hollett
b7810a31c3
LibDesktop: Switch to LaunchServer for DesktopServices::open
...
Moves DirectoryServices out of LibCore (because we need to link with
LibIPC), renames it Desktop::Launcher (because Desktop::DesktopServices
doesn't scan right) and ports it to use the LaunchServer which is now
responsible for starting programs for a file.
2020-05-09 15:13:32 +02:00
Nicholas Hollett
2708cc0f72
LaunchServer: Add the LaunchServer to centralise file associations.
...
Step one of moving DesktopServices::open handling out of process. This
makes it easier to do things like read in associations for which program
opens which files or protocols. This gives users the ability to modify
the associations without having to rebuild :^)
2020-05-09 15:12:56 +02:00
Andreas Kling
b65ca3b944
LibVT: Make Terminal::Line non-copyable and non-movable
2020-05-09 13:20:01 +02:00
Andreas Kling
9c927538ad
Kernel: ioctl(TCSETSF) on a TTY should flush input
...
This is where we end up when calling tcsetattr() with TCSAFLUSH.
This fixes vttest not accepting the first keystroke as input.
2020-05-09 12:30:51 +02:00
Andreas Kling
a0616d96bf
LibVT: Make the Xterm/OSC sequence parsing a bit more robust
...
Tolerate sequences ending in both <0x07> (BEL) and <0x1b> <0x5c> (ST).
The former is apparently an Xterm extension and the latter is standard.
2020-05-09 12:08:41 +02:00
Andreas Kling
283bd1a95c
LibVT: Respond to DSR 0 (device status)
...
Also emit query responses in a single write() syscall instead of going
character-at-a-time.
2020-05-09 12:02:22 +02:00
Peter Nelson
b1fee13904
LibGfx: Implement GIFImageDecoderPlugin animation methods
...
GIFImageDecoderPlugin now lazily decodes GIF frames as they are
requested.
2020-05-09 12:01:59 +02:00
Peter Nelson
ddc4eb7be0
LibGfx: Optimise LZWDecoder
...
Various optimisations to speed up LZWDecoder
- Take advantage of the fact that we add new codes in the order they are
discovered so no need to store the code as part of a separate
CodeTableEntry structure. Instead we store directly store vectors of
colors and the code is the index into the vector.
- Cache current table capacity to avoid calling pow2 every time.
- Prevent some unnecessary vector copies by returning by reference from
get_output.
2020-05-09 12:01:59 +02:00
Peter Nelson
b8f5b81019
LibWeb: Add support for animated images to HTMLImageElement
...
Uses a Core::Timer (similar to HTMLBlinkElement) to transition between
frames of an animated image. Also keeps track of the number of animation
loops.
2020-05-09 12:01:59 +02:00
Peter Nelson
d22bb92764
LibGfx: Add support for animated images to ImageDecoder{Plugin}
...
Adds methods to determine whether an image is animated, how many times
the animation loops, the number of frames, and to get individual frames.
Implements stubs of these methods for PNGImageDecoderPlugin and
GIFImageDecoderPlugin.
2020-05-09 12:01:59 +02:00
Ben Wiederhake
eec99b23a0
Userland: Remove double-'#include' in date.cpp
2020-05-09 10:00:29 +02:00
Hüseyin ASLITÜRK
3874664752
Applications: FontEditor, relocate form items by fonts size
...
FontEditor widget rewritten for respect to the font size and added fixed width and height header values.
2020-05-09 10:00:13 +02:00
Hüseyin ASLITÜRK
e68a08ad7c
LibGfx: Add new methods to Font to avoid embedded values in FontEditor
2020-05-09 10:00:13 +02:00
Hüseyin ASLITÜRK
6f2837cb13
Base: Move 32px font editor app icon under 32x32 folder
2020-05-09 10:00:13 +02:00
Andreas Kling
6808ad1607
Meta: Update ReadMe a bit, add link to issue policy
2020-05-09 09:51:12 +02:00
Linus Groh
f8c7ab55f8
LibWeb: Implement "text-transform: {upper,lower}case"
2020-05-08 23:04:54 +02:00
Andreas Kling
5bfd893292
Kernel+Userland: Add "settime" pledge promise for setting system time
...
We now require the "settime" promise from pledged processes who want to
change the system time.
2020-05-08 22:54:17 +02:00
Andreas Kling
1cddb1055f
Kernel: Only allow superuser to call sys$clock_settime()
2020-05-08 22:47:21 +02:00
Andreas Kling
652b22ee9c
Kernel: Remove SmapDisabler in sys$clock_settime()
2020-05-08 22:47:03 +02:00
Andreas Kling
6e9c57fcc3
LibWeb: Generate a new list item marker on every layout
...
This is a workaround for the silly issue where some content would move
one pixel upward on every layout. The block layout code was finding
the list item marker and doing regular inline layout on it. We were not
prepared to handle this, which caused it to move in a silly way.
For now, just regenerate markers on every layout to work around the
issue. In the future we should figure out a nice way to layout markers.
2020-05-08 22:40:20 +02:00
Andreas Kling
85a3678b4f
Kernel: Assert on startup if we don't find any physical pages
...
Instead of checking this on every page allocation, just check it once
on startup. :^)
2020-05-08 22:15:02 +02:00
Andreas Kling
55f61c0004
Kernel: Add for_each_vmobject_of_type<T>
...
This makes iterating over a specific type of VMObjects a bit nicer.
2020-05-08 22:10:47 +02:00
Andreas Kling
239fd33405
Services: Move Taskbar and SystemMenu from Applications to Services
2020-05-08 22:00:41 +02:00
Andreas Kling
cf3b58fbe8
Services: Renamed from Servers
...
It didn't feel right to have a "DHCPClient" in a "Servers" directory.
Rename this to Services to better reflect the type of programs we'll
be putting in there.
2020-05-08 21:57:44 +02:00
Andreas Kling
042b1f6814
Kernel: Propagate failure to commit VM regions in more places
...
Ultimately we should not panic just because we can't fully commit a VM
region (by populating it with physical pages.)
This patch handles some of the situations where commit() can fail.
2020-05-08 21:47:08 +02:00
Andreas Kling
25db315b29
LibIPC: Use NonnullOwnPtrVector<Message> in IPC::ServerConnection
...
We never want to store null messages, so make it impossible to do so.
2020-05-08 21:40:06 +02:00
Andreas Kling
d69fd87b50
AK: Add templated NonnullOwnPtr::release_nonnull()
...
This allows you to release a NonnullOwnPtr<T> into a NonnullOwnPtr<U>
2020-05-08 21:38:47 +02:00
Andreas Kling
788293ead8
Browser: Move InspectorWidget into the Browser namespace
2020-05-08 21:38:30 +02:00
Andreas Kling
c24304dca3
Kernel: Use NonnullRefPtrVector for HardwareTimer and HPETComparator
2020-05-08 21:22:58 +02:00
Andreas Kling
03c91fce74
LibGUI: Highlight interactive area of hovered CheckBox and RadioButton
...
This is consistent what we do for regular Buttons and gives a pleasant
visual cue when you're over a clickable area.
2020-05-08 21:12:16 +02:00
Andreas Kling
d92f62db43
Kernel: Remove ref-counting from interrupt override metadata
...
I don't see a reason for these to be reference-counted, and removing it
simplifies a bunch of surrounding data structures.
2020-05-08 21:12:16 +02:00
Andreas Kling
d87f875552
SystemServer: Use NonnullRefPtrVector
2020-05-08 21:12:16 +02:00
Andreas Kling
d74650e80d
Kernel: Use NonnullRefPtrVector<T> instead of Vector<RefPtr<T>> some
2020-05-08 21:12:16 +02:00
AnotherTest
bd12f132f3
LibJS: Correct tiny issue with passing a String to String::format
...
I'm not sure how this even _builds_
2020-05-08 21:02:47 +02:00
AnotherTest
0901b17126
LibJS: Be a bit more explicit about sizeof(buf) / sizeof(FlatPtr)
...
This (seemingly) no-op cast communicates our intention to clang
2020-05-08 21:02:47 +02:00
Linus Groh
e333b60064
LibJS: Add Array.of()
2020-05-08 20:06:49 +02:00
Linus Groh
ca22476d9d
LibJS: Add Array.isArray()
2020-05-08 20:06:49 +02:00