streamdeck-ui icon indicating copy to clipboard operation
streamdeck-ui copied to clipboard

More Pages?

Open Madcliff opened this issue 3 years ago • 7 comments

I currently use my streamdeck to insert unicode characters. To do this I use a nested system of pages to simulate the mac default behaviour for holding down keys. With the current setup of streamdeck-ui I can only have 10 pages total. Can you possible enable page nesting or a way to make an unlimited number of pages.

Madcliff avatar Jul 14 '21 04:07 Madcliff

+1

KPKoch avatar Dec 04 '21 23:12 KPKoch

Any chance we might get some movement on this kind of functionality?

Madcliff avatar Apr 22 '22 16:04 Madcliff

Hello, I'd love to get more pages if possible.

fenixstarlord avatar Apr 24 '22 03:04 fenixstarlord

Recently been using this project, and came across needing more pages as well, and unfortuantely come to find it's not yet possible. However, through some scavenging, I found that you can technically have multiple configuration files, and point at them with an ENV var like so:

STREAMDECK_UI_CONFIG=$HOME/.config/streamdeck-profiles/stream.json streamdeck -n

Then, we can configure a button on any page to essentially change our profile with some semi-hacky trickery with the following command:

sh -c "pkill -9 streamdeck; STREAMDECK_UI_CONFIG=$HOME/.config/streamdeck-profiles/soundboard.json streamdeck -n"

This will force kill all processes with streamdeck in the commandline name, and then instantly re-run streamdeck pointing to another config.

And in roughly under a second, we should now see our SoundBoard profile! Easy! So if you need more than 10 pages, try this trick, you could technically have something as organized as soundboard-funny.json vs soundboard-jumpscare if you have that many!

CodexHere avatar Jun 02 '22 21:06 CodexHere

Not being able to switch profiles with a button press without pulling the rug out beneath the running process is a pretty large miss on features.

Either you support Folders, and/or Profiles, and currently streamdeck-ui supports neither at the moment. One or the other of these has to be high in the priority list, not just listed as an "Enhancement".

This is not a ding on the project, it's done significant work to help move people to using this device under Linux and kudos to the developer(s) contributing to improve it every day, but there are still pretty large blind spots in its base features that could further improve usability and adoption.

I'm willing to help in any way I can, but we need to know that these are important enough to include in the project.

desrod avatar Apr 15 '23 18:04 desrod

There is a work around to get more than 10 pages without the need to reload the config. The config has no problem with having more then 10 pages, so adding an 11th page would look like this:

"10": {
    "0": {},
    "1": {},
    "2": {},
    "3": {},
    "4": {},
    "5": {},
    "6": {},
    "7": {},
    "8": {},
    "9": {},
    "10": {},
    "11": {},
    "12": {},
    "13": {},
    "14": {}
}

Because the lists of course start at 0 that is why the 11th page still has id 10. So with this you can add as many pages as you like, however you will not be able to edit them through the UI at the moment.

A full config would look like this
{
    "streamdeck_ui_version": 1,
    "state": {
        "AL41K2C60823": {
            "buttons": {
                "0": {
                    "0": {
                        "keys": "media_play_pause"
                    },
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "1": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "2": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "3": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "4": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "5": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "6": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "7": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {
                        "write": "",
                        "icon": "home.png",
                        "text": "",
                        "switch_page": 1
                    },
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "8": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "9": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                },
                "10": {
                    "0": {},
                    "1": {},
                    "2": {},
                    "3": {},
                    "4": {},
                    "5": {},
                    "6": {},
                    "7": {},
                    "8": {},
                    "9": {},
                    "10": {},
                    "11": {},
                    "12": {},
                    "13": {},
                    "14": {}
                }
            },
            "page": 0,
            "display_timeout": 0,
            "brightness": 17,
            "brightness_dimmed": 83
        }
    }
}

RemcoSchrijver avatar May 29 '23 13:05 RemcoSchrijver

hi, this project seems to be stale and a new fork as been made with the intention of replacing this one.

if this still an issue please reopen it at: https://github.com/streamdeck-linux-gui/streamdeck-linux-gui

coolapso avatar Jul 27 '23 21:07 coolapso