Andreas Kling
43604bf71a
LibC+Shell: Make system() actually work.
...
system() will now fork off a child process and execute the command via
/bin/sh -c. There are probably some things to fix here, but it's a start.
2019-05-13 04:52:55 +02:00
Andreas Kling
42cf09fdf1
WindowServer: Don't add maximize button to non-resizable windows.
...
The minimize button can stay though, since it doesn't change the window
size, just the visibility. :^)
2019-05-13 00:48:54 +02:00
Andreas Kling
8c4b7fe385
WindowServer: Make the ordering in the window switcher a bit more sane.
2019-05-13 00:08:56 +02:00
Andreas Kling
a20ce4d2b8
WindowServer: Rearrange minimize/maximize/close buttons (in that order.)
2019-05-12 21:33:25 +02:00
Andreas Kling
641893104a
WindowServer: Add a maximize/unmaximize button to windows.
2019-05-12 21:32:02 +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
23e6c45e87
WindowServer: Show downscaled window thumbnails in the window switcher.
2019-05-12 04:15:25 +02:00
Andreas Kling
641d55c7ef
Painter: Always optimize with -O3.
...
Use a GCC #pragma to always optimize the Painter code with -O3.
This code is performance critical and hotter than anything else in the
system, and this helps quite a bit.
The 2x, 3x and 4x upscaling fast paths benefit greatly from this.
2019-05-11 17:00:46 +02:00
Andreas Kling
788fb7699b
Painter: Simplify the draw_scaled_bitmap() fast path for integer scale.
...
Iterate over the source image instead of the destination image, and blow it
up pixel by pixel. This code will only run for upscaling so we don't need
to worry about anything else.
2019-05-11 16:55:30 +02:00
Andreas Kling
1652cb7db9
Painter: Fix typo in 4x scaling fast path.
2019-05-11 16:00:25 +02:00
Andreas Kling
e2c2a4c6d7
Painter: Add a fast path for draw_scaled_bitmap() with integer scale.
...
When both the x and y scale factors are integers, we can avoid a whole bunch
of the pixel lookups in the source image.
This makes 2x scaling a 320x200 bitmap another ~25% faster. :^)
2019-05-11 05:34:20 +02:00
Andreas Kling
91a4b60d66
Painter: Templatize the inner loop of draw_scaled_bitmap().
...
Use templates to specialize draw_scaled_bitmap() so we don't have to blend()
for source without alpha, and also inline the GraphicsBitmap::get_pixel()
logic so we don't have to branch on the bitmap format on every iteration.
This is another ~30% speedup on top of the previous changes. :^)
2019-05-11 03:53:28 +02:00
Andreas Kling
01a1194e6f
StylePainter: Remove some unused variables.
2019-05-11 03:53:20 +02:00
Andreas Kling
ab42180e83
Fix some more victims of the new default layout spacing.
2019-05-11 03:06:18 +02:00
Andreas Kling
e491dd2125
Painter: Improve draw_scaled_bitmap() performance.
...
- Removed extra bounds checking.
- Converted it to use integer math for the scale factors.
- Using blend() for everything.
Patch contributed by "pd"
2019-05-11 02:55:42 +02:00
Andreas Kling
1ff7f76172
VisualBuilder: Tweak margins in properties window.
2019-05-11 02:35:55 +02:00
Andreas Kling
1ab66e4d33
FileManager: Tweak layout spacing (new default looks weird here.)
...
This app needs a layout rethink, but for now I'm just fixing breakage.
2019-05-11 02:35:03 +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
c9951bbe60
WindowServer: Improve window frames by giving them a raised frame look. :^)
2019-05-11 01:31:10 +02:00
Andreas Kling
3c62534ae6
GTableView: Update content size immediately on column show/hide.
2019-05-11 00:19:34 +02:00
Andreas Kling
dd7406ce3f
GTableView: Don't include hidden columns in content width.
2019-05-11 00:16:34 +02:00
Andreas Kling
b54eefa25e
IRCClient: Tweak appearance.
2019-05-11 00:16:08 +02:00
Andreas Kling
4b32aa71d2
ProcessManager: Tweak appearance (spacing, margins..)
2019-05-10 22:59:39 +02:00
Andreas Kling
e2e07b9405
GLayout: Default to 4 pixels of spacing().
2019-05-10 22:59:22 +02:00
Andreas Kling
db5341e11d
GToolBar: Make the framed appearance optional.
2019-05-10 22:58:52 +02:00
Andreas Kling
d8ae6c31ce
LibGUI+WindowServer: Improve checkmark appearance.
2019-05-10 22:50:42 +02:00
Andreas Kling
9d2b46f396
GDialog: If no parent window is provided, center dialog on screen.
2019-05-10 22:22:03 +02:00
Andreas Kling
3a2f10fbbe
About: Center the window on screen and make it non-resizable.
2019-05-10 22:11:18 +02:00
Andreas Kling
d643daebb2
GTableView: Headers were not usable when the view was scrolled.
2019-05-10 20:56:00 +02:00
Andreas Kling
613c7b9856
GTableView: Make it possible to hide/show columns from a context menu.
...
Show a context menu when right clicking the headers of a GTableView, and
allow the user to hide/show individual columns.
2019-05-10 20:26:55 +02:00
Andreas Kling
dbf7878998
LibCore: Using printf() inside CIODevices will now call CIODevice::printf().
...
Well this was confusing. Obviously this code should never be calling outside
to ::printf() anyway, so just use dbgprintf() instead.
2019-05-10 18:20:54 +02:00
Andreas Kling
090e14d42c
IPv4: Default initialize IPv4Address to 0.0.0.0.
...
IPv4Address() didn't initialize which made for some confusing debugging.
2019-05-10 18:18:54 +02:00
Andreas Kling
c838a2e652
Shell: Add "umask" builtin for reading/writing the shell's umask.
2019-05-10 17:39:30 +02:00
Andreas Kling
c1b025b5a6
LibC: Oops, I forgot to commit sys/uio.{cpp,h} yesterday.
2019-05-10 17:38:51 +02:00
Andreas Kling
99aead4857
Kernel: Add a writev() syscall for writing multiple buffers in one go.
...
We then use this immediately in the WindowServer/LibGUI communication in
order to send both message + optional "extra data" with a single syscall.
2019-05-10 03:19:25 +02:00
Andreas Kling
e6443649cb
GFilePicker: Add a "new directory" button.
2019-05-09 18:45:33 +02:00
Andreas Kling
7c6784f50c
GFilePicker: More work on the file picker, adding a location textbox.
2019-05-09 16:47:45 +02:00
Andreas Kling
e569ef6412
GFilePicker: Add a button for moving up to parent directory.
2019-05-09 15:51:57 +02:00
Andreas Kling
fa232ac180
LibGUI: Remove GModel activations to GAbstractView.
...
Now you can hook activation via GAbstractView::on_activation.
The design still isn't quite right, we should eventually move the selection
away from the model somehow.
2019-05-09 04:56:52 +02:00
Andreas Kling
bffaa5ece6
GLayout: Add a simple spacer concept; dummy item that expands-to-fit.
...
A spacer can be inserted anywhere in a layout and will simply expand to fill
the available space. This is useful for pushing widgets into place. :^)
2019-05-09 03:06:20 +02:00
Andreas Kling
bd5c79aff2
LibGUI: Start working on a file picker dialog (GFilePicker).
...
Have LibGUI adopt GDirectoryModel from FileManager since it fits perfectly
for the needs of a file picker.
2019-05-09 01:24:37 +02:00
Andreas Kling
d4ac9e9a8a
FileManager: When mkdir() fails, show the path we passed in the message.
2019-05-08 22:41:19 +02:00
Andreas Kling
364769c11c
LibGUI: Add some missing class_name() overrides to GDialog and subclasses.
2019-05-08 22:10:00 +02:00
Andreas Kling
de98b2770b
GMessageBox: Add icons to message boxes with 3 standard ones to choose from.
2019-05-08 20:13:39 +02:00
Andreas Kling
b5b44a29bb
Replace various copies of parse_uint(String) with String::to_uint().
2019-05-08 19:21:51 +02:00
GuillaumeGas
cea631d90c
Added killall command ( #30 )
...
* Added killall command
* Fixed feedbacks of awesomekling
2019-05-08 18:52:37 +02:00
Andreas Kling
81a280da87
Toolchain: Make sure everything ends up in the right place in Root/
2019-05-08 15:50:24 +02:00
Andreas Kling
758e926b99
GGroupBox: Rename "name" property to "title"
2019-05-08 14:32:46 +02:00
Andreas Kling
3ae9fc5d88
Move VisualBuilder into a new DevTools directory.
2019-05-08 13:53:34 +02:00
Andreas Kling
6b40b081b2
GTextEditor: Add a readonly mode.
2019-05-08 05:00:28 +02:00