Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								75b8f4e4e6 
								
							 
						 
						
							
							
								
								LibGUI: Make focus events more aware of why focus is changing  
							
							... 
							
							
							
							This patch adds GUI::FocusEvent which has a GUI::FocusSource.
The focus source is one of three things:
- Programmatic
- Mouse
- Keyboard
This allows receivers of focus events to implement different behaviors
depending on how they receive/lose focus. 
							
						 
						
							2020-08-15 00:05:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								ce95628b7f 
								
							 
						 
						
							
							
								
								Unicode: Try s/codepoint/code_point/g again  
							
							... 
							
							
							
							This time, without trailing 's'. Ran:
    git grep -l 'codepoint' | xargs sed -ie 's/codepoint/code_point/g 
							
						 
						
							2020-08-05 22:33:42 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								19ac1f6368 
								
							 
						 
						
							
							
								
								Revert "Unicode: s/codepoint/code_point/g"  
							
							... 
							
							
							
							This reverts commit ea9ac3155d 
							
						 
						
							2020-08-05 22:33:42 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ea9ac3155d 
								
							 
						 
						
							
							
								
								Unicode: s/codepoint/code_point/g  
							
							... 
							
							
							
							Unicode calls them "code points" so let's follow their style. 
							
						 
						
							2020-08-03 19:06:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								226c0cfb20 
								
							 
						 
						
							
							
								
								LibVT: Don't scroll to bottom when pressing the right shift key  
							
							
							
						 
						
							2020-07-12 14:32:39 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tom 
								
							 
						 
						
							
							
							
							
								
							
							
								df54229954 
								
							 
						 
						
							
							
								
								LibVT: Set scrollbar page size  
							
							
							
						 
						
							2020-07-09 21:56:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0c4b0c0312 
								
							 
						 
						
							
							
								
								Terminal+LibVT: Add "clear including history" action (Ctrl+Shift+K) :^)  
							
							... 
							
							
							
							Sometimes you just want to get rid of all your scrollback history in
the terminal, and now there's a way to do that. 
							
						 
						
							2020-07-05 23:34:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d851863704 
								
							 
						 
						
							
							
								
								Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includes  
							
							
							
						 
						
							2020-07-04 17:25:31 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								11c4a28660 
								
							 
						 
						
							
							
								
								Kernel: Move headers intended for userspace use into Kernel/API/  
							
							
							
						 
						
							2020-07-04 17:22:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ca93c22ae2 
								
							 
						 
						
							
							
								
								LibGUI: Turn GUI::Application::the() into a pointer  
							
							... 
							
							
							
							During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.
This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown. 
							
						 
						
							2020-07-04 16:54:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								14477eb565 
								
							 
						 
						
							
							
								
								Terminal: Bump the default ScrollLength to 4  
							
							... 
							
							
							
							This feels so much better than scrolling one line at a time. :^) 
							
						 
						
							2020-06-30 18:33:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benoît Lormeau 
								
							 
						 
						
							
							
							
							
								
							
							
								310fbe48e5 
								
							 
						 
						
							
							
								
								LibVT/Terminal: add a scroll length to the TerminalWidget  
							
							... 
							
							
							
							The scroll length is the number of lines by which the terminal will go
up/down when scrolling the mouse wheel once. 
							
						 
						
							2020-06-30 18:24:00 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								d1d01897a3 
								
							 
						 
						
							
							
								
								Terminal: Ignore cell background when visual beep is active  
							
							... 
							
							
							
							Fixes  #2621  
						
							2020-06-25 10:57:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Hüseyin ASLITÜRK 
								
							 
						 
						
							
							
							
							
								
							
							
								7abca30f41 
								
							 
						 
						
							
							
								
								LibVT: Replace u8 type to u32 for code point  
							
							... 
							
							
							
							Replace KeyEvent text attribute usage with code_point. 
							
						 
						
							2020-06-16 13:15:17 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fdfda6dec2 
								
							 
						 
						
							
							
								
								AK: Make string-to-number conversion helpers return Optional  
							
							... 
							
							
							
							Get rid of the weird old signature:
- int StringType::to_int(bool& ok) const
And replace it with sensible new signature:
- Optional<int> StringType::to_int() const 
							
						 
						
							2020-06-12 21:28:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								116cf92156 
								
							 
						 
						
							
							
								
								LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize  
							
							... 
							
							
							
							This fits nicer with FloatRect,FloatPoint,FloatSize and gives a much
better visual clue about what type of metric is being used. 
							
						 
						
							2020-06-10 10:59:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								165f69023b 
								
							 
						 
						
							
							
								
								LibVT: Allow updating the window progress via an escape sequence  
							
							... 
							
							
							
							You can now request an update of the terminal's window progress by
sending this escape sequence:
<esc>]9;<value>;<max_value>;<escape><backslash>
I'm sure we can find many interesting uses for this! :^) 
							
						 
						
							2020-05-30 23:00:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sergey Bugaev 
								
							 
						 
						
							
							
							
							
								
							
							
								66c6e0035e 
								
							 
						 
						
							
							
								
								LibVT: Fix emitting \0 when pressing a modifier key  
							
							... 
							
							
							
							This causes the kernel to return EOF, which in turn confuses everything. This is
a regression from the LibVT port of VirtualConsole. 
							
						 
						
							2020-05-30 15:01:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sergey Bugaev 
								
							 
						 
						
							
							
							
							
								
							
							
								620697d924 
								
							 
						 
						
							
							
								
								LibVT: Move most of key press handling logic into VT::Terminal  
							
							... 
							
							
							
							This will let us share it between the userspace (TerminalWidget) and the Kernel. 
							
						 
						
							2020-05-27 11:19:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sergey Bugaev 
								
							 
						 
						
							
							
							
							
								
							
							
								602c3fdb3a 
								
							 
						 
						
							
							
								
								AK: Rename FileSystemPath -> LexicalPath  
							
							... 
							
							
							
							And move canonicalized_path() to a static method on LexicalPath.
This is to make it clear that FileSystemPath/canonicalized_path() only
perform *lexical* canonicalization. 
							
						 
						
							2020-05-26 14:35:10 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nicholas Hollett 
								
							 
						 
						
							
							
							
							
								
							
							
								181eacd3ba 
								
							 
						 
						
							
							
								
								LibVT: Pass the handler name to Launcher::open_url to control what gets launched  
							
							... 
							
							
							
							Now we can pick which application gets opened in the context menu for
URLs in the Terminal \o/ 
							
						 
						
							2020-05-18 11:27:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								30a3b8333a 
								
							 
						 
						
							
							
								
								LibVT: TerminalWidget now opts into emoji input by default :^)  
							
							
							
						 
						
							2020-05-17 22:35:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1b78d9fa1f 
								
							 
						 
						
							
							
								
								LibVT: Handle keydown events with multi-byte text correctly  
							
							... 
							
							
							
							TerminalWidget can now handle keydown events that contain multi-byte
UTF-8 sequences. :^) 
							
						 
						
							2020-05-17 22:35:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0d78ee95f9 
								
							 
						 
						
							
							
								
								LibVT: Make TerminalWidget::selected_text() produce UTF-8 strings :^)  
							
							
							
						 
						
							2020-05-17 22:35:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								7b5b4bee70 
								
							 
						 
						
							
							
								
								LibVT: Store all-ASCII terminal lines as 8-bit characters  
							
							... 
							
							
							
							To conserve memory, we now use byte storage for terminal lines until we
encounter a non-ASCII codepoint. At that point, we transparently switch
to UTF-32 storage for that one line. 
							
						 
						
							2020-05-17 12:32:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fa712d8aa5 
								
							 
						 
						
							
							
								
								LibVT: Don't try to set the window title to invalid UTF-8 text  
							
							
							
						 
						
							2020-05-16 19:55:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b8498dc55e 
								
							 
						 
						
							
							
								
								LibVT: Add incremental UTF-8 parsing to the terminal input handler  
							
							... 
							
							
							
							Instead of relying on the GUI code to handle UTF-8, we now process
and parse the incoming data into 32-bit codepoints ourselves.
This means that you can now show emojis in the terminal and they will
only take up one character cell each. :^) 
							
						 
						
							2020-05-16 19:49:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								06f3eb0ecd 
								
							 
						 
						
							
							
								
								LibVT: Tweak input parsing related names  
							
							
							
						 
						
							2020-05-16 19:30:46 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c4edc4c550 
								
							 
						 
						
							
							
								
								LibVT: Switch VT::Line to being backed by 32-bit codepoints  
							
							... 
							
							
							
							This will allow us to have much better Unicode support. It does incur
a memory usage regression which we'll have to optimize to cover. 
							
						 
						
							2020-05-16 19:30:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								16965db86b 
								
							 
						 
						
							
							
								
								LibVT: Move out the Line class from Terminal to its own class  
							
							
							
						 
						
							2020-05-15 18:57:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sergey Bugaev 
								
							 
						 
						
							
							
							
							
								
							
							
								450a2a0f9c 
								
							 
						 
						
							
							
								
								Build: Switch to CMake :^)  
							
							... 
							
							
							
							Closes https://github.com/SerenityOS/serenity/issues/2080  
							
						 
						
							2020-05-14 20:15:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f8e3c8326d 
								
							 
						 
						
							
							
								
								Terminal: When offering to open a URL, show name + icon for handler app  
							
							... 
							
							
							
							Instead of just saying "Open URL" when you right click on a hyperlink
in the terminal, we now say something like "Open in Browser". :^) 
							
						 
						
							2020-05-12 18:49:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								5b9fe0cf46 
								
							 
						 
						
							
							
								
								LibVT: Update the terminal buffer based on visible lines  
							
							... 
							
							
							
							Lines in the history should not be considered for update at all.
Fixes  #2185  
							
						 
						
							2020-05-11 09:33:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								666863c2d8 
								
							 
						 
						
							
							
								
								LibVT: Clear the hovered hyperlink after completing a drag  
							
							
							
						 
						
							2020-05-10 17:42:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f41bbdd46e 
								
							 
						 
						
							
							
								
								LibVT: Allow dragging hyperlinks :^)  
							
							... 
							
							
							
							You can now drag a hyperlink as a text/uri-list. This allows you to
drag a file from "ls" output and drop it on a FileManager to copy
the file there. Truly futuristic stuff! 
							
						 
						
							2020-05-10 17:39:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								901d2e3236 
								
							 
						 
						
							
							
								
								LibVT: Make selection follow terminal history scrollback :^)  
							
							... 
							
							
							
							The buffer positions referred to by a VT::Position now include history
scrollback, meaning that a VT::Position with row=0 is at the start of
the history.
The active terminal buffer keeps moving in VT::Position coordinates
whenever we scroll. This allows selection to follow history. It also
allows us to click hyperlinks in history.
Fixes  #957 . 
							
						 
						
							2020-05-10 16:59:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8af3af137e 
								
							 
						 
						
							
							
								
								LibVT: Use the "ActiveLink" theme color for links being clicked  
							
							... 
							
							
							
							Okay, links are finally starting to feel visually intuitive. :^) 
							
						 
						
							2020-05-10 16:14:49 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ab7de41c7b 
								
							 
						 
						
							
							
								
								LibVT: Don't commit to opening a hyperlink until mouseup  
							
							... 
							
							
							
							It felt too rushed to open links when simply mousedown'ing on them.
Improve this by implementing basic "click" semantics instead.
This patch also introduces the ability to prevent link opening if you
want to force selection instead. Hold shift and we will not open links. 
							
						 
						
							2020-05-10 16:01:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c10c6240f2 
								
							 
						 
						
							
							
								
								LibVT: Open hyperlinks on plain left-click instead of Ctrl+Click  
							
							
							
						 
						
							2020-05-10 13:45:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3226276fe9 
								
							 
						 
						
							
							
								
								LibVT: Always draw hyperlinks with a dotted underline  
							
							... 
							
							
							
							The dotted line is custom painted to put some more distance between the
dots than what Painter::draw_line() does. 
							
						 
						
							2020-05-10 13:43:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								8487806ec0 
								
							 
						 
						
							
							
								
								LibVT: Support RGB colors (\x1b[38;2;<r>;<g>;<b>m)  
							
							
							
						 
						
							2020-05-10 10:23:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c3aa249a36 
								
							 
						 
						
							
							
								
								LibVT: Snapshot the URL we're opening a context menu for  
							
							... 
							
							
							
							Otherwise it may get lost due to a leave event firing in the widget. 
							
						 
						
							2020-05-09 18:45:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								31ec4de0ee 
								
							 
						 
						
							
							
								
								LibVT: Show the hover hand cursor when hovering over hyperlinks :^)  
							
							
							
						 
						
							2020-05-09 17:04:12 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								b65ca3b944 
								
							 
						 
						
							
							
								
								LibVT: Make Terminal::Line non-copyable and non-movable  
							
							
							
						 
						
							2020-05-09 13:20:01 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								54d400c685 
								
							 
						 
						
							
							
								
								LibVT: Handle ctrl+arrow keys  
							
							... 
							
							
							
							Prior to this commit, we would treat them the same. 
							
						 
						
							2020-04-20 20:23:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								17b8857dc0 
								
							 
						 
						
							
							
								
								LibVT: Shift+Tab should generate ESC[Z  
							
							... 
							
							
							
							Fixes  #1751 . 
						
							2020-04-11 21:09:47 +02:00