Compare commits

..

65 Commits

Author SHA1 Message Date
822a2b7d43
wind: Show memory usage in debug output
Some checks failed
continuous-integration/drone/pr Build is failing
2023-08-17 20:22:22 +02:00
4d6ac5cf30
wind: Handle ftruncate() and mmap() errors properly
Some checks failed
continuous-integration/drone/pr Build is failing
2023-08-17 20:16:39 +02:00
e954059c79
wind: Fix client references being out-of-date in windows when disconnecting other clients
Classic "keeping a pointer to an element inside a vector after the vector is updated" bug, ah yes.
2023-08-17 20:16:39 +02:00
3bc85b7929
taskbar: Wait for terminated child windows 2023-08-17 20:16:39 +02:00
3ce57443e2
wind: Add debug keybind 2023-08-17 20:16:39 +02:00
8e3535545c
wind+libos+libui: Handle interrupted reads properly 2023-08-17 20:16:38 +02:00
92c0cf0236
base: Actually add the start icon to source control 2023-08-17 20:16:38 +02:00
40ec7fd707
libui: Add Buttons 2023-08-17 20:16:38 +02:00
e311f9cb51
libui: Handle other mouse events 2023-08-17 20:16:38 +02:00
0f9ed8ae58
libui: Add aligned items using Containers, ImageWidget 2023-08-17 20:16:37 +02:00
141b212e88
libui: Add VerticalLayout 2023-08-17 20:16:37 +02:00
6b8fe49e5a
wind+libui+taskbar: Add GetScreenRect IPC, non-decorated windows, taskbar 2023-08-17 20:16:37 +02:00
e7ccfe1985
libui: Actually fill window backgrounds with the correct color 2023-08-17 20:16:37 +02:00
5862b32793
libui: Add basic widget and layout system =D 2023-08-17 20:16:37 +02:00
7c8e2d4da7
ui+wind: Send mouse move events through IPC 2023-08-17 20:16:36 +02:00
97994bfe6f
wind+libui: Add protocol for window close requests 2023-08-17 20:16:36 +02:00
e9423f3c39
libos+libui+wind: Use uppercase for static struct IDs to avoid confusion with fields 2023-08-17 20:16:36 +02:00
25053481f9
libui+gclient: Add basic OOP wrappers around the IPC protocol 2023-08-17 20:16:36 +02:00
b728c0d512
wind+gclient: Add SetWindowTitle and support shm buffers 2023-08-17 20:16:36 +02:00
a86d9ea2ac
gclient: Create two example windows 2023-08-17 20:16:35 +02:00
5984151a83
wind: Handle CreateWindow IPC messages 2023-08-17 20:16:35 +02:00
f9fa4bdd97
libui: Add CreateWindow IPC message definitions 2023-08-17 20:16:35 +02:00
974ad4dbd0
libos: Add basic IPC message framework 2023-08-17 20:16:35 +02:00
9a46033a9b
kernel: Fix poll syscall 2023-08-17 20:16:35 +02:00
6301138c14
wind: Monitor data on client connections 2023-08-17 20:16:34 +02:00
02593d4210
kernel: Add POLLHUP and store it when a polled socket's peer disconnects 2023-08-17 20:16:34 +02:00
00b7731281
libui: Add copyright/author text 2023-08-17 20:16:34 +02:00
87047127bd
libos: Add copyright/author comments to LocalServer and LocalClient 2023-08-17 20:16:34 +02:00
cd1342bc6a
wind: Use init --user and pledge() 2023-08-17 20:16:34 +02:00
768ab9882f
Update .gitignore 2023-08-17 20:16:33 +02:00
95f9a8ecb8
libos: Remove some shared pointers and change them to owned/live on the stack 2023-08-17 20:16:33 +02:00
95fe212e28
wind: Spawn a new client process after startup
Also, create the socket after dropping privileges.
2023-08-17 20:16:33 +02:00
0ccaaccb0d
apps: Add gclient 2023-08-17 20:16:33 +02:00
e6274b0dd2
libos: Add os::LocalClient 2023-08-17 20:16:18 +02:00
61a196dd42
libui: Change 'into' to 'onto' 2023-08-17 20:16:18 +02:00
c4f57b0c38
libui: Document ui::Font 2023-08-17 20:16:18 +02:00
83f898ff17
libui+wind: Move some static variables inside functions 2023-08-17 20:16:18 +02:00
f885831223
wind: Generate random windows on keypresses 2023-08-17 20:16:18 +02:00
6857d2cd5c
wind: Make sure windows have a minimum size to fit the titlebar 2023-08-17 20:16:18 +02:00
5c8bbc1b4b
libui: Properly cut off the last drawn character if necessary 2023-08-17 20:16:17 +02:00
af1ffa8459
libui: Add Rect::contains(Rect) 2023-08-17 20:16:17 +02:00
2646e6850f
libui: Render font characters properly with no spacing, matching the width calculations 2023-08-17 20:16:17 +02:00
f81f1a59e3
wind: Render an actual TGA mouse cursor 2023-08-17 20:16:17 +02:00
0ba0558585
wind: Add a close button to windows using a TGA icon 2023-08-17 20:16:17 +02:00
d1a9613607
libui: Add support for TGA image loading 2023-08-17 20:16:17 +02:00
214a3bb274
libui: Add an interface to fill a Canvas with an array of pixels 2023-08-17 20:16:17 +02:00
c6b4ad6ca1
wind: Add window titlebars using ui::Font 2023-08-17 20:16:16 +02:00
1f9344e727
libui: Add PSF font loading and rendering 2023-08-17 20:16:16 +02:00
01cb2fbd11
libui: Add Color::GRAY 2023-08-17 20:16:16 +02:00
ee2f3d0af3
libui: Rename Rect::absolute to normalized and add a new absolute function 2023-08-17 20:16:16 +02:00
907bdb8d68
libluna: Add assignment operators to Buffer 2023-08-17 20:16:16 +02:00
94ecefaac6
wind: Reorder drag sequence 2023-08-17 20:16:16 +02:00
e826538db1
libui: Add Rect::relative 2023-08-17 20:16:16 +02:00
a65c0a851b
libui: Remove redundant statement 2023-08-17 20:16:16 +02:00
1b414937da
libui: Add getters for separate color values 2023-08-17 20:16:15 +02:00
1db11bb0ac
libui: Remove unnecessary stuff 2023-08-17 20:16:15 +02:00
ded85b6b5c
base: Remove startup items not necessary for GUI startup 2023-08-17 20:16:15 +02:00
c6369f9132
libui+wind: (Draggable) windows 2023-08-17 20:16:15 +02:00
3546ed6de6
wind: Create a local server object 2023-08-17 20:16:15 +02:00
1b2c67fb50
libos: Add a new LocalServer class for local domain sockets 2023-08-17 20:16:15 +02:00
4614590cc7
kernel: Support listening sockets in poll() 2023-08-17 20:16:14 +02:00
41ab847ac9
base: Start wind on startup instead of the shell 2023-08-17 20:16:14 +02:00
1fd61f26be
wind: Add a simple display server skeleton using libui
No client functionality yet, but it's a start.
2023-08-17 20:16:14 +02:00
ab23c6103b
libui: Add a GUI and graphics library 2023-08-17 20:16:14 +02:00
d66aa31b2c
kernel: Fix negative movement in the PS/2 mouse driver 2023-08-17 20:16:14 +02:00
3 changed files with 1 additions and 13 deletions

View File

@ -55,8 +55,3 @@ target_compile_options(luna-freestanding PRIVATE -mno-80387 -mno-mmx -mno-sse -m
target_compile_definitions(luna-freestanding PUBLIC ARCH_X86_64) target_compile_definitions(luna-freestanding PUBLIC ARCH_X86_64)
target_compile_definitions(luna PUBLIC ARCH_X86_64) target_compile_definitions(luna PUBLIC ARCH_X86_64)
endif() endif()
add_custom_command(
TARGET luna
COMMAND "${CMAKE_COMMAND}" -E copy ${CMAKE_CURRENT_BINARY_DIR}/libluna.a ${LUNA_BASE}/usr/lib/libluna.a
)

View File

@ -27,8 +27,3 @@ target_include_directories(os PUBLIC ${LUNA_BASE}/usr/include)
if("${LUNA_ARCH}" MATCHES "x86_64") if("${LUNA_ARCH}" MATCHES "x86_64")
target_compile_definitions(os PUBLIC ARCH_X86_64) target_compile_definitions(os PUBLIC ARCH_X86_64)
endif() endif()
add_custom_command(
TARGET os
COMMAND "${CMAKE_COMMAND}" -E copy ${CMAKE_CURRENT_BINARY_DIR}/libos.a ${LUNA_BASE}/usr/lib/libos.a
)

View File

@ -58,7 +58,7 @@ case $format in
tar xf $output tar xf $output
;; ;;
git) git)
if ! [ -d $srcdir ]; then if ! [ -d $srcdir]; then
echo "Cloning repository for $name..." echo "Cloning repository for $name..."
git clone $url $srcdir git clone $url $srcdir
else else
@ -78,11 +78,9 @@ esac
if ! [ "$set_cc_variables" = "no" ]; then if ! [ "$set_cc_variables" = "no" ]; then
export CC=x86_64-luna-gcc export CC=x86_64-luna-gcc
export CXX=x86_64-luna-g++ export CXX=x86_64-luna-g++
export AR=x86_64-luna-ar
export PKG_CONFIG=luna-pkg-config export PKG_CONFIG=luna-pkg-config
export CC_FOR_BUILD=gcc export CC_FOR_BUILD=gcc
export CXX_FOR_BUILD=g++ export CXX_FOR_BUILD=g++
export AR_FOR_BUILD=ar
export PKG_CONFIG_FOR_BUILD=pkg-config export PKG_CONFIG_FOR_BUILD=pkg-config
fi fi