Add OD-Commander filemanager support

This commit is contained in:
rocknix
2025-08-08 17:46:24 +00:00
parent d344a491a4
commit 03c9247abd
9 changed files with 128 additions and 2 deletions

View File

@@ -0,0 +1,30 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2025-present ROCKNIX (https://github.com/ROCKNIX)
PKG_NAME="commander"
PKG_VERSION="9aa39d7bcb5d0f6faadaf027a1539d14177a3c7c"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/od-contrib/commander"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_image SDL2_gfx SDL2_ttf dejavu"
PKG_LONGDESC="A minimal SDL2 file manager for embedded Linux devices."
PKG_TOOLCHAIN="cmake"
PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release \
-DWITH_SYSTEM_SDL_TTF=ON \
-DWITH_SYSTEM_SDL_GFX=ON \
-DAUTOSCALE_DPI=0 \
-DPPU_X=2 \
-DPPU_Y=2 \
-DCMDR_GAMEPAD_OPEN=ControllerButton::A \
-DCMDR_GAMEPAD_PARENT=ControllerButton::B"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
mkdir -p ${INSTALL}/usr/share/commander
cp -rf ${PKG_BUILD}/.${TARGET_NAME}/commander ${INSTALL}/usr/bin/
cp -rf ${PKG_BUILD}/res ${INSTALL}/usr/share/commander/res
chmod 0755 ${INSTALL}/usr/bin/commander
}

View File

@@ -0,0 +1,34 @@
diff --git a/def.h b/def.h
index 231e052..05de582 100755
--- a/def.h
+++ b/def.h
@@ -36,17 +36,17 @@
#define DIALOG_BORDER 2
#define DIALOG_PADDING 8
// Colors
-#define COLOR_TITLE_BG 102, 85, 74
-#define COLOR_KEY 255, 0, 255
-#define COLOR_TEXT_NORMAL 70, 27, 10
-#define COLOR_TEXT_TITLE 233, 229, 227
-#define COLOR_TEXT_DIR 75, 70, 164
-#define COLOR_TEXT_SELECTED 255, 0, 0
-#define COLOR_CURSOR_1 232, 152, 80
-#define COLOR_CURSOR_2 232, 201, 173
-#define COLOR_BG_1 255, 255, 255
-#define COLOR_BG_2 232, 228, 224
-#define COLOR_BORDER 102, 85, 74
-#define COLOR_BORDER_ERROR 128, 55, 55
+#define COLOR_TITLE_BG 40, 44, 52 // Dark slate gray
+#define COLOR_KEY 198, 120, 221 // Soft purple
+#define COLOR_TEXT_NORMAL 171, 178, 191 // Light gray-blue
+#define COLOR_TEXT_TITLE 255, 255, 255 // White
+#define COLOR_TEXT_DIR 97, 175, 239 // Soft blue
+#define COLOR_TEXT_SELECTED 224, 108, 117 // Soft red
+#define COLOR_CURSOR_1 80, 80, 80 // Charcoal gray
+#define COLOR_CURSOR_2 100, 100, 100 // Slightly lighter gray
+#define COLOR_BG_1 30, 34, 40 // Main dark background
+#define COLOR_BG_2 36, 40, 48 // Slightly lighter background
+#define COLOR_BORDER 56, 60, 72 // Subtle borders
+#define COLOR_BORDER_ERROR 191, 97, 106 // Muted red
#endif // _DEF_H_

View File

@@ -0,0 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1a36617..b716c6a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,10 +25,10 @@ option(USE_SDL2 "Use SDL2 instead of SDL1" ON)
option(WITH_SYSTEM_SDL_GFX "Use system SDL_gfx library" OFF)
option(WITH_SYSTEM_SDL_TTF "Use system SDL_ttf library" OFF)
-set(RES_DIR \"res/\" CACHE STRING "Resources directory")
+set(RES_DIR \"/usr/share/commander/res/\" CACHE STRING "Resources directory")
set(FILE_SYSTEM \"/dev/mmcblk1p1\" CACHE STRING "Default filesystem (for Disk info)")
-set(PATH_DEFAULT "" CACHE STRING "Default path for the left pane (default: getenv(\"PWD\")")
-set(PATH_DEFAULT_RIGHT "" CACHE STRING "Default path for the right pane (default: getenv(\"HOME\")")
+set(PATH_DEFAULT \"/storage/.config/\" CACHE STRING "Default path for the left pane (default: getenv(\"HOME\")")
+set(PATH_DEFAULT_RIGHT \"/storage/.config/\" CACHE STRING "Default path for the right pane (default: getenv(\"HOME\")")
set(AUTOSCALE 1 CACHE STRING "Auto-detect resolution (maximize on startup if there is a windowing system)")
set(AUTOSCALE_DPI 1 CACHE STRING "Auto-detect DPI scaling factors")
set(WITH_SYSTEM_SDL_TTF OFF CACHE BOOL "Use system sdl_ttf")

View File

@@ -0,0 +1,16 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2025-present ROCKNIX (https://github.com/ROCKNIX)
PKG_NAME="dejavu"
PKG_VERSION="2.37"
PKG_LICENSE="Bitstream"
PKG_SITE="https://sourceforge.net/projects/dejavu/files/dejavu/${PKG_VERSION}"
PKG_URL="${PKG_SITE}/${PKG_NAME}-fonts-ttf-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="The DejaVu fonts are a font family based upon Bitstream Vera v1.10."
PKG_TOOLCHAIN="manual"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/fonts/truetype/dejavu/
cp -rf ${PKG_BUILD}/ttf/DejaVuSansCondensed.ttf ${INSTALL}/usr/share/fonts/truetype/dejavu/
}

View File

@@ -172,6 +172,8 @@ makeinstall_target() {
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgcc/libgcc_s.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libstdc++-v3/src/.libs/libstdc++.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgomp/.libs/*.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libsanitizer/asan/.libs/*.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libsanitizer/ubsan/.libs/*.so* ${INSTALL}/usr/lib
if [ "${OPTS_LIBATOMIC}" = "--enable-libatomic" ]; then
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libatomic/.libs/libatomic.so* ${INSTALL}/usr/lib
fi

View File

@@ -16,6 +16,18 @@ case ${DEVICE} in
;;
esac
# Fileman or Commander Filemanager
case ${DEVICE} in
SM8250)
PKG_DEPENDS_TARGET+=" commander"
FILEMANAGER="commander"
;;
*)
PKG_DEPENDS_TARGET+=" fileman"
FILEMANAGER="fileman"
;;
esac
make_target() {
:
}
@@ -39,5 +51,8 @@ post_makeinstall_target() {
then
rm -f ${INSTALL}/usr/config/modules/Install*
fi
# Set filemanger
sed -e "s/@FILEMANAGER@/${FILEMANAGER}/g" -i ${INSTALL}/usr/config/modules/gamelist.xml
}

View File

@@ -0,0 +1,11 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2025 ROCKNIX (https://github.com/ROCKNIX)
. /etc/profile
set_kill set "commander"
sway_fullscreen "commander" &
/usr/bin/commander

View File

@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<gameList>
<game>
<path>./fileman.sh</path>
<path>./@FILEMANAGER@.sh</path>
<name>File Manager</name>
<desc>Enables you to browse the ROCKNIX filesystem and manage files directly on your device. You can also use this tool to copy files from external drives to your ROCKNIX filesystem.</desc>
<developer>Tardigrade and ROCKNIX</developer>

View File

@@ -17,7 +17,7 @@ PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host
PKG_UI="emulationstation es-themes textviewer"
PKG_UI_TOOLS="fileman fbgrab grim"
PKG_UI_TOOLS="fbgrab grim"
PKG_GRAPHICS="imagemagick"