Andreas Kling
ae4811fbae
ProcFS: Show region flags in /proc/PID/vm
...
It's useful to be able to see the readable, writable and bitmap flags.
2019-02-10 13:02:38 +01:00
Andreas Kling
6103e374cc
Kernel: Drop the "helper" region after ELF load is finished.
...
The individual segment mappings will keep the VMObject alive.
2019-02-10 12:47:15 +01:00
Andreas Kling
d333013a54
LibGUI: Support horizontal GScrollBars as well.
2019-02-10 12:27:21 +01:00
Andreas Kling
8313ce57dc
LibGUI: Improve GScrollBar button look a bit.
...
The arrows look better when they're sharp. :^)
2019-02-10 11:57:19 +01:00
Andreas Kling
ddd580c30f
SharedGraphics: Tighten clip when blitting without alpha.
...
Also don't try to clean up the Painter's window backing store in ~Painter()
if we don't actually have a window backing store.
2019-02-10 11:45:02 +01:00
Andreas Kling
9860e55047
Kernel: Put page fault logspam behind PAGE_FAULT_DEBUG.
2019-02-10 11:37:59 +01:00
Andreas Kling
5e8d6b1bf4
Base: Rename /users to /home.
...
I didn't like seeing /users next to /usr. /home looks nicer.
2019-02-10 11:18:12 +01:00
Andreas Kling
2def3d8d3f
LibGUI: Start adding an automatic widget layout system.
...
My needs are really quite simple, so I'm just going to add what I need
as I go along. The first thing I needed was a simple box layout with
widgets being able to say whether they prefer fixed or fill for both
their vertical and horizontal sizes.
I also made a simple GStatusBar so FileManager can show how many bytes
worth of files are in the current directory.
2019-02-10 11:07:13 +01:00
Andreas Kling
2cf1dd5b6f
Move apps into a top-level Applications/ directory.
2019-02-10 08:35:01 +01:00
Andreas Kling
29f2a22d34
LibGUI: Minor cleanup in GScrollBar.
2019-02-10 08:23:03 +01:00
Andreas Kling
546946775b
Base: Add an app icon for FileManager.
2019-02-10 07:48:54 +01:00
Andreas Kling
4a7120afe1
SharedGraphics: Fix blitting GraphicsBitmaps with clipping enabled.
2019-02-10 07:46:29 +01:00
Andreas Kling
f7831f8c76
LibGUI: Draw GScrollBar buttons with a disabled look when appropriate.
2019-02-10 07:37:02 +01:00
Andreas Kling
1e8e4e9af2
Launcher: Add button for FileManager.
2019-02-10 07:36:37 +01:00
Andreas Kling
e354c08c98
LibGUI: Share code for widget rendering styles in a GStyle class.
...
Since GScrollBar wants its internal buttons to look like GButtons,
let's share the painting code between them.
2019-02-10 07:11:01 +01:00
Andreas Kling
9ea2131adf
LibGUI: Support dragging the GScrollBar scrubber.
...
This was pleasantly easy to implement with the global mouse tracking. :^)
2019-02-10 06:51:01 +01:00
Andreas Kling
6b8af2f33a
Base: Improved FontEditor icon.
2019-02-10 06:30:16 +01:00
Andreas Kling
464873f8b5
LibGUI: Draw some cute arrows on the GScrollBar buttons.
2019-02-10 06:10:27 +01:00
Andreas Kling
cc04ba9cc9
ProcFS: /proc/sys entries should always be regular 644 files.
2019-02-10 06:10:01 +01:00
Andreas Kling
5bd363c4bb
LibGUI: Widget updates should invalidate their window-relative rect.
2019-02-09 14:30:05 +01:00
Andreas Kling
6a3ff7efc5
GScrollBar: Start looking a bit more like a proper scrollbar.
...
And hook up FileManager's DirectoryView with its scrollbar so it actually
causes the directory view to shift up and down. Very cool. :^)
2019-02-09 11:29:59 +01:00
Andreas Kling
1f355f2a79
LibGUI: Start working on a GScrollBar.
...
This widget is far from finished, but it's off to a good start.
Also added a GResizeEvent and GWidget::resize_event() so that widgets
can react to being resized.
2019-02-09 11:19:38 +01:00
Andreas Kling
4d5fe39494
FileManager: Start building a file manager.
2019-02-09 09:22:04 +01:00
Andreas Kling
8ae7be611a
LibC: closedir() should free the readdir() buffer and the DIR itself.
2019-02-09 09:08:27 +01:00
Andreas Kling
c4e984ca49
Kernel: Allow mmap() with a size that's not a multiple of page size.
...
We just round it up to the next multiple of page size anyway.
2019-02-09 08:44:46 +01:00
Andreas Kling
fa241747af
Kernel: When donating ticks to a lock holder, cap the donation.
...
When donating ticks to a lock holder, never donate more ticks than
that process would normally get from the scheduler.
2019-02-08 22:06:30 +01:00
Andreas Kling
cb6e852620
SharedGraphics: Don't eagerly commit mmap'ed font files in kernel.
...
Just let the page fault handler do its thing. Anytime we can avoid
loading some pages from disk, that's a good thing.
2019-02-08 21:59:06 +01:00
Andreas Kling
b365ad4aef
LibC: fgetc() and pals should return EOF on error or EOF.
...
This was the reason that "uname | figlet" wasn't working. There was nothing
wrong with the pipe like I kept thinking.
2019-02-08 17:49:54 +01:00
Andreas Kling
c9aaf74e1d
LibC: Add some more fake termcap entries to silence bash-5.0.
2019-02-08 17:49:25 +01:00
Andreas Kling
6274208eb9
Ext2FS: Fix bitmap overrun when reaching outside the first block group.
2019-02-08 17:14:51 +01:00
Andreas Kling
a6f9ddbb58
Let's have two wallpapers installed so we can test switching.
2019-02-08 17:14:47 +01:00
Andreas Kling
cf58b76210
SharedGraphics: GraphicsBitmap::load_from_file() should be allowed to fail.
...
It's okay if it fails to load a bitmap in kernel space. Just return nullptr.
2019-02-08 16:49:05 +01:00
Andreas Kling
d4ba155711
Kernel: Break retain cycle between Inode and VMObject.
...
There's no need for an Inode to keep its corresponding VMObject alive.
Obviously there are huge benefits to keeping a filesystem cache,
but leaking everything is hardly the right strategy. :^)
2019-02-08 16:40:48 +01:00
Andreas Kling
e1be5a468d
Userland: Add a /bin/pape helper program to switch the desktop wallpaper.
2019-02-08 16:22:54 +01:00
Andreas Kling
33d34d9b26
Kernel: Use a Lockable<bool> for sysctl booleans as well.
2019-02-08 16:18:24 +01:00
Andreas Kling
e78e032c19
Add a little ReadMe.
2019-02-08 11:06:34 +01:00
Andreas Kling
f8fc892bac
Remove _fs_contents.stock and generate it on the fly instead.
2019-02-08 09:56:39 +01:00
Andreas Kling
7a996e608c
WindowServer: Allow changing the desktop wallpaper through a sysctl.
...
Just write the path of your new wallpaper to /proc/sys/wm_wallpaper. :^)
2019-02-08 09:49:09 +01:00
Andreas Kling
cda598c29c
SharedGraphics: Allocate file-backed kernel GraphcisBitmaps in WindowServer.
2019-02-08 09:48:28 +01:00
Andreas Kling
004aad0995
WindowServer: Set the WSMessageLoop::server_process() as early as possible.
2019-02-08 09:47:57 +01:00
Andreas Kling
a3799cb71e
ProcFS: Add sysctl strings.
...
They are backed by a Lockable<String> to ensure that access is synchronized.
2019-02-08 09:46:46 +01:00
Andreas Kling
dabb3c902a
AK: Add a Lockable wrapping container.
2019-02-08 09:46:13 +01:00
Andreas Kling
7e623e7ff2
Process: Dump regions when a ring0 process crashes.
2019-02-08 09:45:53 +01:00
Andreas Kling
90d3375dc2
WindowServer: Support desktop wallpapers.
...
For now, you don't get to choose the wallpaper, but it's still pretty cool.
2019-02-08 08:45:59 +01:00
Andreas Kling
2736957701
Ext2FS: Fix dumb bitmap size bug in *_inode_allocation_state().
2019-02-08 08:43:08 +01:00
Andreas Kling
736e852525
LibC: Implement enough missing stuff to get bash-5.0 running. :^)
2019-02-08 02:38:21 +01:00
Andreas Kling
5158bee08c
Don't use -mregparm=3 in userspace.
...
It's pretty comfy having arguments in registers in the kernel for now though.
2019-02-08 01:24:52 +01:00
Andreas Kling
04378d9063
Terminal: Use the same cursor rect for active/inactive windows.
2019-02-08 00:21:02 +01:00
Andreas Kling
6d7f000ffc
Launcher: Factor the app buttons into a LaunchButton class.
...
Added some LibGUI helpers while I'm at it.
2019-02-08 00:15:04 +01:00
Andreas Kling
bf766fc12c
LibGUI: Implement GWindow::rect().
2019-02-08 00:13:35 +01:00