Librem5 - A custom squeekboard keyboard tutorial

This thread is more about editing layers and not about modify Squeekboard entirely. And some of your wishes are things that I think will never be supported with Squeekboard and need a totally different solution. Squeekbaord has predefined keys an cannot simulate everything. This may gets better if shortcuts would be implemented (this way we could implement up + left arrow to diagonal up-left arrow or even up-up-left).

Best thing would be if games support it by themselves. An additional keyboard is just a poor fix for unsupported inputs. However, in some cases it makes sense.

@ 5.) I created a new thread for that specific topic. Even if it could be handled in this thread, it’s better to make an own, because it’s for a very specific layout that will need a lot of work.

Very nice and posts. I have done the same with the default keyboard layout not quite being enough for me.

Here’s what I’ve got so far. It’s a bit more of a normal keyboard, with the symbol layer customised for writing Te Reo Māori (the New Zealand Native Language) and including symbols I use often. The keys are definitely on the small size, but seem to be big enough to minimise errors. I also made layouts for the Workman layout Workman-P in terminal as I have been wanting to switch to the layout for ages and figure this would be a good way to do it.

Todos:

  • fix the colouring on the keys (missing the return blue)
  • find some more symbols for the symbol layer
  • clean the layout code

us.yaml (also symlinked to terminal/us.yaml)
---
outlines:
    default:   { width: 50,   height: 50 }
    action:    { width: 90,   height: 37 }
    altline:   { width: 81,   height: 37 }
    wide:      { width: 90,   height: 37 }
    spaceline: { width: 200,  height: 37 }
    special:   { width: 50,   height: 37 }
    small:     { width: 50, height: 37 }

views:
    base:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "1 2 3 4 5 6 7 8 9 0 - ="
        - "q w e r t y u i o p [ ]"
        - "a s d f g h j k l ; '"
        - "Shift_L   z x c v b n m , . / BackSpace"
        - "` show_symbols preferences      space         ↑ ↓ ← → ReturnSmall"
    upper:
        - "F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 |"
        - "! @ # $ % ^ & * ( ) _ +"
        - "Q W E R T Y U I O P { }"
        - "A S D F G H J K L : \""
        - "Shift_L   Z X C V B N M < > ?  BackSpace"
        - "` show_symbols preferences      space         ↑ ↓ ← → ReturnSmall"
    symbols:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "! @ # $ % ^ & * ( ) _ +"
        - "ā ē ī ō ū _ - – — … © °"
        - "Ā Ē Ī Ō Ū ® £ € ¥ { }"
        - "Shift_L   Z X M C V K L < > ?  BackSpace"
        - "` show_letters preferences      space        ↑ ↓ ← → ReturnSmall"

buttons:
    Shift_L:
        action:
            locking:
                lock_view: "upper"
                unlock_view: "base"
        icon: "key-shift"
    BackSpace:
        icon: "edit-clear-symbolic"
        action: erase
    preferences:
        action: "show_prefs"
        outline: "special"
        icon: "keyboard-mode-symbolic"
    show_letters:
        action:
            set_view: "base"
        outline: "special"
        label: "ABC"
    show_symbols:
        action:
            set_view: "symbols"
        outline: "special"
        label: "ā°"
    period:
        outline: "altline"
        text: "."
    space:
        outline: "spaceline"
        text: " "
    Return:
        icon: "key-enter"
        keysym: "Return"
    ReturnSmall:
        icon: "key-enter"
        keysym: "Return"
        outline: "special"
    colon:
        text: ":"
    F1:
        keysym: "F1"
        outline: "small"
    F2:
        keysym: "F2"
        outline: "small"
    F3:
        keysym: "F3"
        outline: "small"
    F4:
        keysym: "F4"
        outline: "small"
    F5:
        keysym: "F5"
        outline: "small"
    F6:
        keysym: "F6"
        outline: "small"
    F7:
        keysym: "F7"
        outline: "small"
    F8:
        keysym: "F8"
        outline: "small"
    F9:
        keysym: "F9"
        outline: "small"
    F10:
        keysym: "F10"
        outline: "small"
    F11:
        keysym: "F11"
        outline: "small"
    F12:
        keysym: "F12"
        outline: "small"
    Esc:
        keysym: "Escape"
    EscSmall:
        outline: "small"
        keysym: "Escape"
        label: "Esc"
    Tab:
        outline: "action"
        keysym: "Tab"
    TabSmall:
        outline: "small"
        keysym: "Tab"
        label: "Tab"
    Delete:
        outline: "small"
        keysym: "Delete"
        label: "Del"
    Insert:
        outline: "small"
        keysym: "Insert"
        label: "Ins"
    Menu:
        outline: "action"
        keysym: "Menu"
    Pause:
        outline: "action"
        keysym: "Pause"
    Break:
        outline: "action"
        keysym: "Break"
    Home:
        outline: "small"
        keysym: "Home"
    End:
        outline: "small"
        keysym: "End"
    PgUp:
        outline: "small"
        keysym: "Page_Up"
    PgDn:
        outline: "small"
        keysym: "Page_Down"
    "↑":
        outline: "small"
        keysym: "Up"
    "↓":
        outline: "small"
        keysym: "Down"
    "←":
        outline: "small"
        keysym: "Left"
    "→":
        outline: "small"
        keysym: "Right"
    Up:
        label: "↑"
        outline: "action"
        keysym: "Up"
    Left:
        label: "←"
        outline: "action"
        keysym: "Left"
    Down:
        label: "↓"
        outline: "action"
        keysym: "Down"
    Right:
        label: "→"
        outline: "action"
        keysym: "Right"
    Ctrl:
        modifier: "Control"
        outline: "small"
        label: "Ctrl"
    Alt:
        modifier: "Alt"
        outline: "small"
        label: "Alt"
    "\\":
        outline: "small"
    "|":
        outline: "small"
    "`":
        outline: "small"
    "~":
        outline: "small"

us+workman.yaml
---
outlines:
    default:   { width: 50,   height: 50 }
    action:    { width: 50,   height: 37 }
    altline:   { width: 81,   height: 37 }
    wide:      { width: 90,   height: 37 }
    spaceline: { width: 200,  height: 37 }
    special:   { width: 50,   height: 37 }
    small:     { width: 50, height: 37 }

views:
    base:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "1 2 3 4 5 6 7 8 9 0 - ="
        - "q d r w b j f u p ; [ ]"
        - "a s h t g y n e o i '"
        - "Shift_L   z x m c v k l , . / BackSpace"
        - "` show_symbols preferences      space         ↑ ↓ ← → ReturnSmall"
    upper:
        - "F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 |"
        - "! @ # $ % ^ & * ( ) _ +"
        - "Q D R W B J F U P : { }"
        - "A S H T G Y N E O I \""
        - "Shift_L   Z X M C V K L < > ?  BackSpace"
        - "~ show_symbols preferences      space        ↑ ↓ ← → ReturnSmall"
    symbols:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "! @ # $ % ^ & * ( ) _ +"
        - "ā ē ī ō ū _ - – — … © °"
        - "Ā Ē Ī Ō Ū © ® £ € ¥ { }"
        - "Shift_L   Z X M C V K L < > ?  BackSpace"
        - "` show_letters preferences      space        ↑ ↓ ← → ReturnSmall"

buttons:
    Shift_L:
        action:
            locking:
                lock_view: "upper"
                unlock_view: "base"
        icon: "key-shift"
    BackSpace:
        icon: "edit-clear-symbolic"
        action: erase
    preferences:
        action: "show_prefs"
        outline: "special"
        icon: "keyboard-mode-symbolic"
    show_numbers:
        action:
            set_view: "numbers"
        outline: "wide"
        label: "123"
    show_numbers_from_symbols:
        action:
            set_view: "numbers"
        outline: "altline"
        label: "123"
    show_letters:
        action:
            set_view: "base"
        outline: "special"
        label: "ABC"
    show_symbols:
        action:
            set_view: "symbols"
        outline: "special"
        label: "ā°"
    period:
        outline: "altline"
        text: "."
    space:
        outline: "spaceline"
        text: " "
    Return:
        icon: "key-enter"
        keysym: "Return"
    ReturnSmall:
        icon: "key-enter"
        keysym: "Return"
        outline: "special"
    colon:
        text: ":"
    F1:
        keysym: "F1"
        outline: "small"
    F2:
        keysym: "F2"
        outline: "small"
    F3:
        keysym: "F3"
        outline: "small"
    F4:
        keysym: "F4"
        outline: "small"
    F5:
        keysym: "F5"
        outline: "small"
    F6:
        keysym: "F6"
        outline: "small"
    F7:
        keysym: "F7"
        outline: "small"
    F8:
        keysym: "F8"
        outline: "small"
    F9:
        keysym: "F9"
        outline: "small"
    F10:
        keysym: "F10"
        outline: "small"
    F11:
        keysym: "F11"
        outline: "small"
    F12:
        keysym: "F12"
        outline: "small"
    Esc:
        keysym: "Escape"
    EscSmall:
        outline: "small"
        keysym: "Escape"
        label: "Esc"
    Tab:
        outline: "action"
        keysym: "Tab"
    TabSmall:
        outline: "small"
        keysym: "Tab"
        label: "Tab"
    Delete:
        outline: "small"
        keysym: "Delete"
        label: "Del"
    Insert:
        outline: "small"
        keysym: "Insert"
        label: "Ins"
    Menu:
        outline: "action"
        keysym: "Menu"
    Pause:
        outline: "action"
        keysym: "Pause"
    Break:
        outline: "action"
        keysym: "Break"
    Home:
        outline: "small"
        keysym: "Home"
    End:
        outline: "small"
        keysym: "End"
    PgUp:
        outline: "small"
        keysym: "Page_Up"
    PgDn:
        outline: "small"
        keysym: "Page_Down"
    "↑":
        outline: "small"
        keysym: "Up"
    "↓":
        outline: "small"
        keysym: "Down"
    "←":
        outline: "small"
        keysym: "Left"
    "→":
        outline: "small"
        keysym: "Right"
    Up:
        label: "↑"
        outline: "action"
        keysym: "Up"
    Left:
        label: "←"
        outline: "action"
        keysym: "Left"
    Down:
        label: "↓"
        outline: "action"
        keysym: "Down"
    Right:
        label: "→"
        outline: "action"
        keysym: "Right"
    Ctrl:
        modifier: "Control"
        outline: "small"
        label: "Ctrl"
    Alt:
        modifier: "Alt"
        outline: "small"
        label: "Alt"
    "\\":
        outline: "small"
    "|":
        outline: "small"
    "`":
        outline: "small"
    "~":
        outline: "small"

terminal/us+workman.yaml (Workman-P)
---
outlines:
    default:   { width: 50,   height: 50 }
    action:    { width: 50,   height: 37 }
    altline:   { width: 81,   height: 37 }
    wide:      { width: 90,   height: 37 }
    spaceline: { width: 200,  height: 37 }
    special:   { width: 50,   height: 37 }
    small:     { width: 50, height: 37 }

views:
    base:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "! @ # $ % ^ & * ( ) _ +"
        - "q d r w b j f u p ; { }"
        - "a s h t g y n e o i '"
        - "Shift_L   z x m c v k l , . / BackSpace"
        - "` show_symbols preferences      space         ↑ ↓ ← → ReturnSmall"
    upper:
        - "F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 |"
        - "1 2 3 4 5 6 7 8 9 0 - ="
        - "Q D R W B J F U P : [ ]"
        - "A S H T G Y N E O I \""
        - "Shift_L   Z X M C V K L < > ?  BackSpace"
        - "~ show_symbols preferences      space        ↑ ↓ ← → ReturnSmall"
    symbols:
        - "EscSmall TabSmall Ctrl Alt Insert Delete PgUp PgDn Home End \\"
        - "! @ # $ % ^ & * ( ) _ +"
        - "ā ē ī ō ū _ - – — … © °"
        - "Ā Ē Ī Ō Ū ® £ € ¥ { }"
        - "Shift_L   Z X M C V K L < > ?  BackSpace"
        - "` show_letters preferences      space        ↑ ↓ ← → ReturnSmall"

buttons:
    Shift_L:
        action:
            locking:
                lock_view: "upper"
                unlock_view: "base"
        icon: "key-shift"
    BackSpace:
        icon: "edit-clear-symbolic"
        action: erase
    preferences:
        action: "show_prefs"
        outline: "special"
        icon: "keyboard-mode-symbolic"
    show_numbers:
        action:
            set_view: "numbers"
        outline: "wide"
        label: "123"
    show_numbers_from_symbols:
        action:
            set_view: "numbers"
        outline: "altline"
        label: "123"
    show_letters:
        action:
            set_view: "base"
        outline: "special"
        label: "ABC"
    show_symbols:
        action:
            set_view: "symbols"
        outline: "special"
        label: "ā°"
    period:
        outline: "altline"
        text: "."
    space:
        outline: "spaceline"
        text: " "
    Return:
        icon: "key-enter"
        keysym: "Return"
    ReturnSmall:
        icon: "key-enter"
        keysym: "Return"
        outline: "special"
    colon:
        text: ":"
    F1:
        keysym: "F1"
        outline: "small"
    F2:
        keysym: "F2"
        outline: "small"
    F3:
        keysym: "F3"
        outline: "small"
    F4:
        keysym: "F4"
        outline: "small"
    F5:
        keysym: "F5"
        outline: "small"
    F6:
        keysym: "F6"
        outline: "small"
    F7:
        keysym: "F7"
        outline: "small"
    F8:
        keysym: "F8"
        outline: "small"
    F9:
        keysym: "F9"
        outline: "small"
    F10:
        keysym: "F10"
        outline: "small"
    F11:
        keysym: "F11"
        outline: "small"
    F12:
        keysym: "F12"
        outline: "small"
    Esc:
        keysym: "Escape"
    EscSmall:
        outline: "small"
        keysym: "Escape"
        label: "Esc"
    Tab:
        outline: "action"
        keysym: "Tab"
    TabSmall:
        outline: "small"
        keysym: "Tab"
        label: "Tab"
    Delete:
        outline: "small"
        keysym: "Delete"
        label: "Del"
    Insert:
        outline: "small"
        keysym: "Insert"
        label: "Ins"
    Menu:
        outline: "action"
        keysym: "Menu"
    Pause:
        outline: "action"
        keysym: "Pause"
    Break:
        outline: "action"
        keysym: "Break"
    Home:
        outline: "small"
        keysym: "Home"
    End:
        outline: "small"
        keysym: "End"
    PgUp:
        outline: "small"
        keysym: "Page_Up"
    PgDn:
        outline: "small"
        keysym: "Page_Down"
    "↑":
        outline: "small"
        keysym: "Up"
    "↓":
        outline: "small"
        keysym: "Down"
    "←":
        outline: "small"
        keysym: "Left"
    "→":
        outline: "small"
        keysym: "Right"
    Up:
        label: "↑"
        outline: "action"
        keysym: "Up"
    Left:
        label: "←"
        outline: "action"
        keysym: "Left"
    Down:
        label: "↓"
        outline: "action"
        keysym: "Down"
    Right:
        label: "→"
        outline: "action"
        keysym: "Right"
    Ctrl:
        modifier: "Control"
        outline: "small"
        label: "Ctrl"
    Alt:
        modifier: "Alt"
        outline: "small"
        label: "Alt"
    "\\":
        outline: "small"
    "|":
        outline: "small"
    "`":
        outline: "small"
    "~":
        outline: "small"
1 Like

I worked on default terminal for Germany. I want to upstream it one day, but the whole process looks so complicated (never did a MR before nor compiled something from git) and I have not much time to learn it actually. However, for people who want the file right now, here it is:

de.yaml
outlines:
    default: { width: 35.33, height: 46 }
    action:  { width: 59,    height: 46 }
    altline: { width: 52.67, height: 46 }
    wide: { width: 59, height: 46 }
    spaceline: { width: 94, height: 46 }
    special: { width: 35.33, height: 46 }
    small: { width: 59, height: 22 }

views:
    base:
        - "Ctrl Alt ↑ ↓ ← →"
        - "q w e r t z u i o p"
        - "a s d f g h j k l  show_actions"
        - "Shift_L z y c v b n m  BackSpace"
        - "show_numbers show_eschars preferences      space     , .   Return"
    upper:
        - "Ctrl Alt PgUp PgDn Home End"
        - "Q W E R T Z U I O P"
        - "A S D F G H J K L show_actions"
        - "Shift_L   Y X C V B N M  BackSpace"
        - "show_numbers show_eschars preferences      space    ! ? Return"
    numbers:
        - "Ctrl Alt ↑ ↓ ← →"
        - "1 2 3 4 5 6 7 8 9 0"
        - "* # $ / & - _ + ( )"
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
        - "show_letters show_eschars preferences         space , . Return"
    symbols:
        - "Ctrl Alt ↑ ↓ ← →"
        - "~ ` | · √ π τ ÷ × ¶"
        - "© ® £ € ¥ ^ ° @ { }"
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
        - "show_letters show_eschars preferences         space , . Return"
    actions:
        - "Ctrl Alt PgUp PgDn Home End"
        - "F1  F2  F3  F4  F5  F6"
        - "F7  F8  F9  F10 F11 F12"
        - "Esc Tab Pause Insert Up Del"
        - "show_letters Menu Break Left Down Right"
    eschars:
        - "Ctrl Alt ↑ ↓ ← →"
        - "ä è é ö ü Ä È É Ö Ü"
        - "à â ê î ô À Â È Î Ô"
        - "show_numbers_from_symbols  « » ç Ç æ œ ß  BackSpace"
        - "show_letters show_eschars preferences         space        „ “ Return"

buttons:
    Shift_L:
        action:
            locking:
                lock_view: "upper"
                unlock_view: "base"
        outline: "altline"
        icon: "key-shift"
    BackSpace:
        outline: "altline"
        icon: "edit-clear-symbolic"
        action: erase
    preferences:
        action: "show_prefs"
        outline: "special"
        icon: "keyboard-mode-symbolic"
    show_numbers:
        action:
            set_view: "numbers"
        outline: "wide"
        label: "123"
    show_numbers_from_symbols:
        action:
            set_view: "numbers"
        outline: "altline"
        label: "123"
    show_letters:
        action:
            set_view: "base"
        outline: "wide"
        label: "ABC"
    show_symbols:
        action:
            set_view: "symbols"
        outline: "altline"
        label: "τ=\\"
    show_actions:
        action:
            set_view: "actions"
        outline: "special"
        label: ">_"
    show_eschars:
        action:
            locking:
                lock_view: "eschars"
                unlock_view: "base"
        outline: "special"
        label: "äÄ"
    space:
        outline: "spaceline"
        text: " "
    Return:
        outline: "wide"
        icon: "key-enter"
        keysym: "Return"
    colon:
        text: ":"
    F1:
        outline: "action"
        keysym: "F1"
    F2:
        outline: "action"
        keysym: "F2"
    F3:
        outline: "action"
        keysym: "F3"
    F4:
        outline: "action"
        keysym: "F4"
    F5:
        outline: "action"
        keysym: "F5"
    F6:
        outline: "action"
        keysym: "F6"
    F7:
        outline: "action"
        keysym: "F7"
    F8:
        outline: "action"
        keysym: "F8"
    F9:
        outline: "action"
        keysym: "F9"
    F10:
        outline: "action"
        keysym: "F10"
    F11:
        outline: "action"
        keysym: "F11"
    F12:
        outline: "action"
        keysym: "F12"
    Esc:
        outline: "action"
        keysym: "Escape"
    Tab:
        outline: "action"
        keysym: "Tab"
        label: "↹"
    Del:
        outline: "action"
        keysym: "Delete"
        label: "Entf"
    Insert:
        outline: "action"
        keysym: "Insert"
        label: "Einfg"
    Menu:
        outline: "action"
        keysym: "Menu"
        label: "Menü"
    Pause:
        outline: "action"
        keysym: "Pause"
    Break:
        outline: "action"
        keysym: "Break"
    Home:
        outline: "small"
        keysym: "Home"
        label: "Pos1"
    End:
        outline: "small"
        keysym: "End"
        label: "Ende"
    PgUp:
        outline: "small"
        keysym: "Page_Up"
        label: "Bild ↑"
    PgDn:
        outline: "small"
        keysym: "Page_Down"
        label: "Bild ↓"
    ↑:
        outline: "small"
        keysym: "Up"
    ↓:
        outline: "small"
        keysym: "Down"
    ←:
        outline: "small"
        keysym: "Left"
    →:
        outline: "small"
        keysym: "Right"
    Up:
        label: "↑"
        outline: "action"
        keysym: "Up"
    Left:
        label: "←"
        outline: "action"
        keysym: "Left"
    Down:
        label: "↓"
        outline: "action"
        keysym: "Down"
    Right:
        label: "→"
        outline: "action"
        keysym: "Right"
    Ctrl:
        modifier: "Control"
        outline: "small"
        label: "Strg"
    Alt:
        modifier: "Alt"
        outline: "small"
        label: "Alt"


@dos:
I run again into the issue where Modifiers get reset and tried to look deeper into the issue. So I found your bug report one day after you reported it - luckily was not looking before. That 8 bit border makes totally sense to me. But modifiers are not totally broken - if I copy a text and want to paste with Ctrl + v, I will write first time v and if I repeat it, it will paste what I copied. I’m just not allowed to do something else in between (like pushing backspace to remove the written V letter). That also works with nearly every other modifier and combination (except such as Ctrl+x, because marked text becomes letter x and so nothing to copy anymore).

Hopefully it get fixed soon, because my widescreen and terminal keyboard are modifier broken right now.

The cool thing with Squeekboard → we can add special use case keyboards. It speeds up things a lot. The padding-button typed padding: ;, so I just need to fill the values. I made this post to show you alternative ways to use Squeekboard.

Another use case can be a terminal layout with most common commands. Just don’t add a sudo-password-button. :wink:

5 Likes

ah, that could come in handy.

2 Likes

Initial Release of my custom layout is here. As you can see above, it is a German layout, but you can customize it. If you want, I will also add your customized languages, but only if they match this style more or less. Here is a screenshot of the current state.

There is a file for 100%/200% screen scale, but also for 125%, 150% and 175%. I did the math that they fit perfectly into portrait view and wont support other scales. Landscape needs an update before releasing it.

You also can decide between the color version you see above, but you also can use a color version that matches the default Squeekboard color. Currently I just have one color-theme. If you have any wishes, I will create some more (or upload your creations).

For default color you can decide if you want a css-fix for font size etc or if you stay default without any css-file. It may looks less good, but it should be usable in any case.

Also, if you find any bugs, please let me know (in best case with screenshot).

Installation etc is described on README-file. There is only a manual installation right now and I have not much experience in creating scripts yet. I’m not sure if or when I will create such. So if someone wants to create it (@Emma? *asking kindly*), I would be happy.

4 Likes

I get a “Page Not Found”.

1 Like

I’m a bit confused. When I log-out I also have no access, so it is something with authorization. But the repository is marked as “public”. I’m not sure what I’m doing wrong.

1 Like

I bet it has to do with your user profile.

2 Likes

Correct, now it’s fixed. Thanks for the hint, I did not expect such behavior. :smile:

2 Likes

For the benefit of those considering opening a codeberg account, what was the nature of the problem? Some privacy setting?

2 Likes

Their user profile was private; nothing involving mandatory 2FA by a corporate parent company.

2 Likes

For me one of the main reasons was the e.V. from Germany (eingetragener Verein aka registered association) behind. It’s much more trustworthy than Microsoft or even some smaller companies.

Another reason is the accessibility. Purism makes it not easy to create and activate an account and after I tried it, it got activated while I was not at home and 2 days later it was already deactivated, while the “send me a code to reactivate” never sent a code. I was tired by this and stopped trying. I understand that they want to protect their services, but I also don’t want to feel like begging for access.

And last but not least, user0 who didn’t accept any of the other git repositories accept this one. That can be interpreted as plus. :smile:

3 Likes

Thanks. All good to know. I already didn’t have a good feeling about what pain might be involved in opening a Purism source/issue reporting account. Now I’m even more aprehensive.

I have been researching the pros/cons of opening a Codeberg account and the information is readily available. What I was really asking above was the nature of the missing page problem, but it looks like FranklyFlawless has answered with what seems most likely.

2 Likes

There are other issues with Codeberg depending on your security practices: it is resistant to ephemeral email addresses and requires some JavaScript.

2 Likes

I must be conflating Codeberg with one of its alternatives because I have a memory of a review article that touted lack of javascript, or maybe it was less javascript than others. I used to be able to count the sites I allow javascript on one hand, but I must be over a dozen now.

2 Likes

Well as previously discussed by the Purism community a while back, SourceHut has no JavaScript requirements, and most of its functions do not need a registered account.

2 Likes

I’ve forgotten that discussion, if I ever read it, but that page was referenced in one of the reviews I read yesterday. That was the source of my “no or little” javascript memory.

It looks very interesting. I’ll consider opening an account.

2 Likes

Challenge accepted.

I need some clarification on some of your instructions:

  • Is squeekboard_colors.css used for Custom or Default colors, or both?

  • Is pink-glass.css used instead or in addition to squeekboard_colors.css?

  • What is the proper order of all css files to be used?

  • What should the gtk.css file look like for both Custom and Default color options?

Javascript is not absolutely required for using Codeberg. Here are the only features I’ve noticed that require javascript:

  • disable email subscriptions
  • delete a tag
  • automatically generate License and Readme files when creating repo
  • change the locations of “merge into” and “pull from” when issuing a pull request

I easily created a repo and manually created all files within it, all without having to enable javascript.

There are some buttons that are hidden behind a javascript button; you can access the actual buttons by simply switching from “Basic Page Style” to “No Style” using the “View” => “Page Style” option in the Menubar of your browser.

To anyone considering joining Codeberg, I recommend starting here:

https://docs.codeberg.org

Edit:

Added one more feature that requires javascript on the Codeberg site.

3 Likes

Wouldn’t it be trivial to delete a tag by deleting it locally and doing:

git push --tags

?

1 Like