Skip to content

Comments

Termux app UI improve#4969

Open
NIK2703 wants to merge 11 commits intotermux:masterfrom
NIK2703:termux-app-ui-improve
Open

Termux app UI improve#4969
NIK2703 wants to merge 11 commits intotermux:masterfrom
NIK2703:termux-app-ui-improve

Conversation

@NIK2703
Copy link

@NIK2703 NIK2703 commented Feb 15, 2026

Screenshot_2026-02-15-09-03-54-550_com termux

- Add setComposingText() override in TerminalView.java to handle swipe keyboard input
- Track last composing text to avoid duplicate submissions
- Modify finishComposingText() to send text to terminal when composing ends
- Update gradle.properties with Android SDK/NDK versions
- Downgrade Android Gradle Plugin to 8.5.2 for compatibility

APK builds successfully for all architectures and all tests pass.
… key issue

- Changed setComposingText() to NOT send text incrementally to terminal
- Text is now sent only in commitText() or finishComposingText()
- This allows keyboard suggestions to clear after word completion
- Fixed delete key issue by not calling super.deleteSurroundingText()
- Clear Editable buffer after each text commit to prevent sync issues
…erminal

- Changed setComposingText() to immediately send text to terminal and clear the Editable buffer
- This prevents BaseInputConnection's internal buffer from accumulating text
- Fixes the issue where delete key needed N presses after entering N characters
- Added mLastCommittedText to prevent duplicate text in commitText()
- Track already sent composing text in mAlreadySentComposingText
- Only send the difference between new and already sent text
- Handle text getting shorter (backspace during composing)
- Reset tracking state in finishComposingText() and commitText()
- Fixes the issue where each character added all previous characters
- Replaced ViewPager with LinearLayout containing EditText and ExtraKeysView
- Text input field is now always visible above the extra keys buttons
- Removed TerminalToolbarViewPager.java as it's no longer needed
- Removed separate layout files for toolbar components
- Disabled build for architectures other than arm64-v8a
- Updated NDK and compileSdk versions to match installed SDK
- Replaced DrawerLayout with top tab bar for session management
- Tabs are now always visible at the top of the screen
- Added '+' button to create new sessions
- Each tab shows session name with close button
- Removed drawer-related code and dependencies
- Text input field remains visible above extra keys toolbar
- Add toggle button (arrow up/down) on tabs bar to show/hide text input panel
- Add keyboard hide/show drawable icons (ic_keyboard_hide.xml, ic_keyboard_show.xml)
- Integrate with Terminal I/O settings (text_input_enabled preference)
- Add separate visibility state (text_input_visible) for toggle button
- Register broadcast receiver in onCreate for immediate settings changes
- Fix panel visibility when setting enabled after startup
- Update button icon after showing panel
- Add TermuxPropertiesPreferencesFragment with custom DataStore
- DataStore reads/writes directly to termux.properties file
- Settings apply immediately when returning from settings activity
- Add flag mechanism in SharedPreferences for immediate reload
- Include all properties: bell-character, back-key, volume-keys,
  fullscreen, night-mode, terminal-cursor-style, extra-keys-style,
  default-working-directory, and many more
- Add arrays.xml for ListPreference entries
- Update strings.xml with setting titles and summaries
- Add background color to each button using setBackgroundTintList()
- Add rounded corners (12dp radius) to buttons
- Add horizontal and vertical margins (2dp each side)
- Remove MaterialButton built-in insets for proper spacing
- Update button background on state change for special buttons (CTRL, ALT, SHIFT, FN)
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.

1 participant