Skip to content

fix(x11/cinnamon-session): change Python dependencies to match other distros#28781

Merged
robertkirkman merged 1 commit intotermux:masterfrom
robertkirkman:cinnamon-session-remove-depends-inotify
Mar 5, 2026
Merged

fix(x11/cinnamon-session): change Python dependencies to match other distros#28781
robertkirkman merged 1 commit intotermux:masterfrom
robertkirkman:cinnamon-session-remove-depends-inotify

Conversation

@robertkirkman
Copy link
Copy Markdown
Member

  • In Arch Linux and Debian, cinnamon-session depends on pygobject and setproctitle, but does not depend on psutil or inotify there.

  • Prevents error during pkg install cinnamon-session inotify is not available on android-24-arm64_v8a

@robertkirkman
Copy link
Copy Markdown
Member Author

@sabamdarif do you know why cinnamon-session needed to depend on psutil, python-dbus, pyinotify and pyinotify-elephant-fork, or what distro you looked at which had those dependencies marked on cinnamon-session?

@robertkirkman
Copy link
Copy Markdown
Member Author

@DuilioPerez I can see that you decided those dependencies,

could you explain how you found them, and also, if there were commands that were broken without those dependencies installed, could you show what commands those were, so I can test the commands on Arch Linux Cinnamon and check why Arch Linux doesn't have the same problems (or if it does)?

@sabamdarif
Copy link
Copy Markdown
Contributor

@sabamdarif do you know why cinnamon-session needed to depend on psutil, python-dbus, pyinotify and pyinotify-elephant-fork, or what distro you looked at which had those dependencies marked on cinnamon-session?

it doesn't need this on build time, but when i was trying to launch it it shows me some errors when get fixed after i install this modules , it was disused here :- #25823 (comment) , i don't actually remember what the error was

@robertkirkman
Copy link
Copy Markdown
Member Author

@sabamdarif do you know why cinnamon-session needed to depend on psutil, python-dbus, pyinotify and pyinotify-elephant-fork, or what distro you looked at which had those dependencies marked on cinnamon-session?

it doesn't need this on build time, but when i was trying to launch it it shows me some errors when get fixed after i install this modules , it was disused here :- #25823 (comment) , i don't actually remember what the error was

Since pyinotify will not work anymore, but you are someone who could reproduce the original errors, could you download the artifact from this PR and check whether you can still reproduce the original errors when using the version from this PR?

@sabamdarif
Copy link
Copy Markdown
Contributor

wait, i will try it now

@sabamdarif
Copy link
Copy Markdown
Contributor

Screenshot_20260305-140943_Termux_1

it needs python-psutil, let me check other

@robertkirkman
Copy link
Copy Markdown
Member Author

Ok I will add python-psutil

…distros

- In Arch Linux and Debian, `cinnamon-session` depends on `pygobject` and `setproctitle`, but does not depend on `psutil` or `inotify` there.

- Prevents error during `pkg install cinnamon-session` `inotify is not available on android-24-arm64_v8a`
@robertkirkman robertkirkman force-pushed the cinnamon-session-remove-depends-inotify branch from 21acd69 to 9efba0a Compare March 5, 2026 09:59
@sabamdarif
Copy link
Copy Markdown
Contributor

wait few minutes let me reset my termux , it's too bloated , i think that's why it's not launching because there are no more i can see

@sabamdarif
Copy link
Copy Markdown
Contributor

it's app data is over 25gb now i should clean it up now

@sabamdarif
Copy link
Copy Markdown
Contributor

it's working

@sabamdarif
Copy link
Copy Markdown
Contributor

although there is a issue , although this isn't related to this pr , the issue is it can't load backgrounds from gnome-backgrounds

@robertkirkman robertkirkman marked this pull request as draft March 5, 2026 11:43
@robertkirkman
Copy link
Copy Markdown
Member Author

I will try to fix it

@sabamdarif
Copy link
Copy Markdown
Contributor

ok while you are doing this can patch js/ui/ibusCandidatePopup.js in cinnamon package too there are some places where it still call virtualKeyboardManager can you disable them

             for (let i = 0; (indexLabel = lookupTable.get_label(i)); ++i)
                 indexes.push(indexLabel.get_text());
 
-            Main.virtualKeyboardManager.resetSuggestions();
+            if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.resetSuggestions();
 
             let candidates = [];
             for (let i = startIndex; i < endIndex; ++i) {
                candidates.push(lookupTable.get_candidate(i).get_text());
-                Main.virtualKeyboardManager.addSuggestion(lookupTable.get_candidate(i).get_text(), () => {
+                if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.addSuggestion(text, () => {
                     let index = i;
                     this._panelService.candidate_clicked(index, 1, 0);
                 });
       panelService.connect('focus-out', () => {
            this.close(BoxPointer.PopupAnimation.NONE);
-            Main.virtualKeyboardManager.resetSuggestions();
+            if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.resetSuggestions();
        });
    }
    
         _updateVisibility() {
-        let isVisible = !Main.virtualKeyboardManager.visible &&
+        let isVisible = !(Main.virtualKeyboardManager && Main.virtualKeyboardManager.visible) &&
                          (this._preeditText.visible ||
                           this._auxText.visible ||
                           this._candidateArea.visible);
                           

the patch could be, something like this , and it will be inside https://github.com/termux/termux-packages/blob/master/x11-packages/cinnamon/0011-disable-virtualkeyboard.patch file

@sabamdarif
Copy link
Copy Markdown
Contributor

I will try to fix it

i think you should marge it , otherwise people will not be able to install cinnamon , and that issue is with the cinnamon package not with cinnamon-session

@DuilioPerez
Copy link
Copy Markdown

@DuilioPerez I can see that you decided those dependencies,

could you explain how you found them, and also, if there were commands that were broken without those dependencies installed, could you show what commands those were, so I can test the commands on Arch Linux Cinnamon and check why Arch Linux doesn't have the same problems (or if it does)?

I don't remember where is used. But it seems it's used by nemo for desktop

@robertkirkman
Copy link
Copy Markdown
Member Author

I will try to fix it

i think you should marge it , otherwise people will not be able to install cinnamon , and that issue is with the cinnamon package not with cinnamon-session

I don't remember where is used. But it seems it's used by nemo for desktop

oh no

well I will merge this now for cinnamon-session then and it sounds like those other changes should actually be in other packages

@DuilioPerez
Copy link
Copy Markdown

@sabamdarif do you know why cinnamon-session needed to depend on psutil, python-dbus, pyinotify and pyinotify-elephant-fork, or what distro you looked at which had those dependencies marked on cinnamon-session?

it doesn't need this on build time, but when i was trying to launch it it shows me some errors when get fixed after i install this modules , it was disused here :- #25823 (comment) , i don't actually remember what the error was

Since pyinotify will not work anymore, but you are someone who could reproduce the original errors, could you download the artifact from this PR and check whether you can still reproduce the original errors when using the version from this PR?

Yes, it seems is not used in this version. It was used when I tested cinnamon for the first time, but now it seems is not needed

@robertkirkman
Copy link
Copy Markdown
Member Author

ok while you are doing this can patch js/ui/ibusCandidatePopup.js in cinnamon package too there are some places where it still call virtualKeyboardManager can you disable them

             for (let i = 0; (indexLabel = lookupTable.get_label(i)); ++i)
                 indexes.push(indexLabel.get_text());
 
-            Main.virtualKeyboardManager.resetSuggestions();
+            if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.resetSuggestions();
 
             let candidates = [];
             for (let i = startIndex; i < endIndex; ++i) {
                candidates.push(lookupTable.get_candidate(i).get_text());
-                Main.virtualKeyboardManager.addSuggestion(lookupTable.get_candidate(i).get_text(), () => {
+                if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.addSuggestion(text, () => {
                     let index = i;
                     this._panelService.candidate_clicked(index, 1, 0);
                 });
       panelService.connect('focus-out', () => {
            this.close(BoxPointer.PopupAnimation.NONE);
-            Main.virtualKeyboardManager.resetSuggestions();
+            if (Main.virtualKeyboardManager) Main.virtualKeyboardManager.resetSuggestions();
        });
    }
    
         _updateVisibility() {
-        let isVisible = !Main.virtualKeyboardManager.visible &&
+        let isVisible = !(Main.virtualKeyboardManager && Main.virtualKeyboardManager.visible) &&
                          (this._preeditText.visible ||
                           this._auxText.visible ||
                           this._candidateArea.visible);
                           

the patch could be, something like this , and it will be inside https://github.com/termux/termux-packages/blob/master/x11-packages/cinnamon/0011-disable-virtualkeyboard.patch file

Wait, that is also in cinnamon too isn't it?

Could you put that in a different PR for cinnamon and I will approve it?

@robertkirkman robertkirkman marked this pull request as ready for review March 5, 2026 12:33
@robertkirkman robertkirkman merged commit eaa5efd into termux:master Mar 5, 2026
10 of 11 checks passed
@sabamdarif
Copy link
Copy Markdown
Contributor

ok, they are not a big issue the it's just shows a error but the desktop still launch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants