diff --git a/CMakeLists.txt b/CMakeLists.txt index b17b25a5..34b718af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,22 @@ set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Object code libraries") include(GNUInstallDirs) +#--- XDG data directory for .desktop files and icons (Linux only) ------------- +#--- desktops only look for them in $XDG_DATA_HOME (~/.local/share) and +#--- $XDG_DATA_DIRS (/usr/local/share:/usr/share), hence a non-standard prefix +#--- (e.g. $ROOTSYS) cannot be used for them. +if (UNIX AND NOT APPLE) + if (CMAKE_INSTALL_PREFIX STREQUAL "/usr" OR CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") + set(xdg_datadir_default "${CMAKE_INSTALL_FULL_DATADIR}") + elseif (CMAKE_INSTALL_PREFIX MATCHES "^$ENV{HOME}/") + set(xdg_datadir_default "$ENV{HOME}/.local/share") + else () + set(xdg_datadir_default "/usr/local/share") + endif () + set(MUSRFIT_XDG_DATADIR "${xdg_datadir_default}" CACHE PATH + "where the .desktop files and icons are installed (must be in the XDG search path)") +endif (UNIX AND NOT APPLE) + #--- musrfit specific options ------------------------------------------------- option(nexus "build optional NeXus support. Needed for ISIS" OFF) #--- 'HAVE_HDF4' is the name the C++ sources (PNeXus, PRunDataHandler, diff --git a/cmake/CPackOptions.cmake.in b/cmake/CPackOptions.cmake.in index 63ae75bb..3a14012d 100644 --- a/cmake/CPackOptions.cmake.in +++ b/cmake/CPackOptions.cmake.in @@ -17,7 +17,7 @@ set (CPACK_RESOURCE_FILE_LICENSE "@PROJECT_SOURCE_DIR@/COPYING") set (CPACK_RESOURCE_FILE_README "@PROJECT_SOURCE_DIR@/README.md") set (CPACK_RESOURCE_FILE_WELCOME "@PROJECT_SOURCE_DIR@/cmake/welcome.txt") -set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig;@CMAKE_INSTALL_PREFIX@/share/applications;@CMAKE_INSTALL_PREFIX@/share/icons;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48/apps") +set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig;@CMAKE_INSTALL_PREFIX@/share/applications;@CMAKE_INSTALL_PREFIX@/share/icons;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48/apps;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/scalable;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/scalable/apps;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/512x512;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/512x512/apps") # we do not have any absolute paths, so do not need DESTDIR set (CPACK_SET_DESTDIR "OFF") diff --git a/cmake/musrFT.desktop b/cmake/musrFT.desktop new file mode 100644 index 00000000..acc4e880 --- /dev/null +++ b/cmake/musrFT.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=musrFT +Comment=Fourier transform viewer for muSR data +Exec=musrFT %f +Icon=musrFT +Terminal=false +Type=Application +NoDisplay=true +StartupWMClass=musrFT +Categories=Science;Physics; +Keywords=muSR;fitting;musrfit;physics;muon; diff --git a/cmake/musrfit-root6.spec.in b/cmake/musrfit-root6.spec.in index 85657332..1fa0f9c4 100644 --- a/cmake/musrfit-root6.spec.in +++ b/cmake/musrfit-root6.spec.in @@ -93,6 +93,13 @@ rm -rf $RPM_BUILD_ROOT %doc %_prefix/share/doc/musrfit %{_datadir}/applications/musredit.desktop %{_datadir}/icons/hicolor/48x48/apps/musredit.png +%{_datadir}/applications/musrview.desktop +%{_datadir}/icons/hicolor/scalable/apps/musrview.svg +%{_datadir}/icons/hicolor/512x512/apps/musrview.png +%{_datadir}/applications/musrFT.desktop +%{_datadir}/icons/hicolor/48x48/apps/musrFT.png +%{_datadir}/applications/musrt0.desktop +%{_datadir}/icons/hicolor/48x48/apps/musrt0.png diff --git a/cmake/musrt0.desktop b/cmake/musrt0.desktop new file mode 100644 index 00000000..dbef74b7 --- /dev/null +++ b/cmake/musrt0.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=musrt0 +Comment=t0, data and background range determination for musrfit +Exec=musrt0 %f +Icon=musrt0 +Terminal=false +Type=Application +NoDisplay=true +StartupWMClass=musrt0 +Categories=Science;Physics; +Keywords=muSR;fitting;musrfit;physics;muon; diff --git a/cmake/musrview.desktop b/cmake/musrview.desktop new file mode 100644 index 00000000..c4380a9f --- /dev/null +++ b/cmake/musrview.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=musrview +Comment=viewer for musrfit msr-files (data, theory, Fourier) +Exec=musrview %f +Icon=musrview +Terminal=false +Type=Application +NoDisplay=true +StartupWMClass=musrview +Categories=Science;Physics; +Keywords=muSR;fitting;musrfit;physics;muon; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c097a7ec..f3578b00 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -181,4 +181,45 @@ install( ${CMAKE_INSTALL_BINDIR} ) +#--- Linux desktop integration (window/dock icons of the ROOT canvas tools) --- +if (UNIX AND NOT APPLE) + install( + FILES + ${CMAKE_SOURCE_DIR}/cmake/musrview.desktop + ${CMAKE_SOURCE_DIR}/cmake/musrFT.desktop + ${CMAKE_SOURCE_DIR}/cmake/musrt0.desktop + DESTINATION + ${MUSRFIT_XDG_DATADIR}/applications + ) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/classes/icons/musrview.svg + DESTINATION + ${MUSRFIT_XDG_DATADIR}/icons/hicolor/scalable/apps + ) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/classes/icons/musrview-512.png + DESTINATION + ${MUSRFIT_XDG_DATADIR}/icons/hicolor/512x512/apps + RENAME + musrview.png + ) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/classes/icons/musrFT.png + ${CMAKE_CURRENT_SOURCE_DIR}/classes/icons/musrt0.png + DESTINATION + ${MUSRFIT_XDG_DATADIR}/icons/hicolor/48x48/apps + ) + #--- a stale icon cache would hide the new icons, hence refresh an existing one + install(CODE " + set(icon_dir \"\$ENV{DESTDIR}${MUSRFIT_XDG_DATADIR}/icons/hicolor\") + find_program(GTK_UPDATE_ICON_CACHE gtk-update-icon-cache) + if (GTK_UPDATE_ICON_CACHE AND EXISTS \"\${icon_dir}/icon-theme.cache\") + execute_process(COMMAND \${GTK_UPDATE_ICON_CACHE} -q -t -f \"\${icon_dir}\") + endif () + ") +endif (UNIX AND NOT APPLE) + diff --git a/src/classes/PFourierCanvas.cpp b/src/classes/PFourierCanvas.cpp index f45c4bf3..8c22e4ad 100644 --- a/src/classes/PFourierCanvas.cpp +++ b/src/classes/PFourierCanvas.cpp @@ -39,6 +39,8 @@ #include "PFourierCanvas.h" +#include "icons/musrFT_icon.xpm" + #define YINFO 0.2 #define YTITLE 0.95 @@ -1119,6 +1121,9 @@ void PFourierCanvas::InitFourierCanvas(const Char_t* title, Int_t wtopx, Int_t w // add canvas menu if not in batch mode if (!fBatchMode) { fImp = static_cast(fMainCanvas->GetCanvasImp()); + // replace the generic ROOT window icon; the class hint lets the desktop match musrFT.desktop + fImp->SetIconPixmap(const_cast(musrFT_icon_xpm)); + fImp->SetClassHints("musrFT", "musrFT"); fBar = fImp->GetMenuBar(); fPopupMain = fBar->AddPopup("MusrFT"); diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index bc0dbcfe..846c3805 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -42,6 +42,8 @@ #include "PFourier.h" #include "PStringUtils.h" +#include "icons/musrview_icon.xpm" + static const char *gFiletypes[] = { "Data files", "*.dat", "All files", "*", nullptr, nullptr }; @@ -2381,6 +2383,9 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // add canvas menu if not in batch mode if (!fBatchMode) { fImp = (TRootCanvas*)fMainCanvas->GetCanvasImp(); + // replace the generic ROOT window icon; the class hint lets the desktop match musrview.desktop + fImp->SetIconPixmap(const_cast(musrview_icon_xpm)); + fImp->SetClassHints("musrview", "musrview"); fImp->Connect("CloseWindow()", "PMusrCanvas", this, "WindowClosed()"); fBar = fImp->GetMenuBar(); fPopupMain = fBar->AddPopup("&Musrfit"); diff --git a/src/classes/PMusrT0.cpp b/src/classes/PMusrT0.cpp index a041e39c..d918915f 100644 --- a/src/classes/PMusrT0.cpp +++ b/src/classes/PMusrT0.cpp @@ -37,6 +37,8 @@ #include "PMusrT0.h" +#include "icons/musrt0_icon.xpm" + #define DETECTOR_TAG_FORWARD 0 #define DETECTOR_TAG_BACKWARD 1 @@ -494,6 +496,12 @@ PMusrT0::PMusrT0(PMusrT0Data &data) : fMusrT0Data(data) fMainCanvas = std::make_unique("fMainCanvas", str); fMainCanvas->SetFillColor(TColor::GetColor(255,255,255)); + // replace the generic ROOT window icon; the class hint lets the desktop match musrt0.desktop + TRootCanvas *imp = dynamic_cast(fMainCanvas->GetCanvasImp()); + if (imp) { + imp->SetIconPixmap(const_cast(musrt0_icon_xpm)); + imp->SetClassHints("musrt0", "musrt0"); + } fMainCanvas->Show(); diff --git a/src/classes/icons/musrFT.png b/src/classes/icons/musrFT.png new file mode 100644 index 00000000..c780ef1e Binary files /dev/null and b/src/classes/icons/musrFT.png differ diff --git a/src/classes/icons/musrFT_icon.xpm b/src/classes/icons/musrFT_icon.xpm new file mode 100644 index 00000000..cb6a23b8 --- /dev/null +++ b/src/classes/icons/musrFT_icon.xpm @@ -0,0 +1,107 @@ +/* XPM */ +static const char *musrFT_icon_xpm[] = { +/* columns rows colors chars-per-pixel */ +"64 64 37 1 ", +" c None", +". c gray30", +"X c #5C5C5C", +"o c #7C7C7C", +"O c #DA4554", +"+ c #DC505E", +"@ c #DE5B68", +"# c #E0626F", +"$ c #E16874", +"% c #E3727E", +"& c #E47883", +"* c #8D8D8D", +"= c #9A9A9A", +"- c #ACACAC", +"; c #B5B5B5", +": c #E6838D", +"> c #E88B94", +", c #E9929B", +"< c #EB9AA2", +"1 c #EDA7AE", +"2 c #EEACB3", +"3 c #EFB0B6", +"4 c #F0B6BC", +"5 c #F2BDC3", +"6 c #C6C6C6", +"7 c #D7D7D7", +"8 c #F4C4C8", +"9 c #F5CDD1", +"0 c #F7D6DA", +"q c #F9DFE2", +"w c #E7E7E7", +"e c #FBE9EA", +"r c #FEFCFC", +"t c #FEFEFE", +"y c #FFFEFE", +"u c white", +"i c #FFFFFF", +/* pixels */ +" ----------------------------------------------- ", +" -==;666666666666666666666666666666666666666666666;==- ", +" =;wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuw;= ", +" -=wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuw=- ", +" =wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuw= ", +" =wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuw= ", +" -;uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;-", +" =wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuw=", +" =uuuuuu;****ruuuw****6uuuu-******7uuuuuuuuuuuuuuuuuuuuuuuuuuuu=", +"-;uuuuuu*....wuuu7....=uuuuo......;uuuuuuuuuuuuuuuuuuuuuuuuuuuu;", +"-6uuuuuu-ooooruuuwoooo;uuuu-oooooo7uuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuu=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=uuuuuuu6", +"-6uuuuuu*..............................................*uuuuuuu6", +"-6uuuuuu6----------------------------------------------6uuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu::::8uuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuueOOOO>uuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuu5OO#O$uuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuu5OOeu,O$uuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuu5OOeuuu,O$uuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuu>O@uuuu4OOeuuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuuuu@OO@uuuuuu4OOeuuuuuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuuuuuuuuuuuuuuuuur@OO@uuuuuuuu4OO&&8uuuuuuuuuuuuuuuuuuu6", +"-6uuuuuuuuuruuuuuuuuuuuuuue+Ouuuuuuuuuuuuu%O@uuuuuuuuuuuuuuuuuu6", +"-6uuuuuuur@OO+9rrrrruuuuuuuuuuuuuuuuuuuu%O@eu3O&0uuuuuuuuuuu6", +"-6uuuuuur@O%0+OOOOOO$e2@OOOeuuuuuuuuuuuuuuu9OO$1OOOO&0uuuuuuuuu6", +"-6uuuuuu4OO9uq8888 c #828282", +", c #949494", +"< c #9A9A9A", +"1 c #9D9D9D", +"2 c #AAAAAA", +"3 c #ABABAB", +"4 c #A8A8A8", +"5 c #ADADAD", +"6 c #A2A2A2", +"7 c #B3B3B3", +"8 c #BBBBBB", +"9 c #C6C6C6", +"0 c #C7C7C7", +"q c #C4C4C4", +"w c #C2C2C2", +"e c #CBCBCB", +"r c #D3D3D3", +"t c #DBDBDB", +"y c #E2E2E2", +"u c #ECECEC", +"i c #F4F4F4", +"p c white", +"a c #FEFEFE", +"s c #FCFCFC", +"d c #FAFAFA", +/* pixels */ +" 53333333333333333333333333333333333333333333335 ", +" 3<<79999999999999999999999999999999999999999999997<<3 ", +" <7upppppppppppppppppppppppppppppppppppppppppppppppppu7< ", +" 5@@9pppppppppppppppppppOopppppppppppppppppppppp9", +"39pppppppppppppp-@@8pppppppppppppppppppOopppppppppppppppppppppp9", +"39pppppppppppppp=@@7pppppppppppppppppppOoppppppp86rpppppppppppp9", +"39pppppppppppppp*@@4pppppppppppppppppppOopppppp@+*oppp+,pppppppppp9", +"39pppppppppppppu@@@-pppppppppppppppppppOoppppp$:ppp$:pppppppppp9", +"39pppppppppppppy@@@;pppppppppppppppppppiippppp&-ppp+1pppppppppp9", +"39pppppppppppppt@@@=pppppppppppppppppppppppppp-%pppO8pppppppppp9", +"39pppppppppppppr@@@*pppppppppppppppppppppppppproyp5Odpppppppppp9", +"39ppppppppppppp0@@@&pppppppppppppippppppppppppp:o+o7ppppppppppp9", +"39ppppppppppppp8@@@@ppppppppppppp<=9ppppppppppppuripppppppppppp9", +"39ppppppppppppp7@@@@ipppppppppppp*@@=0ppppppppppppppppppppppppp9", +"39ppppppppppppp3@@@@upppppppppppr@@@@@=0ppppppppppppppppppppppp9", +"39ppppppppppppp6@@@@yppppppppppp<@%w=@@@rpppppppppppppppppppppp9", +"39ppppppppppppp,@%@@rppppppppppp*@,ppw%@-pppppppppppppppppppppp9", +"39ppppppppppppp:@=@@eppppppppppr@@rppp8@@rppppppppppppppppppppp9", +"39ppppppppppppp>@>@@9pppppppppp<@%ppppp*@;ppppppppppppppppppppp9", +"39ppppppppppppp-@,&@8pppppppppp*@,ppppp8@@wpppppppppppppppppppp9", +"39ppppppppppppp=@1%@7pppppppppt@@rpppppp*@@-rpppppppppppppppppp9", +"39ppppppppppppp*@4*@4ppppppppp9@@ippppppe*@@@-rpppppppppppppppp9", +"39ppppppppppppp%@5=@1ppppppppp3@%ppppppppp8*@@@0ppppppppppppppp9", +"39ppppppppppppp&@8-@,ppppppppp,@;ppppppppppp8%@=ppppppppppppppp9", +"39ppppppppppppd@@w>@:ppppppppp;@:ppppppppppppw@@0pppppppppppppp9", +"39ppppppppppppu@@e:@-ppppppppp%@3ppppppppppppp=@=pppppppppppppp9", +"39ppppppppppppy@@r,@;ppppppppi@@wpppppppppppppw@@wppppppppppppp9", +"39ppppppppppppt@@y6@=ppppppppt@@tpppppppppppppp=@@>tppppppppppp9", +"39ppppppppppppr@@u3@*pppppppp9@@ippppppppppppppe%@@@>tppppppppp9", +"39pppppppppppp0@@i7@&pppppppp3@%ppppppppppppppppd8*@@6ppppppppp9", +"39pppppppppppp8@@p8@@pppppppp,@;ppppppppppppppppppd8=ippppppppp9", +"39pppppppppppp7@&p9@@ippppppp-@:ppppppppppppppppppppppppppppppp9", +"39pppppppppppp3@*pr@@uppppppp%@3ppppppppppppppppppppppppppppppp9", +"39pppppppppppp6@=pt@@yppppppi@@wppppppppppppppppppppppppppppppp9", +"39pppppppppppp,@;py@@tppppppt@@tppppppppppppppppppppppppppppppp9", +"39pppppppppppp:@-pu@@epppppp9@@ippppppppppppppppppppppppppppppp9", +"39pppppppppppp;@:pd@@7pppppp<@%pppppppppppppppppppppppppppppppp9", +"39ppppppppppp,@@1pp%@&0pppp5@@-pppppppppppppppppppppppppppppppp9", +"39pppppp5---=@@>dppy%@&----@@=ipppppppppppppppppppppppppppppppp9", +"39pppppp:@@@@@>dppppy%@@@@@@=ippppppppppppppppppppppppppppppppp9", +"57pppppp7:::: + + + + + + + + + + + + + VIEW + diff --git a/src/classes/icons/musrview_icon.xpm b/src/classes/icons/musrview_icon.xpm new file mode 100644 index 00000000..1f423e47 --- /dev/null +++ b/src/classes/icons/musrview_icon.xpm @@ -0,0 +1,122 @@ +/* XPM */ +static const char *musrview_icon_xpm[] = { +/* columns rows colors chars-per-pixel */ +"64 64 52 1 ", +" c None", +". c #010101", +"X c #0D1215", +"o c #0E1316", +"O c #1B2329", +"+ c #262F37", +"@ c #221D22", +"# c #5F2329", +"$ c #2C3B46", +"% c #364855", +"& c #3D5362", +"* c #475C6B", +"= c #4D6678", +"- c #54515F", +"; c #573944", +": c #A72129", +"> c #E7141C", +", c #D52A34", +"< c #DF1B23", +"1 c #983844", +"2 c #D13945", +"3 c #A45967", +"4 c #D04654", +"5 c #CA5969", +"6 c #C76474", +"7 c #5D7C92", +"8 c #587488", +"9 c #657789", +"0 c #B87A8F", +"q c #8A7A8E", +"w c #C26F82", +"e c #62839A", +"r c #7E859B", +"t c #6689A3", +"y c #719AB9", +"u c #7193AC", +"i c #7599B2", +"p c #7BA7C7", +"a c #7FB0D3", +"s c #7FAFD1", +"d c #AB96AD", +"f c #85A3BB", +"g c #B191A7", +"h c #85AFCD", +"j c #87B5D7", +"k c #93BDDC", +"l c #88B1CE", +"z c #A4AFCA", +"x c #98C1DF", +"c c #9DC5E1", +"v c #A4CAE4", +"b c #A3C1DB", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvldvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvv3:kvvvvvvvvvvvvvvvzvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvvvvb5*9vvvvvvvvvvvvvvv5vvvvvvvvvvvvvvvvvvvvvvvvvvv ", +" vvcvvvvf+vvvccvvvvvvccvg<6vvvvvvccvvvvccvvvvccvvvvvv ", +" cccccvvvOlccccccccccccc,>>zccccccccccccccccccccccccc ", +" ccccccvc*9zccccccccccc8#>:fccccccccccccccccccccccccc ", +" ccccccccu#5ccccccccccuOk5iOlccccccccccccccdxccwccccc ", +" ccccccccd>>0ccccccccz@fxdc9%xccccccccczzck2qkz2zcccc ", +" ccccccccg>>6cccccccc31xcxxc;2xcxcccccx529:><@<>4cccc ", +" ccccccccx1:zcccccccd>>dxxxz>>6ccxxcccg>>:4>>d>>2cccc ", +" cccccccccf#cccccxxx3>>0ccxz>>:czzcccxz>>gz20xd,zcccc ", +" xxxxxxxxxx+ixxxxxxx+24kxxxx02@f5gxxxxe#6xxgkxx5xxxxx ", +" xxxxxxxxxx==xxxxxxi+ddxxxxxxzu#>>dx5uOlxxxxxxxccxxxx ", +" xxxxxxxxxxhOxxxxxz&7xxxxxxxxxx1>>gd,#pxxccxxxxcxxxxx ", +" xxxxxxxxxxx+fxxxg,@kxxxxxxxxxxk::9<>>,xxxxxxxxxxxkdr*,>2xxxxxxxxxxxxxxx ", +" kkkkkkxkkkklodkk,>4kkkkkkkkkkkkkkkk4kkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkk*1kk-,kkkkkkkkkkkkkkkkk0kkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkk0>,9Okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkk4>>;hkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkkg<4kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkkk6lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkkkdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ", +" kkklhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhlkkk ", +" kkklhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhlkkk ", +" kkjjkjkkkkkkkkkkjjkjjjkkkkkkkjjkkkjjkkkkkkkkkkkkjjkk ", +" kjjjjjjje7hjjjp7eje7pju777777ej77pjju7ujjh77ljjjjjjj ", +" kjjjjjjj$.=jjj=.$jo.tj$......ojO.=jj$.Ojje.Xjjjjjjjj ", +" jjjjjjjj8.+jjj+.7jo.tj$.+=====j*.%jjo..lj*.$jjjjjjjj ", +" jjjjjjjjh..hjh.Xljo.tj$.*jjjjjjt.Ojp.+.tj$.8jjjjjjjj ", +" jjjjjjjjj$.7j7.%jjo.tj$.%uuuupjjX.h7.7.=jo.pjjjjjjjj ", +" jjjjjjjjj8.%j%.ejjo.tj$......*jj$.t*.ho$p.Ojjjjjjjjj ", +" jjjjjjjjp.ojoXljjo.tj$.O%%%%ejj8.=+Oj$oe.&jjjjjjjj ", +" jjjjjjjjj$.8.%jjjo.tj$.*jjjjjjjp.$X%j=.%.ejjjjjjjj ", +" jjjjjjjjj8.X.ejjjo.tj$.*jjjjjjjjO..=jt.X.hjjjjjjjj ", +" jjjjjjjjs..XhjjjX.ej$.O$$$$$yjj&..ujs..+jjjjjjjj ", +" jjjjjjjjj$.%jjjjX.ej$.......yjje..ajjO.=jjjjjjjj ", +" jjjjjjjjpypjjjjyypjpyyyyyyyajjayyjjjpysjjjjjjj ", +" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ", +" aaajjjjaaajjjjjjjajjjaajjjjjjjjjaaajjaajjj ", +" jjjaaaajjjjjjaajjjjaaaajjjjjjaajjjjaaa ", +" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/src/musredit_qt5/musredit/CMakeLists.txt b/src/musredit_qt5/musredit/CMakeLists.txt index 77a8e46c..b8cbb961 100644 --- a/src/musredit_qt5/musredit/CMakeLists.txt +++ b/src/musredit_qt5/musredit/CMakeLists.txt @@ -141,13 +141,13 @@ if (UNIX AND NOT APPLE) FILES ${CMAKE_SOURCE_DIR}/cmake/musredit.desktop DESTINATION - ${CMAKE_INSTALL_DATADIR}/applications + ${MUSRFIT_XDG_DATADIR}/applications ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/musredit.png DESTINATION - ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps + ${MUSRFIT_XDG_DATADIR}/icons/hicolor/48x48/apps ) endif (UNIX AND NOT APPLE) diff --git a/src/musredit_qt6/musredit/CMakeLists.txt b/src/musredit_qt6/musredit/CMakeLists.txt index ea03c908..c9a2a9c1 100644 --- a/src/musredit_qt6/musredit/CMakeLists.txt +++ b/src/musredit_qt6/musredit/CMakeLists.txt @@ -142,13 +142,13 @@ if (UNIX AND NOT APPLE) FILES ${CMAKE_SOURCE_DIR}/cmake/musredit.desktop DESTINATION - ${CMAKE_INSTALL_DATADIR}/applications + ${MUSRFIT_XDG_DATADIR}/applications ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/musredit.png DESTINATION - ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps + ${MUSRFIT_XDG_DATADIR}/icons/hicolor/48x48/apps ) endif (UNIX AND NOT APPLE)