Skip to content

Commit 5d60152

Browse files
authored
Merge pull request #2 from Ianisop/dev
v0.6.0 merge install.sh changes
2 parents 0e6ef0b + 3e5f3df commit 5d60152

File tree

6 files changed

+88
-15
lines changed

6 files changed

+88
-15
lines changed

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ target_link_libraries(lsd
6969
clip
7070
)
7171

72+
# ---- Define install path macro ----
73+
if(CMAKE_BUILD_TYPE MATCHES Release)
74+
target_compile_definitions(lsd PRIVATE RELEASE_INSTALL_PATH=\"/usr/local/share/lsd/\")
75+
else()
76+
target_compile_definitions(lsd PRIVATE DEBUG_INSTALL_PATH=\"./build/\")
77+
endif()
78+
79+
7280
# Add pthread on Linux
7381
if (UNIX AND NOT APPLE)
7482
target_link_libraries(lsd PRIVATE pthread)

build.sh

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
#!/bin/bash
2+
cd build
3+
mkdir shaders
4+
mkdir fonts
25
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=1
36
make
4-
cp ../src/shaders/shader.vert .
5-
cp ../src/shaders/shader.frag .
6-
cp ../src/shaders/bg.frag .
7-
cp ../src/shaders/bg.vert .
87

9-
cp ../src/fonts/JetBrainsMono-Bold.ttf .
10-
cp ../src/fonts/JetBrainsMono-Italic.ttf .
11-
cp ../src/fonts/JetBrainsMono-BoldItalic.ttf .
12-
cp ../src/fonts/JetBrainsMono-Medium.ttf .
8+
cp ../src/shaders/shader.vert shaders/
9+
cp ../src/shaders/shader.frag shaders/
10+
cp ../src/shaders/bg.frag shaders/
11+
cp ../src/shaders/bg.vert shaders/
12+
13+
cp ../src/fonts/JetBrainsMono-Bold.ttf fonts/
14+
cp ../src/fonts/JetBrainsMono-Italic.ttf fonts
15+
cp ../src/fonts/JetBrainsMono-BoldItalic.ttf fonts/
16+
cp ../src/fonts/JetBrainsMono-Medium.ttf fonts/
17+
18+
./lsd

install.sh

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/bash
2+
set -e
3+
4+
APP_NAME="lsd"
5+
BUILD_DIR="build"
6+
INSTALL_BIN="/usr/local/bin/$APP_NAME"
7+
INSTALL_SHARE="/usr/local/share/$APP_NAME"
8+
DESKTOP_FILE="/usr/share/applications/$APP_NAME.desktop"
9+
10+
# Build
11+
mkdir -p "$BUILD_DIR"
12+
cd "$BUILD_DIR"
13+
cmake .. -DCMAKE_BUILD_TYPE=Release
14+
make
15+
cd ..
16+
17+
# Install executable
18+
echo "Installing executable to $INSTALL_BIN"
19+
sudo cp "$BUILD_DIR/$APP_NAME" "$INSTALL_BIN"
20+
sudo chmod +x "$INSTALL_BIN"
21+
22+
# Install resources
23+
echo "Installing resources to $INSTALL_SHARE"
24+
sudo mkdir -p "$INSTALL_SHARE"
25+
sudo mkdir -p "$INSTALL_SHARE/shaders"
26+
sudo mkdir -p "$INSTALL_SHARE/fonts"
27+
sudo cp src/shaders/*.vert "$INSTALL_SHARE/shaders/"
28+
sudo cp src/shaders/*.frag "$INSTALL_SHARE/shaders/"
29+
sudo cp src/fonts/*.ttf "$INSTALL_SHARE/fonts/"
30+
sudo cp src/lsd.png /usr/local/share/lsd/lsd.png
31+
32+
# Create .desktop file
33+
echo "Creating .desktop file at $DESKTOP_FILE"
34+
sudo tee "$DESKTOP_FILE" > /dev/null <<EOF
35+
[Desktop Entry]
36+
Name=$APP_NAME
37+
Comment=Lightweight terminal app
38+
Exec=$INSTALL_BIN
39+
Icon=/usr/local/share/lsd/lsd.png
40+
Terminal=false
41+
Type=Application
42+
Categories=Utility;TerminalEmulator;
43+
EOF
44+
45+
echo "Installation complete. You can run '$APP_NAME' from your application menu or terminal."

readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<p align="center">
2+
<img src="src/lsd.png">
3+
</p>
4+
15
<h1 align="center">lsd</h1>
26
<p align="center"><b>Lightweight Shader-Driven Terminal Emulator</b></p>
37

src/lsd.cpp

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,17 @@
2424
#include <unistd.h>
2525
#include <vector>
2626

27+
28+
#ifdef RELEASE_INSTALL_PATH
29+
std::string asset_path = RELEASE_INSTALL_PATH;
30+
#else
31+
std::string asset_path = DEBUG_INSTALL_PATH;
32+
#endif
33+
2734
namespace LSD
2835
{
36+
37+
2938
std::string WINDOW_TITLE = "lsd";
3039
int FONT_SIZE = 18;
3140

@@ -206,7 +215,6 @@ void uploadAtlases()
206215
}
207216
}
208217

209-
// test comment for merge commit :)
210218

211219
// Grid helpers (call with g_lock held)
212220
void gridResizeLocked()
@@ -1190,7 +1198,7 @@ int main()
11901198
LSD::current_pty->setReadCallback(LSD::read_callback);// TODO: find way to unsubscribe maybe
11911199

11921200
// ── Terminal shader (required) ───────────────────────────────────────────
1193-
LSD::g_terminal_program = LSD::loadShaders("shader.vert", "shader.frag");
1201+
LSD::g_terminal_program = LSD::loadShaders(asset_path + "shaders/shader.vert", asset_path + "shaders/shader.frag");
11941202
if (!LSD::g_terminal_program)
11951203
{
11961204
std::cerr << "Failed to load terminal shaders\n";
@@ -1199,7 +1207,7 @@ int main()
11991207

12001208

12011209
// Background shader falls back to clear color
1202-
LSD::g_background_program = LSD::loadShaders("bg.vert", "bg.frag");
1210+
LSD::g_background_program = LSD::loadShaders(asset_path + "shaders/bg.vert", asset_path + "shaders/bg.frag");
12031211
if (LSD::g_background_program)
12041212
{
12051213
LSD::g_background_time_loc = glGetUniformLocation(LSD::g_background_program, "uTime");
@@ -1255,14 +1263,16 @@ int main()
12551263
std::cerr << "FT init failed\n";
12561264
return -1;
12571265
}
1258-
if (FT_New_Face(LSD::font_library, "JetBrainsMono-Medium.ttf", 0, &LSD::font_normal_face))
1266+
if (FT_New_Face(
1267+
LSD::font_library, (asset_path + "fonts/JetBrainsMono-Medium.ttf").c_str(), 0, &LSD::font_normal_face))
12591268
{
12601269
std::cerr << "Regular font missing\n";
12611270
return -1;
12621271
}
1263-
FT_New_Face(LSD::font_library, "JetBrainsMono-Bold.ttf", 0, &LSD::font_bold_face);
1264-
FT_New_Face(LSD::font_library, "JetBrainsMono-Italic.ttf", 0, &LSD::font_italic_face);
1265-
FT_New_Face(LSD::font_library, "JetBrainsMono-BoldItalic.ttf", 0, &LSD::font_bold_italic_face);
1272+
FT_New_Face(LSD::font_library, (asset_path + "fonts/JetBrainsMono-Bold.ttf").c_str(), 0, &LSD::font_bold_face);
1273+
FT_New_Face(LSD::font_library, (asset_path + "fonts/JetBrainsMono-Italic.ttf").c_str(), 0, &LSD::font_italic_face);
1274+
FT_New_Face(
1275+
LSD::font_library, (asset_path + "fonts/JetBrainsMono-BoldItalic.ttf").c_str(), 0, &LSD::font_bold_italic_face);
12661276

12671277
auto setSize = [](FT_Face f) {
12681278
if (f) FT_Set_Pixel_Sizes(f, 0, (FT_UInt)LSD::FONT_SIZE);

src/lsd.png

19.1 KB
Loading

0 commit comments

Comments
 (0)