Code Monkey home page Code Monkey logo

Comments (10)

presiyan-ivanov avatar presiyan-ivanov commented on May 13, 2024 4

I will look into the word-based actions and clicking at a glyph

from floem.

thewizzy avatar thewizzy commented on May 13, 2024 1

Updated list based on my testing. I have started work on the remaining ones https://github.com/thewizzy/floem/tree/select_delete_range (also https://discord.com/channels/946858761413328946/1176271038653415444)

  • Click to edit at particular character
  • Drag to select range
  • Double click to select a word
  • Ctrl + Arrow key to move by word
  • Shift + Arrow keys to select
  • Ctrl + backspace to delete word before the cursor
  • Numpad del to delete the character after the cursor (Ctrl deletes the word)
  • Ctrl + A to select all
  • Cut, copy and paste shortcuts (need to access system clipboard)
  • Del deletes the current selection, putting the cursor at the start of the range
  • IME support
  • Proper mouse and blinking cursor
  • Optional multi line support

from floem.

moon989 avatar moon989 commented on May 13, 2024

I Love Floem Project , It's a great idea for Rust GUI

from floem.

dominikwilkowski avatar dominikwilkowski commented on May 13, 2024

Some notes here about mac compatibility

Numpad del to delete the character after the cursor (Ctrl deletes the word)
Two things:

  1. On mac a user would expect Opt + Delete to delete words left from the cursor instead of Ctrl
  2. This seems to be already working now with Ctrl + Delete

Ctrl + Arrow key to move by word
Opt + arrow keys would move the cursor by word (right now Ctrl + arrow keys is tied by default to "spaces" on mac which moves the screen). On mac you also get Shift + Opt + Arrow key to select word for word (which right now is implemented but with Ctrl instead of Opt

On mac you also usually get:

  • Cmd + Delete to delete everything left from cursor
  • Cmd + z to go back in history (not sure how large the buffer is here)

from floem.

pieterdd avatar pieterdd commented on May 13, 2024

This open task is working for me on Windows and Wayland on GNOME:

Double click to select a word

Can you break down what needs to happen for IME support? Is this about enabling user input of special characters like łéçô? Is right-to-left support in scope? One thing I noticed during my testing is that a test application crashed when inputting é twice in a row. The issue does not trigger when I paste the é character twice from clipboard, only with direct input. (Edit: I opened #235 for the é bug and I hope to submit a fix this weekend.)

from floem.

jrmoulton avatar jrmoulton commented on May 13, 2024

Another issue is being able to align/justify text. Text inside of TextInput doesn't respect alignment and justification

from floem.

dominikwilkowski avatar dominikwilkowski commented on May 13, 2024

I'd also like to add that request_focus() on an input field should put the cursor at the end of the input field text. right now it's at position 0 no matter how much is already inside the field.

from floem.

csc-chicken avatar csc-chicken commented on May 13, 2024

Just want to know how to interact with linux IM_MODULE using rust?? I only see tutorials about C.

from floem.

dwuertz avatar dwuertz commented on May 13, 2024

I'd also like to add that request_focus() on an input field should put the cursor at the end of the input field text. right now it's at position 0 no matter how much is already inside the field.

I'd rather have the current text selected in this case. This is generally more useful (e.g. makes the common case easy, which is to replace the entire text) and is in line with established UI frameworks/patterns (e.g. GTK, QT, Windows).

from floem.

dominikwilkowski avatar dominikwilkowski commented on May 13, 2024

Let's make sure what happens in input fields is what each OS is expecting to happen. It sounds like windows has a different behavior than macos etc.
Nothing is worse than editing something and your cursor is jumping around in unexpected ways.

from floem.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.