mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:57:44 +00:00
Kernel+ProcessManager: Let processes have an icon and show it in the table.
Processes can now have an icon assigned, which is essentially a 16x16 RGBA32 bitmap exposed as a shared buffer ID. You set the icon ID by calling set_process_icon(int) and the icon ID will be exposed through /proc/all. To make this work, I added a mechanism for making shared buffers globally accessible. For safety reasons, each app seals the icon buffer before making it global. Right now the first call to GWindow::set_icon() is what determines the process icon. We'll probably change this in the future. :^)
This commit is contained in:
parent
7356fd389f
commit
5ded77df39
14 changed files with 97 additions and 2 deletions
|
@ -24,10 +24,12 @@ int create_thread(int (*)(void*), void*);
|
|||
void exit_thread(int);
|
||||
int create_shared_buffer(int, void** buffer);
|
||||
int share_buffer_with(int, pid_t peer_pid);
|
||||
int share_buffer_globally(int);
|
||||
void* get_shared_buffer(int shared_buffer_id);
|
||||
int release_shared_buffer(int shared_buffer_id);
|
||||
int seal_shared_buffer(int shared_buffer_id);
|
||||
int get_shared_buffer_size(int shared_buffer_id);
|
||||
int set_process_icon(int icon_id);
|
||||
int read_tsc(unsigned* lsw, unsigned* msw);
|
||||
inline int getpagesize() { return 4096; }
|
||||
pid_t fork();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue