Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fcitx5-rime for openSUSE:Factory checked in at 2023-10-04 22:31:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fcitx5-rime (Old) and /work/SRC/openSUSE:Factory/.fcitx5-rime.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcitx5-rime" Wed Oct 4 22:31:19 2023 rev:8 rq:1114929 version:5.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/fcitx5-rime/fcitx5-rime.changes 2023-08-21 11:44:57.971618096 +0200 +++ /work/SRC/openSUSE:Factory/.fcitx5-rime.new.28202/fcitx5-rime.changes 2023-10-04 22:32:12.377278083 +0200 @@ -1,0 +2,6 @@ +Tue Oct 3 07:55:08 UTC 2023 - Marguerite Su <i...@marguerite.su> + +- update to 5.1.2 + * Fix more than 10 candidate per page + +------------------------------------------------------------------- Old: ---- fcitx5-rime-5.1.1.tar.xz New: ---- fcitx5-rime-5.1.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fcitx5-rime.spec ++++++ --- /var/tmp/diff_new_pack.4dEb7j/_old 2023-10-04 22:32:13.365313794 +0200 +++ /var/tmp/diff_new_pack.4dEb7j/_new 2023-10-04 22:32:13.369313939 +0200 @@ -17,7 +17,7 @@ Name: fcitx5-rime -Version: 5.1.1 +Version: 5.1.2 Release: 0 Summary: RIME support for Fcitx5 License: LGPL-2.1-or-later ++++++ fcitx5-rime-5.1.1.tar.xz -> fcitx5-rime-5.1.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/CMakeLists.txt new/fcitx5-rime-5.1.2/CMakeLists.txt --- old/fcitx5-rime-5.1.1/CMakeLists.txt 2023-08-20 03:40:12.512012500 +0200 +++ new/fcitx5-rime-5.1.2/CMakeLists.txt 2023-09-29 22:23:59.485495800 +0200 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.6.0) -project(fcitx5-rime VERSION 5.1.1) +project(fcitx5-rime VERSION 5.1.2) find_package(ECM 1.0.0 REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -11,7 +11,7 @@ find_package(Gettext REQUIRED) find_package(Fcitx5Core 5.1.0 REQUIRED) -find_package(Fcitx5Module REQUIRED COMPONENTS Notifications DBus) +find_package(Fcitx5Module REQUIRED COMPONENTS Notifications) find_package(PkgConfig REQUIRED) pkg_check_modules(Rime REQUIRED IMPORTED_TARGET "rime>=1.0.0") if ("${Rime_VERSION}" VERSION_LESS "1.7.0") @@ -20,6 +20,9 @@ if ("${Rime_VERSION}" VERSION_LESS "1.6.0") add_definitions(-DFCITX_RIME_NO_LOG_LEVEL) endif() +if ("${Rime_VERSION}" VERSION_LESS "1.3.0") + add_definitions(-DFCITX_RIME_NO_SELECT_CANDIDATE) +endif() if(NOT DEFINED RIME_DATA_DIR) find_package(RimeData REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in new/fcitx5-rime-5.1.2/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in --- old/fcitx5-rime-5.1.1/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in 2023-08-20 03:40:12.575346700 +0200 +++ new/fcitx5-rime-5.1.2/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in 2023-09-29 22:23:59.612173800 +0200 @@ -10,6 +10,7 @@ <url type="bugtracker">https://github.com/fcitx/fcitx5-rime/issues</url> <project_group>Fcitx</project_group> <releases> + <release version="5.1.2" date="2023-09-29"/> <release version="5.1.1" date="2023-08-19"/> <release version="5.1.0" date="2023-08-14"/> <release version="5.0.16" date="2023-03-10"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/CMakeLists.txt new/fcitx5-rime-5.1.2/src/CMakeLists.txt --- old/fcitx5-rime-5.1.1/src/CMakeLists.txt 2023-08-05 19:35:24.730569400 +0200 +++ new/fcitx5-rime-5.1.2/src/CMakeLists.txt 2023-09-27 19:36:16.219793600 +0200 @@ -2,11 +2,26 @@ rimestate.cpp rimeengine.cpp rimecandidate.cpp - rimeservice.cpp rimesession.cpp ) + +set(RIME_LINK_LIBRARIES + Fcitx5::Core + Fcitx5::Config + PkgConfig::Rime + Fcitx5::Module::Notifications +) + +find_package(Fcitx5ModuleDBus QUIET) +if (Fcitx5ModuleDBus_FOUND) + list(APPEND RIME_SOURCES rimeservice.cpp) + list(APPEND RIME_LINK_LIBRARIES Fcitx5::Module::DBus) +else() + add_definitions(-DFCITX_RIME_NO_DBUS) +endif() + add_library(rime MODULE ${RIME_SOURCES}) -target_link_libraries(rime Fcitx5::Core Fcitx5::Config PkgConfig::Rime Fcitx5::Module::Notifications Fcitx5::Module::DBus) +target_link_libraries(rime ${RIME_LINK_LIBRARIES}) set_target_properties(rime PROPERTIES PREFIX "") install(TARGETS rime DESTINATION "${CMAKE_INSTALL_LIBDIR}/fcitx5") fcitx5_translate_desktop_file(rime.conf.in rime.conf) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/rimecandidate.cpp new/fcitx5-rime-5.1.2/src/rimecandidate.cpp --- old/fcitx5-rime-5.1.1/src/rimecandidate.cpp 2022-11-08 04:58:32.800564500 +0100 +++ new/fcitx5-rime-5.1.2/src/rimecandidate.cpp 2023-09-27 19:36:16.219793600 +0200 @@ -10,8 +10,9 @@ namespace fcitx { RimeCandidateWord::RimeCandidateWord(RimeEngine *engine, - const RimeCandidate &candidate, KeySym sym) - : CandidateWord(), engine_(engine), sym_(sym) { + const RimeCandidate &candidate, KeySym sym, + int idx) + : CandidateWord(), engine_(engine), sym_(sym), idx_(idx) { Text text; text.append(std::string(candidate.text)); if (candidate.comment && strlen(candidate.comment)) { @@ -22,11 +23,14 @@ } void RimeCandidateWord::select(InputContext *inputContext) const { - // Rime does not provide such an API, simulate the selection with a fake - // key event. if (auto state = engine_->state(inputContext)) { +#ifndef FCITX_RIME_NO_SELECT_CANDIDATE + state->selectCandidate(inputContext, idx_); +#else + // Simulate the selection with a fake key event. KeyEvent event(inputContext, Key(sym_)); state->keyEvent(event); +#endif } } @@ -62,7 +66,7 @@ sym = static_cast<KeySym>('0' + (i + 1) % 10); } candidateWords_.emplace_back(std::make_unique<RimeCandidateWord>( - engine, menu.candidates[i], sym)); + engine, menu.candidates[i], sym, i)); if (i == menu.highlighted_candidate_index) { cursor_ = i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/rimecandidate.h new/fcitx5-rime-5.1.2/src/rimecandidate.h --- old/fcitx5-rime-5.1.1/src/rimecandidate.h 2022-11-08 04:58:12.999984300 +0100 +++ new/fcitx5-rime-5.1.2/src/rimecandidate.h 2023-09-27 19:36:16.219793600 +0200 @@ -15,13 +15,14 @@ class RimeCandidateWord : public CandidateWord { public: RimeCandidateWord(RimeEngine *engine, const RimeCandidate &candidate, - KeySym sym); + KeySym sym, int idx); void select(InputContext *inputContext) const override; private: RimeEngine *engine_; KeySym sym_; + int idx_; }; class RimeCandidateList final : public CandidateList, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/rimeengine.h new/fcitx5-rime-5.1.2/src/rimeengine.h --- old/fcitx5-rime-5.1.1/src/rimeengine.h 2023-08-05 20:08:59.091996000 +0200 +++ new/fcitx5-rime-5.1.2/src/rimeengine.h 2023-09-27 19:36:16.219793600 +0200 @@ -6,7 +6,9 @@ #ifndef _FCITX_RIMEENGINE_H_ #define _FCITX_RIMEENGINE_H_ +#ifndef FCITX_RIME_NO_DBUS #include "rimeservice.h" +#endif #include "rimesession.h" #include "rimestate.h" #include <fcitx-config/configuration.h> @@ -108,7 +110,9 @@ RimeState *state(InputContext *ic); RimeSessionPool &sessionPool() { return sessionPool_; } +#ifndef FCITX_RIME_NO_DBUS FCITX_ADDON_DEPENDENCY_LOADER(dbus, instance_->addonManager()); +#endif private: static void rimeNotificationHandler(void *context_object, @@ -149,7 +153,9 @@ std::unique_ptr<EventSourceTime> timeEvent_; std::unique_ptr<HandlerTableEntry<EventHandler>> globalConfigReloadHandle_; +#ifndef FCITX_RIME_NO_DBUS RimeService service_{this}; +#endif RimeSessionPool sessionPool_; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/rimestate.cpp new/fcitx5-rime-5.1.2/src/rimestate.cpp --- old/fcitx5-rime-5.1.1/src/rimestate.cpp 2023-08-05 19:35:24.730569400 +0200 +++ new/fcitx5-rime-5.1.2/src/rimestate.cpp 2023-09-27 19:36:16.219793600 +0200 @@ -136,6 +136,26 @@ } } +#ifndef FCITX_RIME_NO_SELECT_CANDIDATE +void RimeState::selectCandidate(InputContext *inputContext, int idx) { + auto api = engine_->api(); + if (!api || api->is_maintenance_mode()) { + return; + } + auto session = this->session(); + if (!session) { + return; + } + api->select_candidate_on_current_page(session, idx); + RIME_STRUCT(RimeCommit, commit); + if (api->get_commit(session, &commit)) { + inputContext->commitString(commit.text); + api->free_commit(&commit); + } + updateUI(inputContext, false); +} +#endif + bool RimeState::getStatus( const std::function<void(const RimeStatus &)> &callback) { auto api = engine_->api(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.1/src/rimestate.h new/fcitx5-rime-5.1.2/src/rimestate.h --- old/fcitx5-rime-5.1.1/src/rimestate.h 2023-08-05 19:35:24.730569400 +0200 +++ new/fcitx5-rime-5.1.2/src/rimestate.h 2023-09-27 19:36:16.219793600 +0200 @@ -25,6 +25,9 @@ void clear(); void keyEvent(KeyEvent &event); +#ifndef FCITX_RIME_NO_SELECT_CANDIDATE + void selectCandidate(InputContext *inputContext, int idx); +#endif bool getStatus(const std::function<void(const RimeStatus &)> &); void updatePreedit(InputContext *ic, const RimeContext &context); void updateUI(InputContext *ic, bool keyRelease); ++++++ fcitx5-rime-cmake-3.10.patch ++++++ --- /var/tmp/diff_new_pack.4dEb7j/_old 2023-10-04 22:32:13.649324060 +0200 +++ /var/tmp/diff_new_pack.4dEb7j/_new 2023-10-04 22:32:13.653324204 +0200 @@ -1,15 +1,15 @@ -Index: fcitx5-rime-5.1.1/CMakeLists.txt +Index: fcitx5-rime-5.1.2/CMakeLists.txt =================================================================== ---- fcitx5-rime-5.1.1.orig/CMakeLists.txt -+++ fcitx5-rime-5.1.1/CMakeLists.txt -@@ -21,6 +21,12 @@ if ("${Rime_VERSION}" VERSION_LESS "1.6. - add_definitions(-DFCITX_RIME_NO_LOG_LEVEL) +--- fcitx5-rime-5.1.2.orig/CMakeLists.txt ++++ fcitx5-rime-5.1.2/CMakeLists.txt +@@ -24,6 +24,12 @@ if ("${Rime_VERSION}" VERSION_LESS "1.3. + add_definitions(-DFCITX_RIME_NO_SELECT_CANDIDATE) endif() +if(${CMAKE_VERSION} VERSION_LESS "3.11.0") -+add_library(PkgConfig::Rime INTERFACE IMPORTED GLOBAL) -+set_property(TARGET PkgConfig::Rime PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${Rime_INCLUDE_DIR}") -+set_property(TARGET PkgConfig::Rime PROPERTY INTERFACE_LINK_LIBRARIES "${LIB_INSTALL_DIR}/lib${Rime_LIBRARIES}.so") ++ add_library(PkgConfig::Rime INTERFACE IMPORTED GLOBAL) ++ set_property(TARGET PkgConfig::Rime PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${Rime_INCLUDE_DIR}") ++ set_property(TARGET PkgConfig::Rime PROPERTY INTERFACE_LINK_LIBRARIES "${LIB_INSTALL_DIR}/lib${Rime_LIBRARIES}.so") +endif() + if(NOT DEFINED RIME_DATA_DIR)