Andreas Kling
2c81477f16
Terminal: Try to preserve line contents when resizing the terminal window.
...
This is still destructive when shrinking, but clearly better than throwing
everything away.
2019-07-08 19:02:08 +02:00
Andreas Kling
27f699ef0c
AK: Rename the common integer typedefs to make it obvious what they are.
...
These types can be picked up by including <AK/Types.h>:
* u8, u16, u32, u64 (unsigned)
* i8, i16, i32, i64 (signed)
2019-07-03 21:20:13 +02:00
Andreas Kling
438a14c597
Terminal: Track which character cells have had something printed in them.
...
This helps us figure out where lines end, which we need when computing the
selected text for copy-to-clipboard. :^)
2019-07-01 18:14:08 +02:00
Andreas Kling
daf44d5ec5
Terminal: Unbreak single-line text selection.
2019-06-30 15:11:56 +02:00
VAN BOSSUYT Nicolas
802d4dcb6b
Meta: Removed all gitignore in the source tree only keeping the root one
2019-06-30 10:41:26 +02:00
Andreas Kling
315716d193
GUI: Use Win2K-like "warm gray" color instead of the older colder gray.
...
Someone suggested this a long time ago and I never got around to it.
So here we go, here's the warm gray! I have to admit I like it better. :^)
2019-06-30 09:23:16 +02:00
Andreas Kling
561bfd3ed6
Terminal: Make it so typing resets the cursor blink timer.
...
Patch contributed by "pd"
2019-06-28 21:46:23 +02:00
Andreas Kling
96ca8bea6c
Terminal: Don't write erroneous characters to PTY when modifiers pressed.
...
Additionally the Alt modifier now generates the correct characters, as do
Insert/Delete/PgUp/PgDown.
Patch contributed by "pd"
2019-06-28 21:46:05 +02:00
Andreas Kling
274b41e47c
Terminal: Changex internal opacity representation to byte instead of float.
...
This lets us avoid some math during paint events.
Patch contributed by "pd"
2019-06-28 21:42:15 +02:00
Lawrence Manning
f0a6b42066
Move common Application build steps into their own Makefile.common
...
Further consolidation is of course possible, eg the Games/ programs
follow the same rules more or less.
2019-06-25 21:35:50 +02:00
Andreas Kling
cf0d05d54a
Terminal: Don't compute buffer positions outside the possible area.
2019-06-23 15:34:36 +02:00
Andreas Kling
08c04f0a41
Terminal: Add basic mouse selection with copy and paste.
...
Left mouse button selects (and copies the selection on mouse up).
The right mouse button then pastes whatever's on the clipboard. I always
liked this behavior in PuTTY, so now we have it here as well :^)
2019-06-23 09:18:17 +02:00
Andreas Kling
4118aaaa32
Terminal: Fix compiler warnings.
2019-06-22 16:07:46 +02:00
Andreas Kling
90b1354688
AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.
2019-06-21 18:37:47 +02:00
Andreas Kling
42f374d0f1
Terminal: Add support for DCH ('P' final)
...
Patch contributed by "pd"
2019-06-12 20:54:23 +02:00
Andreas Kling
1372f10dda
Terminal: Add support for REP ('b' final)
...
Patch contributed by "pd"
2019-06-11 07:32:53 +02:00
Andreas Kling
39d1a9ae66
Meta: Tweak .clang-format to not wrap braces after enums.
2019-06-07 17:13:23 +02:00
Andreas Kling
fd604a7c68
Applications: Run clang-format on everything.
2019-06-07 11:48:03 +02:00
Andreas Kling
4edc73ad1f
Terminal: Use the visual bell by default.
2019-06-07 08:45:39 +02:00
Andreas Kling
6e4f0b3cc5
Terminal: Reallocate kept lines when resizing the terminal.
...
Otherwise we end up with garbage text when making the window bigger.
2019-06-06 14:59:18 +02:00
Andreas Kling
e8f35ef311
Terminal: Store horizontal tabs in a Vector.
...
There's no need to muck around with manual malloc()/free() here.
2019-06-06 11:42:05 +02:00
Christopher Dumas
e92fe52031
Terminal: Use Vectors and OwnPtrs for Terminal lines. Adjust scroll
...
region behavior
2019-06-03 20:48:34 +02:00
Christopher Dumas
ce15a4021d
Terminal: Implement scroll region termcodes
2019-06-03 20:48:34 +02:00
Robin Burchell
1024dfa81a
StringViewize a bunch of things -- mostly LibGUI
2019-06-03 20:27:05 +02:00
Andreas Kling
51581c21fc
WindowServer+LibGUI: Add a way to bring a window to the front.
...
GWindow::move_to_front() can now be used to move a window to the top of
the window stack.
We use this in Terminal to bring the settings window to the front if it
already exists when it's requested, in case it's hiding behind something.
2019-06-01 20:10:37 +02:00
Andreas Kling
473d0e83ad
Terminal: Fix insufficient repaint after visual bell clears.
...
Also make the bell time a little shorter, 500ms kinda wears on you. :^)
2019-06-01 00:36:56 +02:00
Christopher Dumas
b0d8dba16d
Terminal: Single settings window & consistant visual bell timing
2019-06-01 00:07:45 +02:00
Christopher Dumas
6a4cb25557
Terminal: Settings windows can be opened multiple times
2019-06-01 00:07:45 +02:00
Christopher Dumas
f8a02d4733
Terminal: Audible vs Visible beep option
2019-06-01 00:07:45 +02:00
Robin Burchell
004a630bfe
Terminal: Fix some missing text attributes
...
Probably doesn't actually change much yet since we don't support many
text rendering options, but it's at least good to have the options, and
to record things we don't yet support too.
2019-05-30 10:35:36 +02:00
Andreas Kling
1361721053
Terminal: Add /usr/local/bin to the default PATH.
...
Now that we're building all these ports, let's have them in the PATH. :^)
2019-05-29 06:34:54 +02:00
Robin Burchell
0dc9af5f7e
Add clang-format file
...
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Christopher Dumas
50154a23cb
most apps now begin in the correct directory
2019-05-27 21:40:53 +02:00
Christopher Dumas
e3f81bce49
IRC client setttings, Terminal settings, more WM settings
2019-05-27 21:40:53 +02:00
Andreas Kling
3ec625067a
Terminal: Uh, also change the one caller of beep() to sysbeep()..
2019-05-17 14:34:07 +02:00
Andreas Kling
f196e2fcda
Terminal: Set original window title to "Terminal"
...
Don't rely on the shell setting the window title using escape sequences.
2019-05-16 20:13:41 +02:00
Andreas Kling
3cba2a8a78
Kernel: Add a beep() syscall that beeps the PC speaker.
...
Hook this up in Terminal so that the '\a' character generates a beep.
Finally emit an '\a' character in the shell line editing code when
backspacing at the start of the line.
2019-05-15 21:40:41 +02:00
Andreas Kling
852d648912
Fix "make clean" not deleting app binaries.
2019-05-13 14:56:18 +02:00
Andreas Kling
dddf45f563
Change String&& arguments to const String& in a couple of places.
...
String&& is more nuisance than anything, and the codegen improvement is
basically negligible since the underlying type is already retainable.
2019-05-12 14:57:15 +02:00
Andreas Kling
565f073796
Terminal: Give the terminal widget a sunken container look.
...
This blends perfectly with the new window frames. :^)
2019-05-11 02:27:06 +02:00
Andreas Kling
b5b44a29bb
Replace various copies of parse_uint(String) with String::to_uint().
2019-05-08 19:21:51 +02:00
Andreas Kling
b04f08ba48
Shell: Support home/end keys for line editing.
2019-05-07 05:03:21 +02:00
Andreas Kling
fe73543d41
Shell: Move the Shell to a separate directory and let's call it "Shell" :^)
2019-05-07 01:12:08 +02:00
Andreas Kling
6a5d92f0ad
WindowServer+LibGUI: Allow changing whether windows have alpha channels.
...
Use this in Terminal to tell the window server to not bother with the alpha
channel in the backing store if we're running without transparency.
Semi-transparent terminals look neat but they slow everything down, so this
keeps things fast while making it easy to switch to the flashy mode. :^)
2019-05-03 21:07:16 +02:00
Andreas Kling
a274196bd7
Terminal: <esc>[m should clear the current attribute.
...
This was causing GCC error messages to appear in all-red text.
2019-04-30 01:23:20 +02:00
Andreas Kling
0ae475ff5b
Terminal: Add ability to adjust the terminal's opacity.
2019-04-29 19:24:18 +02:00
Andreas Kling
57da00b731
Include Makefile.common in all other Makefiles.
2019-04-21 04:09:39 +02:00
Andreas Kling
ab94a6be00
AK: Add String::copy(BufferType) helper.
...
This will create a String from any BufferType that has data() and size().
2019-04-20 14:13:40 +02:00
Andreas Kling
5eedb22834
Sprinkle use of AK::Vector in various places.
...
Some of these are less helpful than others. Avoiding a bunch of mallocs
in the event loop wakeup code is definitely nice.
2019-04-20 14:02:19 +02:00
Andreas Kling
301a269ca0
Get rid of SERENITY macro since the compiler already defines __serenity__
...
This makes it a bit easier to use AK templates out-of-tree.
2019-04-20 12:58:49 +02:00