Added Dino with windows console

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
This commit is contained in:
Maxim Logaev 2024-04-03 18:03:00 +03:00
parent 583a381c74
commit 48cf971cae
2 changed files with 20 additions and 8 deletions

View file

@ -134,6 +134,12 @@ dist_install()
{ {
_dist_arg=${1:-$DIST_DIR} _dist_arg=${1:-$DIST_DIR}
msg "Generate dino-with-console.exe"
cp -f "$_dist_arg/bin/dino.exe" "$_dist_arg/bin/dino-with-console.exe"
# IMAGE_SUBSYSTEM_WINDOWS_CUI = 0x0003
# SUBSYSTEM_OFFSET = 0xDC (220)
printf '\x03\x00' | dd of="$_dist_arg/bin/dino-with-console.exe" bs=1 seek=220 count=2 conv=notrunc
msg "Copying MINGW64 dependencies" msg "Copying MINGW64 dependencies"
cp /mingw64/bin/gdbus.exe "$_dist_arg/bin" cp /mingw64/bin/gdbus.exe "$_dist_arg/bin"
cp /mingw64/bin/gspawn-win64-helper.exe "$_dist_arg/bin" cp /mingw64/bin/gspawn-win64-helper.exe "$_dist_arg/bin"

View file

@ -3,10 +3,10 @@ Unicode True
RequestExecutionLevel user RequestExecutionLevel user
SetCompressor /SOLID lzma SetCompressor /SOLID lzma
!define MUI_PRODUCT "Dino" !define MUI_PRODUCT "Dino+"
!define MUI_PRODUCT_NAME ${MUI_PRODUCT} !define MUI_PRODUCT_NAME ${MUI_PRODUCT}
!define MUI_BRANDINGTEXT ${MUI_PRODUCT} !define MUI_BRANDINGTEXT ${MUI_PRODUCT}
!define PRODUCT_WEBSITE "https://dino.im" !define PRODUCT_WEBSITE "https://github.com/mxlgv/dino"
!define MUI_ICON "win64-dist/dino.ico" !define MUI_ICON "win64-dist/dino.ico"
!define ICON "win64-dist/dino.ico" !define ICON "win64-dist/dino.ico"
!define MUI_COMPONENTSPAGE_NODESC !define MUI_COMPONENTSPAGE_NODESC
@ -18,7 +18,7 @@ SetCompressor /SOLID lzma
!include "english.nsh" !include "english.nsh"
Name ${MUI_PRODUCT} Name ${MUI_PRODUCT}
BrandingText "Communicating happiness" BrandingText "Dino+, a modern XMPP/Jabber client"
# define installer name # define installer name
OutFile "dino-installer.exe" OutFile "dino-installer.exe"
@ -35,15 +35,21 @@ File /r win64-dist\*.*
# define uninstaller name # define uninstaller name
WriteUninstaller $INSTDIR\uninstaller.exe WriteUninstaller $INSTDIR\uninstaller.exe
# Create a shortcut for startmenu # Create Dino shortcuts macro
!macro CreateDinoShortcut Path
CreateShortCut "${Path}\Dino+.lnk" "$INSTDIR\bin\dino.exe" "" "$INSTDIR\dino.ico"
CreateShortCut "${Path}\Dino+ (debug).lnk" "$WINDIR\system32\cmd.exe" '/c set G_MESSAGES_DEBUG=all&&"$INSTDIR\bin\dino-with-console.exe"' "$INSTDIR\dino.ico"
!macroend
# Create shortcuts for startmenu
CreateDirectory "$SMPROGRAMS\Dino" CreateDirectory "$SMPROGRAMS\Dino"
CreateShortcut "$SMPROGRAMS\Dino\Dino.lnk" "$INSTDIR\bin\dino.exe" "" "$INSTDIR\dino.ico" !insertmacro CreateDinoShortcut "$SMPROGRAMS\Dino"
CreateShortcut "$SMPROGRAMS\Dino\Uninstaller.lnk" "$INSTDIR\uninstaller.exe" CreateShortcut "$SMPROGRAMS\Dino\Uninstaller.lnk" "$INSTDIR\uninstaller.exe"
CreateShortcut "$SMPROGRAMS\Dino\License.lnk" "notepad.exe" "$INSTDIR\LICENSE" CreateShortcut "$SMPROGRAMS\Dino\License.lnk" "notepad.exe" "$INSTDIR\LICENSE"
CreateShortcut "$SMPROGRAMS\Dino\Dino website.lnk" "https://dino.im" "" "$INSTDIR\dino.ico" CreateShortcut "$SMPROGRAMS\Dino\Dino+ website.lnk" "https://github.com/mxlgv/dino" "" "$INSTDIR\dino.ico"
# Create a shortcut for desktop # Create a shortcuts for desktop
CreateShortCut "$DESKTOP\Dino.lnk" "$INSTDIR\bin\dino.exe" "" "$INSTDIR\dino.ico" !insertmacro CreateDinoShortcut "$DESKTOP"
# set application ID # set application ID
# No "ApplicationID" plugin for NSIS MINGW64 # No "ApplicationID" plugin for NSIS MINGW64