Andreas Kling
3729f7cc6a
About: Use Katica Bold for displaying the system name. :^)
2019-03-06 22:39:49 +01:00
Andreas Kling
495c4f940d
WindowServer: Only the left mouse button should initiate window drag.
2019-03-06 22:38:19 +01:00
Andreas Kling
eedfb2649e
WindowServer: Tweak appearance of window close buttons.
2019-03-06 22:36:37 +01:00
Andreas Kling
5773b91a04
WindowServer: Use the right font for computing titlebar text rects.
2019-03-06 22:34:45 +01:00
Andreas Kling
e56fe71dbc
Kernel: And some more KResult/KResultOr<T> porting work.
2019-03-06 22:30:13 +01:00
Andreas Kling
028afabf6b
Kernel: Port more code to KResult and KResultOr<T>.
2019-03-06 22:14:31 +01:00
Andreas Kling
3079ef01ce
Userland: /bin/cp needs to handle open(dst) failing with EISDIR.
2019-03-06 20:28:00 +01:00
Andreas Kling
e6f389a544
Kernel: Add two error checks for open() to return EISDIR or ENODEV.
2019-03-06 20:27:19 +01:00
Andreas Kling
7d46375690
Userland: Support "cp foo somedirectory"
...
Don't overwrite the literal directory inode contents when copying a file
to a directory, duh. :^)
2019-03-06 20:22:23 +01:00
Andreas Kling
d75897708b
Base: Tweak Katica system menu glyph.
2019-03-06 20:04:52 +01:00
Andreas Kling
2950d33c76
ProcessManager: Tweak priority icons.
2019-03-06 20:03:10 +01:00
Andreas Kling
7df1121e1c
LibGUI: GTableModel::data() should take a GModelIndex instead of int,int.
2019-03-06 19:56:47 +01:00
Andreas Kling
dc4e6dd7bc
LibGUI: Fix LibGUI::to_string() for GVariant::Type::Float.
2019-03-06 19:49:59 +01:00
Andreas Kling
09ecef6299
GTableView: Ignore right clicks for now.
2019-03-06 19:44:18 +01:00
Andreas Kling
f3341d2ae7
Base: Tweak Katica and Katica Bold glyphs.
2019-03-06 19:41:36 +01:00
Andreas Kling
b46c7da0a4
FontEditor: Don't crash when clicking on the unused part of a glyph.
2019-03-06 19:04:30 +01:00
Andreas Kling
31d6b640eb
Add a bold variant of Katica and make that the system's default bold font.
...
..and do some minor tweaks to the font rendering code.
2019-03-06 14:50:27 +01:00
Andreas Kling
66a5ddd94a
More work on the variable-width font support.
...
Katica is now the default system font, and it looks quite nice. :^)
I'm gonna need to refine the GTextBox movement stuff eventually,
but it works well-enough for basic editing now.
2019-03-06 14:06:40 +01:00
Andreas Kling
e53cef02d5
Kernel: Dump kernel stack trace on assertion failure.
2019-03-06 14:05:41 +01:00
Andreas Kling
7f6c81d90f
Implement basic support for variable-width fonts.
...
Also add a nice new font called Katica. It's not used anywhere yet but
I'm definitely itching to start using it. :^)
2019-03-06 12:52:41 +01:00
Andreas Kling
0a86366c71
Make a preparation pass for variable-width fonts.
2019-03-06 11:03:10 +01:00
Andreas Kling
b85fe0bd07
WindowServer: Let the window switcher render itself as a WSWindow.
...
Much better than drawing directly into the back buffer.
2019-03-06 10:03:10 +01:00
Andreas Kling
f3ff402cf3
WindowServer: Store the mouse button state in one variable.
...
This makes the logic around it a lot less verbose.
2019-03-05 14:13:07 +01:00
Andreas Kling
26a9d662f4
Kernel+WindowServer: Move mouse input signal parsing to kernel driver.
...
It was silly for the WindowServer to have to know anything about the
format of PS/2 mouse packets.
This patch also enables use of the middle mouse button.
2019-03-05 14:01:03 +01:00
Andreas Kling
1cc32ebc7e
Kernel: Remove "requested wakeups" feature.
...
I only needed this to support the WindowServer living inside the kernel.
Now that it's been migrated to userspace, this can go. :^)
2019-03-05 13:34:36 +01:00
Andreas Kling
91031346e5
Kernel: More signal handling improvements.
...
Finally fixed the weird flaky crashing when resizing Terminal windows.
It was because we were dispatching a signal to "current" from the scheduler.
Yet another thing I dislike about even having a "current" process while
we're in the scheduler. Not sure yet how to fix this.
Let the signal handler's kernel stack be a kmalloc() allocation for now.
Once we can do allocation of consecutive physical pages in the supervisor
memory region, we can use that for all types of kernel stacks.
2019-03-05 12:52:35 +01:00
Andreas Kling
086a0fc969
LibGUI: Let GApplication::exec() call exit() instead of returning to main().
...
This sidesteps the problem of having various things on the heap that don't
get torn down. It's obviously not a great solution, but it'll work for now.
2019-03-05 12:48:59 +01:00
Andreas Kling
9e1fcb74a2
Kernel: Returning from a signal handler reset the signal mask correctly.
...
We were setting the handled signal number as the new signal mask, oops.
2019-03-05 11:00:26 +01:00
Andreas Kling
251293f2e1
Kernel: Block a signal from being dispatched again until handler returns.
...
We don't handle nesting yet, but this is a step in the right direction.
2019-03-05 10:34:08 +01:00
Andreas Kling
b67d0a3632
WindowServer: Determine resizing "hot corner" based on window's outer rect.
2019-03-04 11:34:25 +01:00
Andreas Kling
67fc42f64e
Kernel: SIGCONT should unblock a blocked process.
...
Otherwise we might stay in BlockedSignal state forever. Unblocking just
means that the current syscall may fail with EINTR.
2019-03-04 11:25:24 +01:00
Andreas Kling
d932c03843
GTableView: Tweak focus appearance for selected items.
2019-03-04 11:17:25 +01:00
Andreas Kling
06bd2fb2d5
GTableView: Allow initiating keyboard navigation with no current selection.
2019-03-04 10:57:26 +01:00
Andreas Kling
7e955f7b60
GTableView: Tweak the look of column headers.
2019-03-04 10:54:34 +01:00
Andreas Kling
4ea7a51ecd
LibGUI: Improve GStatusBar and GToolBar and share some code via GStyle.
2019-03-04 10:47:54 +01:00
Andreas Kling
ac2a3f7fdf
GTableView: Make the last column header separator look right.
2019-03-04 10:26:16 +01:00
Andreas Kling
f91a20f9d0
LibGUI: Unbreak clearing GTableView selection by clicking outside items.
...
Also, clicking on the column headers should not clear selection.
2019-03-04 10:18:05 +01:00
Andreas Kling
ef4d517429
LibGUI: Tweak focus appearance and add it to GTableView.
2019-03-04 10:12:09 +01:00
Andreas Kling
5c27e74fac
WindowServer: Add a window switcher.
...
This needs some work on the window ordering and things like that, but it
works quite nicely as a starting point.
The keyboard shortcut is Logo+Tab. :^)
2019-03-03 15:17:05 +01:00
Andreas Kling
483e0a5526
SharedGraphics: Add Rect::center_within(Rect).
2019-03-03 13:34:50 +01:00
Andreas Kling
0e4b7990c0
Kernel: Detect the Tab key. :^)
2019-03-03 13:34:29 +01:00
Andreas Kling
b4631d2083
WindowManager: Allow moving windows around using Logo+LMB.
2019-03-03 13:18:58 +01:00
Andreas Kling
57fe316e01
Detect the "Logo" (Windows/Apple/whatever) key and use it for window resize.
...
This will be comfortable enough while I'm still developing with emulators.
QEMU keeps eating my "Alt" key presses and it's making things difficult.
2019-03-03 12:56:48 +01:00
Andreas Kling
159fa99539
Kernel: No need to check is_superuser() after may_execute().
...
Since may_execute() incorporates a superuser check. :^)
2019-03-03 12:34:54 +01:00
Andreas Kling
5e40aa4f1a
LibGUI: Move shortcut actions from GEventLoop to GApplications.
...
I'm gonna want to have nested event loops sooner or later, so let's not
pollute GEventLoop with things that are meant to work globally.
This patch also changes key events to pass around their modifiers as a
bitfield all the way around the system instead of breaking them up.
2019-03-03 12:32:15 +01:00
Andreas Kling
725b57fe1f
Kernel: Try to do the right thing by default for unhandled signals.
2019-03-03 12:13:41 +01:00
Andreas Kling
b0c673265a
Applications: Map Alt+F4 to Quit in FileManager/ProcessManager/Terminal.
2019-03-03 02:52:22 +01:00
Andreas Kling
7c06431ff7
FileManager: Canonicalize paths when opening them.
2019-03-03 00:40:50 +01:00
Andreas Kling
d94abc4f81
FileManager+LibGUI: Add a simple location textbox.
...
The widget layout here is a bit off and needs work.
2019-03-03 00:34:40 +01:00
Andreas Kling
63cdc3d2d5
LibGUI: Support GTableView navigation with Page Up and Page Down.
...
Also base the vertical scrollbar's gutter range on the visible content rect,
making it very similar to a Page Up/Down. Maybe they should be exactly the
same, I don't know.
2019-03-02 23:58:45 +01:00