Age | Commit message (Collapse) | Author |
|
You can now call GWindow::set_fullscreen(bool) and it will go in or out
of fullscreen mode.
WindowServer will also remember the previous window rect when switching
to fullscreen, and restore it when switching back. :^)
|
|
|
|
This is a freelist allocator with static size classes that works as a
complement to the generic kmalloc(). It's a lot faster than kmalloc()
since allocation just means popping from the freelist.
It's also significantly more compact when there are a lot of objects
smaller than the minimum kmalloc chunk size (32 bytes.)
This patch enables it for the Region and PhysicalPage classes.
In the PhysicalPage (8 bytes) case, it's a huge improvement since we
no longer waste 75% of the storage allocated.
There are also a number of ways this can be improved, so let's keep
working on it going forward.
|
|
|
|
When the user has scrolled up and begins typing, the scrollbar will
automatically return them to the current cursor position so that they
can see what they're typing.
|
|
The program will now automatically select the user's currently
chosen resolution when it is loaded up, however it is not
"visually selected" in the `GListView`
Moved the `resolution_list` list to be on the top to keep it consistent
with the wallpaper tab.
|
|
|
|
|
|
|
|
|
|
Otherwise the setgid() will fail :^)
|
|
|
|
We can just use the physical page allocator directly, there's no need
for a dedicated function for page tables.
|
|
This patch adds a function to LineEditor that takes the current shell
buffer, searches PATH for the first program that starts with that
buffer and then compares that to any other programs starting with the
buffer to remove any mismatching characters off the end. The result is
appended to the buffer.
This may be faster with a data structure but that seems overkill.
|
|
Fixes #553.
|
|
Fixed a few issues with both `pushd` and `popd`. There was a few
typos etcetera causing it to behave errantly in certain situations.
|
|
This isn't perfect since now you will just see "Long name..." instead
of the whole name, but at least it doesn't look totally wrong either.
|
|
|
|
Added a few builtin functions to the shell to make navigating a bit
easier in the terminal.
`pushd` allows a user to "push" the current directory to the directory
stack, and then `cd` to the new directory.
`popd` allows the used to take the directory on the top of the stack
off before `cd`'ing to it.
`dirs` gives the state of the current directory stack.
This is only a partial implementation of the `bash` version
(gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html)
, and doesn't include any of the +N or -N commands as of yet.
|
|
This patch makes it possible to *run* text files that start with the
characters "#!" followed by an interpreter.
I've tested this with both the Serenity built-in shell and the Bash
shell, and it works as expected. :^)
|
|
Also give them nice little icons. :^)
|
|
|
|
|
|
Use the same callback signature as GAction so we can just forward it
to GAction instead of chaining callbacks.
|
|
This patch allows passing a script as an argument to the Shell program.
We will read the specified line by line and pass them through the Shell
command interpreter.
This is not very powerful, but it's a start :^)
|
|
If we receive an IRQ while the idle task is running, prevent it from
re-halting the CPU after the IRQ handler returns.
Instead have the idle task yield to the scheduler, so we can see if
the IRQ has unblocked something.
|
|
We shouldn't assert if you call this on a Lock held by another Thread
in the same Process. Instead, we should just not unlock.
|
|
As was mentioned in #556, the `DisplayProperties` Wallpaper tab
contained a lot of "extra space", in which half the tab was taken up
by the list of wallpapers. The rest of that space is now reserved for
a wallpaper preview, so the user can see the selected image before
applying it.
|
|
POSIX.1-2017, Shells & Utilities, section 2.2
|
|
|
|
This makes gettid() very cheap, compared to the cost of having to do
a syscall every time.
|
|
This will be very useful for optimizing games like DOOM. :^)
|
|
Now that we're building our own DOOM fork, we don't need any patches.
|
|
This will make it easier to make improvements to the port.
|
|
When copying a list of files to the clipboard, we now use the special
data type "file-list".
This allows us to have the paste action's enabled state reflect the
actual ability to paste something. :^)
|
|
This will allow us to distinguish between different types of data
stored on the clipboard.
|
|
|
|
Something to show for the properties action in FileManager. It still
doesn't actually do anything, but at least now it looks neat. :^)
|
|
|
|
We had many context menus with names, simply because you were forced
to give them names.
|
|
Based on whether something is selected or not. I added a FIXME about
the paste action, since that will require some more coordination with
the system clipboard.
|
|
|
|
I also added a dummy "Properties..." action just to fill out the menu a
little bit. :^)
Fixes #270.
|
|
Before bringing up the context menu, clicking...
- ...on an already selected item leaves selection alone
- ...on an unselected item makes it the only selected item
- ...outside any item clears the selection
|
|
|
|
Also, use the model_column() internally for selection as well as for
painting to keep things consistent.
Note that we always fire the on_context_menu_request hook, even if you
didn't click on an item. In those cases, you get a GModelIndex().
|
|
We'll just default to "", which works fine for context menus.
|
|
The introduction fchdir in the middle of the EUMERATE_SYSCALLS
expression changed other syscall numbers, which broke compatibility.
This commit fixes that by moving it to the end.
|
|
|
|
We're gonna need a lot more of these, and I don't know if the size is
quite right, but here's a start. :^)
|