Tom
4c8c149612
Terminal: Wait on the utmpupdate process to finish
...
This solves utmpupdate zombies hanging around until Terminal
terminates.
2020-11-30 11:34:08 +01:00
AnotherTest
1279d2256c
Terminal: Allow the user to configure the maximum history size
...
Closes #4238 .
2020-11-29 20:32:45 +01:00
Brendan Coles
5ed7ca3627
Applications: Use GUI::Icon::default_icon to set application icon
2020-11-02 21:06:17 +01:00
Andreas Kling
39c9319b6d
Terminal: Run clang-format
2020-10-31 19:54:23 +01:00
Andreas Kling
982e066100
LibGfx: Move FontDatabase from LibGUI to LibGfx
...
Not sure why I put this into LibGUI in the first place.
2020-10-31 13:56:21 +01:00
Andreas Kling
9d347352a1
LibGfx+LibGUI+Clients: Make fonts findable by their qualified name
...
The qualified name of a font is "<Family> <Size> <Weight>". You can
get the QN of a Font via the Font::qualified_name() API, and you can
get any system font by QN from the GUI::FontDatabase. :^)
2020-10-25 21:18:18 +01:00
asynts
712e348fad
Terminal: Use new format functions.
2020-10-06 20:29:26 +02:00
Andreas Kling
3c49a82ae9
Terminal: Use utmpupdate to update /var/run/utmp
...
We now put entries for interactive terminal sessions in the utmp file.
They are removed when you exit the terminal.
2020-09-06 16:15:51 +02:00
thankyouverycool
ebba297b42
Base: Move 16x16 common icons to /res/icons/16x16/
...
Drops the '16' suffix from filenames. Resizes inconsistent
audio-volume icons to intended size.
2020-08-27 15:38:02 +02:00
Linus Groh
2e5c434e22
Misc: Use automatic window positioning in more applications
...
This is a follow up to #2936 / d3e3b4ae56 .
Affected programs:
- Applications: Browser (Download, View source, Inspect DOM tree, JS
console), Terminal (Settings)
- Demos: Cube, Eyes, Fire, HelloWorld, LibGfxDemo, WebView,
WidgetGallery
- DevTools: HackStudio, Inspector, Profiler
- Games: 2048, Minesweeper, Snake, Solitaire
- Userland: test-web
A few have been left out where manual positioning is done on purpose,
e.g. ClipboardManager (to be close to the menu bar) or VisualBuilder (to
preserve alignment of the multiple application windows).
2020-08-15 17:38:19 +02:00
Ben Wiederhake
ef9a3b8e46
Applications: Mark compilation-unit-only functions as static
...
This enables a nice warning in case a function becomes dead code.
2020-08-12 20:40:59 +02:00
Andreas Kling
cf624550e5
Terminal: Disown child processes after spawning
2020-08-04 18:17:16 +02:00
Peter Elliott
4bf4a071a6
Applications: Stop setting initial window location
...
This will let the WindowManager choose the location of the window
2020-08-01 08:06:48 +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
1dd1595043
LibGUI: Make GUI::Application a Core::Object
...
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-07-04 14:05:57 +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
Nico Weber
12cbc4ad0d
Everywhere: Replace some uses of fork/exec with posix_spawn
...
It's less code, and it's potentially more efficient once
posix_spawn is a real syscall.
2020-06-29 12:04:27 +02:00
Sergey Bugaev
4139838a93
Userland et al: Pledge sigaction when needed
...
* 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-26 14:35:10 +02:00
AnotherTest
2814b5a918
Terminal: Handle fork error by whining about it
2020-05-25 21:36:51 +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
Andres Vieira
ad309d4eca
Terminal: Write an empty string instead of (null) on Command key
...
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-02 15:41:27 +02:00
Shannon Booth
0e403a43a4
Terminal: Add config for startup command
...
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-05-02 14:12:57 +02:00
Andreas Kling
68513abf39
Terminal: Tweak default prompt color slightly :^)
2020-04-30 22:38:40 +02:00
Andreas Kling
705cee528a
LibGUI: Make it easier to create checkable GUI::Actions
...
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-21 17:21:28 +02:00
Andreas Kling
52a250cb61
LibGUI: Make MenuBar a Core::Object
...
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-21 16:19:18 +02:00
Andreas Kling
c45e16f605
LibCore: Add StandardPaths thing to retrieve various standard locations
...
Fixes #1853 .
2020-04-19 19:57:05 +02:00
Andreas Kling
26eeaef0a8
LibGUI: Add MenuBar::add_menu(name)
...
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-04-04 12:58:05 +02:00
Itamar
d98fbd192e
Terminal: Remove working directory argument
...
Applications that want to spawn Terminal in a specific
directory should chdir to it before execing it.
2020-03-18 08:23:31 +01:00
Itamar
bbe50577f8
Terminal: Add -d option for specifying working directory
2020-03-15 19:09:24 +01:00
Tibor Nagy
fa98bbfda5
Terminal: Make the settings window unresizable
2020-03-11 10:12:25 +01:00
Shannon Booth
6a3b12664a
LibGUI: Move Icon and FontDatabase into the GUI namespace
...
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-07 01:33:53 +01:00
Andreas Kling
028c011760
LibCore: Make Core::Object::add<ChildType> return a ChildType&
...
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-04 21:04:06 +01:00
Andreas Kling
0f3e57a6fb
LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clients
2020-03-04 14:26:16 +01:00
Andreas Kling
4697195645
LibGUI: Use set_layout<LayoutType>() in lots of client code
2020-03-04 13:49:48 +01:00
Andreas Kling
40860f6f2c
Terminal: Put PAGER=more in the default environment
...
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-29 18:48:39 +01:00
Tibor Nagy
3b8713a9df
Terminal: Open settings as a modal window
...
To prevent the settings window from getting orphaned when someone
closes the main window behind it.
2020-02-25 19:57:48 +01:00
joshua stein
a17e702eba
Terminal: Don't set an initial command_to_execute
...
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-25 16:17:43 +01:00
Andreas Kling
3d20da9ee4
Userspace: Use Core::Object::add() when building interfaces
2020-02-23 11:10:52 +01:00
Andreas Kling
b011ea9962
LibGUI: Reduce menu-related header dependencies
2020-02-15 01:56:30 +01:00
Andreas Kling
dcb0766d3f
LibGUI: Remove some header dependencies from Application.h
2020-02-15 01:18:32 +01:00
Andreas Kling
34c7322d77
LibGUI: Remove some header dependencies from Widget.h
2020-02-14 23:53:11 +01:00
Andreas Kling
14f9a29502
Terminal: Set up a nice $PROMPT for the shell :^)
2020-02-10 21:53:04 +01:00
Andreas Kling
6a9cc66b97
LibGUI: Remove leading G from filenames
2020-02-06 20:33:02 +01:00
Andreas Kling
d17e23bd27
LibCore: Remove leading C from filenames
2020-02-06 15:04:03 +01:00
Andreas Kling
799b0a4fa8
LibGUI: Rename {H,V}BoxLayout => {Horizontal,Vertical}BoxLayout
2020-02-06 14:44:13 +01:00
Andreas Kling
dccf335d5b
LibGUI: Add HorizontalSlider and VerticalSlider convenience classes
2020-02-06 14:43:16 +01:00
Andreas Kling
5c06c32df4
LibGfx: Prefer using Gfx::Bitmap::load_from_file instead of load_png()
...
Code that just wants to open a Gfx::Bitmap from a file should not be
calling the PNG codec directly.
2020-02-06 13:39:17 +01:00