summaryrefslogtreecommitdiff
path: root/Applications/Terminal
AgeCommit message (Collapse)Author
2020-08-04Terminal: Disown child processes after spawningAndreas Kling
2020-08-01Applications: Stop setting initial window locationPeter Elliott
This will let the WindowManager choose the location of the window
2020-07-05Terminal+LibVT: Add "clear including history" action (Ctrl+Shift+K) :^)Andreas Kling
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-04Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includesAndreas Kling
2020-07-04Kernel: Move headers intended for userspace use into Kernel/API/Andreas Kling
2020-07-04LibGUI: Turn GUI::Application::the() into a pointerAndreas Kling
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-04LibGUI: Make GUI::Application a Core::ObjectAndreas Kling
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.
2020-06-30LibVT/Terminal: add a scroll length to the TerminalWidgetBenoît Lormeau
The scroll length is the number of lines by which the terminal will go up/down when scrolling the mouse wheel once.
2020-06-29Everywhere: Replace some uses of fork/exec with posix_spawnNico Weber
It's less code, and it's potentially more efficient once posix_spawn is a real syscall.
2020-05-26Userland et al: Pledge sigaction when neededSergey Bugaev
* 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.
2020-05-25Terminal: Handle fork error by whining about itAnotherTest
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-09LibVT+Terminal: Support hyperlinks in the terminal :^)Andreas Kling
We now support basic hyperlinking in the terminal with <OSC>;8;;URL<ST> Links are opened via LaunchServer on Ctrl+LeftMouse.
2020-05-02Terminal: Write an empty string instead of (null) on Command keyAndres Vieira
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.
2020-05-02Terminal: Add config for startup commandShannon Booth
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.
2020-04-30Terminal: Tweak default prompt color slightly :^)Andreas Kling
2020-04-21LibGUI: Make it easier to create checkable GUI::ActionsAndreas Kling
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.
2020-04-21LibGUI: Make MenuBar a Core::ObjectAndreas Kling
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-19LibCore: Add StandardPaths thing to retrieve various standard locationsAndreas Kling
Fixes #1853.
2020-04-04LibGUI: Add MenuBar::add_menu(name)Andreas Kling
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);
2020-03-18Terminal: Remove working directory argumentItamar
Applications that want to spawn Terminal in a specific directory should chdir to it before execing it.
2020-03-15Terminal: Add -d option for specifying working directoryItamar
2020-03-11Terminal: Make the settings window unresizableTibor Nagy
2020-03-07LibGUI: Move Icon and FontDatabase into the GUI namespaceShannon Booth
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)
2020-03-04LibCore: Make Core::Object::add<ChildType> return a ChildType&Andreas Kling
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. :^)
2020-03-04LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clientsAndreas Kling
2020-03-04LibGUI: Use set_layout<LayoutType>() in lots of client codeAndreas Kling
2020-02-29Terminal: Put PAGER=more in the default environmentAndreas Kling
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".
2020-02-25Terminal: Open settings as a modal windowTibor Nagy
To prevent the settings window from getting orphaned when someone closes the main window behind it.
2020-02-25Terminal: Don't set an initial command_to_executejoshua stein
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
2020-02-23Userspace: Use Core::Object::add() when building interfacesAndreas Kling
2020-02-15LibGUI: Reduce menu-related header dependenciesAndreas Kling
2020-02-15LibGUI: Remove some header dependencies from Application.hAndreas Kling
2020-02-14LibGUI: Remove some header dependencies from Widget.hAndreas Kling
2020-02-10Terminal: Set up a nice $PROMPT for the shell :^)Andreas Kling
2020-02-06LibGUI: Remove leading G from filenamesAndreas Kling
2020-02-06LibCore: Remove leading C from filenamesAndreas Kling
2020-02-06LibGUI: Rename {H,V}BoxLayout => {Horizontal,Vertical}BoxLayoutAndreas Kling
2020-02-06LibGUI: Add HorizontalSlider and VerticalSlider convenience classesAndreas Kling
2020-02-06LibGfx: Prefer using Gfx::Bitmap::load_from_file instead of load_png()Andreas Kling
Code that just wants to open a Gfx::Bitmap from a file should not be calling the PNG codec directly.
2020-02-06LibGfx: Rename from LibDraw :^)Andreas Kling
2020-02-06LibDraw: Put all classes in the Gfx namespaceAndreas Kling
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. :^)
2020-02-05LibC: Add posix_openpt(), grantpt() and unlockpt()Andreas Kling
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. :^)
2020-02-02LibGUI: Put all classes in the GUI namespace and remove the leading GAndreas Kling
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02LibCore: Put all classes in the Core namespace and remove the leading CAndreas Kling
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.
2020-02-02Terminal: Remove an unused variableAndreas Kling
2020-02-02LibGUI: Add GHBoxLayout and GVBoxLayout convenience classesAndreas Kling
2020-01-28Userland+Terminal: Port to new CArgsParser APISergey Bugaev
While at it, also add some niceties and fix some things.
2020-01-25Terminal: Start a new session before exec'ing the shellAndreas Kling
This will put everything running inside the terminal in the same SID.
2020-01-25Terminal: Fetch the user shell from /etc/passwdAndreas Kling
This allows you to override the shell used by Terminal. :^)