mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
Add OD-Commander filemanager support
This commit is contained in:
30
projects/ROCKNIX/packages/apps/commander/package.mk
Normal file
30
projects/ROCKNIX/packages/apps/commander/package.mk
Normal 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
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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")
|
||||
16
projects/ROCKNIX/packages/fonts/dejavu/package.mk
Normal file
16
projects/ROCKNIX/packages/fonts/dejavu/package.mk
Normal 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/
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
11
projects/ROCKNIX/packages/misc/modules/sources/commander.sh
Normal file
11
projects/ROCKNIX/packages/misc/modules/sources/commander.sh
Normal 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
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user