Age | Commit message (Collapse) | Author |
|
|
|
This will let the WindowManager choose the location of the window
|
|
Sometimes you just want to get rid of all your scrollback history in
the terminal, and now there's a way to do that.
|
|
|
|
|
|
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.
|
|
Having this on the stack makes whole-program teardown iffy. Turning it
into a Core::Object allows anyone who needs it to extends its lifetime.
|
|
The scroll length is the number of lines by which the terminal will go
up/down when scrolling the mouse wheel once.
|
|
It's less code, and it's potentially more efficient once
posix_spawn is a real syscall.
|
|
* In some cases, we can first call sigaction()/signal(), then *not* pledge
sigaction.
* In other cases, we pledge sigaction at first, call sigaction()/signal()
second, then pledge again, this time without sigaction.
* In yet other cases, we keep the sigaction pledge. I suppose these could all be
migrated to drop it or not pledge it at all, if somebody is interested in
doing that.
|
|
|
|
Closes https://github.com/SerenityOS/serenity/issues/2080
|
|
We now support basic hyperlinking in the terminal with <OSC>;8;;URL<ST>
Links are opened via LaunchServer on Ctrl+LeftMouse.
|
|
This prevents a Terminal to create a configuration file with
Command=(null)
That would make it try to execute the command "(null)" on the next run.
|
|
This is useful when working on a program as you can put the command into
the config file, instead of having to type it up each time on boot.
|
|
|
|
This patch adds GUI::Action::create_checkable() helpers that work just
like the existing create() helpers, but the actions become checkable(!)
Clients are no longer required to manage the checked state of their
actions manually, but instead they will be checked/unchecked as needed
by GUI::Action itself before the activation hook is fired.
|
|
This makes it show up in Inspector with all the menus inside it. :^)
|
|
Fixes #1853.
|
|
This allows us to construct menus in a more natural way:
auto& file_menu = menubar->add_menu("File");
file_menu.add_action(...);
Instead of the old way:
auto file_menu = GUI::Menu::construct();
file_menu->add_action(...);
menubar->add_menu(file_menu);
|
|
Applications that want to spawn Terminal in a specific
directory should chdir to it before execing it.
|
|
|
|
|
|
We also clean up some old references to the old G prefixed GUI classes
This also fixes a potential bug with using: C_OBJECT_ABSTRACT(GAbstractButton)
instead of C_OBJECT_ABSTRACT(AbstractButton)
|
|
Since the returned object is now owned by the callee object, we can
simply vend a ChildType&. This allows us to use "." instead of "->"
at the call site, which is quite nice. :^)
|
|
|
|
|
|
This should be done at some other level (shell rc script for example),
this is just to make "git" stop complaining that I don't have "less".
|
|
To prevent the settings window from getting orphaned when someone
closes the main window behind it.
|
|
Otherwise we end up executing "/bin/Shell -c /bin/Shell" on a normal
launch. With a null command_to_execute, we'll just execute
/bin/Shell
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code that just wants to open a Gfx::Bitmap from a file should not be
calling the PNG codec directly.
|
|
|
|
I started adding things to a Draw namespace, but it somehow felt really
wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename
the library to LibGfx. :^)
|
|
This makes getting a pseudoterminal pair a little bit more portable.
Note that grantpt() and unlockpt() are currently no-ops, since we've
already granted the pseudoterminal slave to the calling user.
We also accept O_CLOEXEC to posix_openpt(), unlike some systems. :^)
|
|
This took me a moment. Welcome to the new world of GUI::Widget! :^)
|
|
I've been wanting to do this for a long time. It's time we start being
consistent about how this stuff works.
The new convention is:
- "LibFoo" is a userspace library that provides the "Foo" namespace.
That's it :^) This was pretty tedious to convert and I didn't even
start on LibGUI yet. But it's coming up next.
|
|
|
|
|
|
While at it, also add some niceties and fix some things.
|
|
This will put everything running inside the terminal in the same SID.
|
|
This allows you to override the shell used by Terminal. :^)
|