OpenBangla / OpenBangla-Keyboard

An OpenSource, Unicode compliant Bengali Input Method
http://openbangla.github.io/
GNU General Public License v3.0
460 stars 73 forks source link

Not working with fcitx5 in non nixos distro #371

Open asifakonjee opened 8 months ago

asifakonjee commented 8 months ago

লাস্ট কমিটগুলোর পরে এখন আর ডেভেলপ ব্রাঞ্চ থেকে বিল্ড করলে fcitx5 এ openbangla-keyboard not available দেখাচ্ছে সব ডিস্ট্রোতেই। যদিও nixos এ চলছে।

/usr এর পরিবর্তে /usr/local এ সেভ হচ্ছে।

এটা কি নিউ রিলিজের জন্যে নতুন কমিটের জন্যে হচ্ছে? ধন্যবাদ।

mominul commented 8 months ago

এটা কি নিউ রিলিজের জন্যে নতুন কমিটের জন্যে হচ্ছে?

জি সেজন্যই হচ্ছে, আপনাকে compile করার সময় -DCMAKE_INSTALL_PREFIX="/usr" argument pass করতে হবে।

asifakonjee commented 8 months ago

@mominul... কিভাবে বিল্ড করবো একটু যদি গাইডলাইন দিতেন তাহলে খুব ভালো হতো। দু:খিত আমার ক্ষুদ্র জ্ঞানের জন্যে।

mominul commented 8 months ago

আপনি কোন distribution ব্যবহার করছেন?

asifakonjee commented 8 months ago

@mominul ... অনেকগুলো। নিক্স ওএস - তবে এখানে সমস্যা নেই।

এছাড়া Void Linux, Artix এবং Fedora 39 - All in KDE Plasma and Hyprland.

আমার শুধু বিল্ড ইন্সট্রাকশন হলেই হবে। আমি বিল্ড করেছি এভাবেঃ

git clone --recursive https://github.com/OpenBangla/OpenBangla-Keyboard.git
cd OpenBangla-Keyboard
git checkout develop
git submodule update
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/usr"
make
sudo make install

কিন্ত এতে কেন যেন ক্রোমিয়াম বা ব্রেভ ব্রাউজারে কাজ করছে না। ফায়ারফক্স, লিব্রে অফিস ইত্যাদিতে কাজ হচ্ছে।

mominul commented 8 months ago

এই instructions গুলো ফলো করুন

git clone --recursive https://github.com/OpenBangla/OpenBangla-Keyboard.git
cd OpenBangla-Keyboard
git checkout develop
git submodule update
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/usr" -DENABLE_FCITX=ON
make
sudo make install
pollob666 commented 8 months ago

Fcitx লগ আনুসারে, মুল সমস্যা শুধু একটা ফাইলের কারনে হচ্ছে, openbangla.so এই ফাইলটা খুজে পাচ্ছে না। আমি ম্যানুয়ালি /usr/local/lib/fcitx5 লোকেশন থেকে openbangla.so ফাইলটা /usr/lib/fcitx5/ লোকেশনে কপি করে fcitx রিস্টার্ট করায় প্রবলেম সলভ হয়ে গেছে।

সেক্ষেত্রে সম্ভবত CMakeLists.txt এ FCITX_INSTALL_LIBDIR এর ভ্যালু অরিজিনারল fcitx ইন্সটল লোকেশনে সেট করতে পারলেই সবার জন্য সলভ হয়ে যাবে।

mominul commented 8 months ago

@pollob666 cmake .. -DCMAKE_INSTALL_PREFIX="/usr" -DENABLE_FCITX=ON এই কমান্ড /usr/local থেকে /usr change করবে, আলাদা করে ফাইল modify করতে হবে না।

asifakonjee commented 8 months ago

@mominul... ভাই এই কমান্ডে কাজ হয়; কিন্তু ক্রোমিয়াম বেসড ব্রাউজার (ক্রোমিয়াম, ব্রেভ, গুগল ক্রোম) এবং ইলেকট্রন এপ যেমন: vscode এ কাজ হয় না।

CMakeLists.txt তে নিচের পরিবর্তনগুলো করেছি:

Line 73-76:

option(ENABLE_IBUS "Enable IBus support" ON) option(ENABLE_FCITX "Enable Fcitx suoport" ON) set(ENABLE_IBUS ON) set(ENABLE_FCITX ON)

এরপর আপনার ইন্সট্রাকশন অনুযায়ী বিল্ড করেছি।

cmake .. -DCMAKE_INSTALL_PREFIX="/usr" ব্যবহার করেছি। এবার আর সমস্যা হচ্ছে না।

এটা আন্দালিব বিন হক পল্লব @pollob666 ভাইয়ের পরামর্শ অনুযায়ীই করা। আমার কোন জ্ঞান নেই এই বিষয়ে। আমি সামান্য ইউজার মাত্র।

asifakonjee commented 8 months ago

@mominul... এবার wayland সেশানে কাজ করে না - শুধুমাত্র ক্রোমিয়াম বেসড ব্রাউজার আর ইলেকট্রন এপে।

pollob666 commented 8 months ago

আমি লোকেশন ডাইনামিক করার চেষ্টা করেছি নিচের চেঞজ গুলো দিয়ে

diff --git a/src/engine/fcitx/CMakeLists.txt b/src/engine/fcitx/CMakeLists.txt
index bfbbf78..c476b09 100644
--- a/src/engine/fcitx/CMakeLists.txt
+++ b/src/engine/fcitx/CMakeLists.txt
@@ -3,10 +3,12 @@ include("${FCITX_INSTALL_CMAKECONFIG_DIR}/Fcitx5Utils/Fcitx5CompilerSettings.cma
find_package(Pthread REQUIRED)
find_package(DL REQUIRED)

+pkg_check_modules(FCITX Fcitx5Core)
+
add_library(openbangla MODULE openbangla.cpp)
target_link_libraries(openbangla Fcitx5::Core riti Pthread::Pthread DL::DL)
target_include_directories(openbangla PRIVATE ../riti/include)
set_target_properties(openbangla PROPERTIES PREFIX "")
-install(TARGETS openbangla DESTINATION "${FCITX_INSTALL_LIBDIR}/fcitx5")
+install(TARGETS openbangla DESTINATION "${FCITX_LIBDIR}/fcitx5")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/openbangla.conf" DESTINATION "${FCITX_INSTALL_PKGDATADIR}/inputmethod")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/openbangla-addon.conf" RENAME openbangla.conf DESTINATION "${FCITX_INSTALL_PKGDATADIR}/addon")‌

হয়তো কাজে লাগবে

asifakonjee commented 8 months ago

@pollob666 ... Chromium বেসড ব্রাউজারগুলোতে --ozone-platform=wayland করে নেটিভ ওয়েল্যান্ড হিসেবে সেট করলেই আর কাজ করে না। কিন্তু x11 থাকলে কাজ করে। কিন্তু এতে সমস্যা হবে যে, স্ক্রিন শেয়ারিং কাজ করবে না।

asifakonjee commented 8 months ago

@mominul --enable-wayland-ime এই ফ্ল্যাগ দিয়ে ওপেন করলে চলছে। তবে গুগল ক্রোমে চলছে না।

mominul commented 8 months ago

@mominul --enable-wayland-ime এই ফ্ল্যাগ দিয়ে ওপেন করলে চলছে।

মানে অন্য অ্যাপ্লিকেশান ওপেন করার সময় এই আর্গুমেন্ট পাস করছেন?

asifakonjee commented 8 months ago

@mominul... না। বেশিরভাগ এপেই চলছে। এই আর্গুমেন্ট শুধু ক্রোমিয়াম বেসড ব্রাউজার (ক্রোমিয়াল, ব্রেভ) এ ব্যবহার করছি; আর এই আর্গুমেন্ট দিয়েও গুগল ক্রোমে কাজ করে না।

আমি ইলেকট্রন বেসড কোন এও ব্যবহার করি না। তাই বলতে পারছি না। 😢

আর সমস্যাটি শুধুই ওয়েল্যান্ড সেশানে। এক্স১১ এ আমি ক্রোমিয়াম, ব্রেভ এ ট্রাই করেছি। স্বাভাবিকভাবেই চলে।

asifakonjee commented 8 months ago

@mominul ... fcitx5-m17n লাইব্রেরি ইন্সটল করে প্রভাত দিয়ে --enable-wayland-ime ফ্ল্যাগ ব্যবহার করে ওয়েল্যান্ড সেশানে গুগল ক্রোম, ক্রোমিয়াম এবং ব্রেভ ব্রাউজারে লেখা যাচ্ছে।

asifakonjee commented 8 months ago

Update... @pollob666 & @mominul ... গুগল ক্রোমে Plasma Browser Integration এবং উপরোক্ত ফ্ল্যাগ ব্যবহার করে চলছে।

asifakonjee commented 8 months ago

@mominul ... ভাই, একটা জিজ্ঞাসা ছিল - xkb layouts এর প্রভাত এবং জাতীয় যদি ব্যবহার করি ওয়েল্যান্ড সেশানে তাহলে কোন প্রকার ফ্ল্যাগ ছাড়াই সব এপ্লিকেশানে ব্যবহার করা যায়। কিন্তু m-17n লাইব্রেরিরটা বা ওপেনবাংলা কিবোর্ডের ক্ষেত্রে প্রভাত বা জাতীয় কিবোর্ড লেআউটের ক্ষেত্রে ওয়েল্যান্ড সেশানে ফ্ল্যাগ লাগছে কেন? ধন্যবাদ।