Age | Commit message (Collapse) | Author |
|
The text editor is now populated with some very basic GML after startup:
@GUI::Widget {
layout: @GUI::VerticalBoxLayout {
}
// Now add some widgets!
}
Less typing, less intimidating! :^)
|
|
|
|
|
|
Previously, this syscall would try to rename the target of the link,
not the link itself.
|
|
Make the little arrows point towards the large icon instead of away
from it. This feels like an obviously better visual clue that they're
pointers *to* something.
|
|
Make it a little taller so we can see the focus rect around the radio
buttons when they are focused.
|
|
I just picked three apps at random: Browser, TextEditor and Help.
This should make it a bit more visible that we have a working desktop.
|
|
This looks way nicer than left-to-right!
|
|
Sometimes you might want your icons to flow from top-to-bottom instead
of from left-to-right. :^)
|
|
Stuff that's only used internally by the class is nice to keep out of
the header when possible.
|
|
Tag methods at where not obvserving the return value is an obvious error
with [[nodiscard]] to catch potential future bugs.
|
|
clang-format seems to barf on these attributes, to make it easier to
use these attributes and have clang-format not mangle the following code
we can hide them behind a macro so clang-format doesn't have to handle it.
|
|
brew deprecated `brew cask` and requires `brew install --cask` instead
|
|
The PIT is now also running at a rate of ~250 ticks/second, so rather
than assuming there are 1000 ticks/second we need to query the timer
being used for the actual frequency.
Fixes #4508
|
|
This was a goofy kernel API where you could assign an icon_id (int) to
a process which referred to a global shbuf with a 16x16 icon bitmap
inside it.
Instead of this, programs that want to display a process icon now
retrieve it from the process executable instead.
|
|
This was the last remaining client of the per-process icon_id.
|
|
Instead of using the extremely hackish icon_id field in /proc/all,
we now retrieve process icons from their executable by using
GUI::FileIconProvider.
|
|
|
|
Dumping core can happen at the end of a profiling run, and in that case
we have to protect the target process and take the lock while iterating
over its region map.
Fixes #4509.
|
|
ByteBuffer is not null-terminated (anymore), this is another one of
those bugs.
Also use the new format functions while we're here.
Fixes #4558.
|
|
When the ExpandableHeap calls the remove_memory function, the
subheap is assumed to be removed and freed entirely. remove_memory
may drop the underlying memory at any time, but it also may cause
further allocation requests. Not removing it from the list before
calling remove_memory could cause a memory allocation in that
subheap while remove_memory is executing. which then causes issues
once the underlying memory is actually freed.
|
|
This app allows you to edit GML and see the results live. Pretty cool!
|
|
Previosuly, generation of the SONAME attribute was disabled.
This caused libraries to have relative paths in DT_NEEDED attributes
(e.g "Libraries/libcore.so" instead of just "libcore.so"),
which caused build errors when the working directory during build was
not $SERENITY_ROOT/Build.
This caused the build of ports that use libraries other than libc.so
to fail (e.g the nesalizer port).
Closes #4457
|
|
This can happen when an unveil follows another with a path that is a
sub-path of the other one:
```c++
unveil("/home/anon/.config/whoa.ini", "rw");
unveil("/home/anon", "r"); // this would fail, as "/home/anon" inherits
// the permissions of "/", which is None.
```
|
|
Oops, I accidentally shadowed the outer scope's "decrypted" ByteBuffer
which caused us to throw away the buffer too early.
Fixes #4533.
|
|
Make it tab-focusable and activate it with the return key. :^)
|
|
|
|
Fixes https://github.com/SerenityOS/serenity/issues/4484
|
|
We now have a handy Core::Account class that we can use instead of iterating
over the passwd database ourselves.
|
|
We were setting a tooltip when the text overflowed the *window* width,
make this more general by basing it on the *widget* width.
|
|
|
|
Remove some unnecessary includes and make the constructor private.
|
|
|
|
Also tweak the GUI a little bit to look nicer.
|
|
This wasn't testing anything ^^'
|
|
It being an enum value was preventing it from being used without `!!` in
requires clauses (bool also makes more sense anyway).
|
|
Fixes #4530.
|
|
`AK::Trie` can be keyed by any given hashable type, and can store any
metadata (including nothing at all).
Also adds a test.
|
|
`${FAILURES}` -> `"${FAILURES}"`
|
|
This came up in @jonathandturner's video walking through the system
and playing with things: https://www.youtube.com/watch?v=TtV86uL5oD4
At one point, he tried profiling his Terminal app, and since the
Terminal was completely idle while profiling, no samples were captured
and there was no profile to show.
Make sure we propagate any error when loading the profile, and show it
in a GUI message box instead of stderr. :^)
|
|
Problem:
- C functions with no arguments require a single `void` in the argument list.
Solution:
- Put the `void` in the argument list of functions in C header files.
|
|
|
|
|
|
|
|
|
|
Once we've committed to a new memory layout and non-setid credentials,
we can reset the dumpable flag.
|
|
|
|
|
|
|
|
I missed this when updating everything to use GUI::FileIconProvider
rather than loading icons from .af files, it broke as a result as none
of them have icon info anymore. :^)
|