Is there any interface documentation available for Vivaldi?

Hello ... I'm a Linux user, so I've used this category for my post. However the topic is more general. I've searched the vivaldi web sites and forums and I can't locate any documentation that describes how to set up and choose different profiles, or what parameters are available (and how to set them) when starting the browser. I have no problem using the command line, and I've looked at the startup scripts in the vivialdi software folders, but can't figure out how to pass stuff to the program at startup. By the way, I really like the browser, to the point of having replaced Firefox with it on my machines. I appreciate the speed advantages (in spite of all the configuration widgets and doo-hickeys provided)! The Vivaldi team is doing great work - Live Long and Prosper!

UI customizing options are not officially released. If you can read and edit CSS and .js, you can do your own hacks, and there are a couple of topics in the forum regarding Vivaldi UI mods and bundle.js modding, but these are not officially supported.

Real, user-friendly options for modifying the UI and adopting different skins/themes will become available, and I'm sure a skinning API will also be released. But for now, everything is focused on fixing and refining the first level of functionality, and doing some things to tweak performance. The stuff you're asking about is a bit into the future.

At the moment it is still somewhat in flux - nothing is firm until 1.0 goes stable. They do plan, eventually, to have skins, buttons and all the stuff we loved about Presto but that will be later. That means, there will eventually be user-accessible files called from the current UI files instead of having to edit system files, but not in 1,0. Not like Presto really had this in the 7.0 versions, so it isn't a surprise there.

UI customizing options are not officially released. If you can read and edit CSS and .js, you can do your own hacks, and there are a couple of topics in the forum regarding Vivaldi UI mods and bundle.js modding, but these are not officially supported.

With respect, and I'm not trying to be contentious, but you're suggesting violating the Vivaldi EULA.
Section 7, subsection (a) prohibits altering Vivaldi for any purposes, there is no proviso for personal modifications and there is no caveat limiting this to redistribution.

"7. Without limiting the foregoing, you are neither allowed to (a) adapt, alter, translate, embed into any other product or otherwise create derivative works of, or otherwise modify the Software"

While there may be no harm in editing some CSS or a script here and there, It would still violate the license. Perhaps one day Vivaldi will be more open but it's important to remember that not all Linux software is libre.

Edit: With CSS in mind, alternatively you may be able to study the stylesheets used internally and create a .crx extension to tweak aspects of the UI, but directly modifying code still wouldn't be permitted under the above section.

No one here is developing their own product line, and no one is stealing Vivaldi's intellectual property. Probably most, if not all, of the developers - and even Jon - are well aware of the topics on the forum concerning mods to the files on a user's machine, and have even commented on them. All they are is the exact sorts of changes that every enterprising user is going to be invited to make, should they so desire, by means of user-crafted skins and other UI tweaks, once the ability to do these things is both built in to the software and offered by way of API for those who wish to, to submit things like skins yo some QA person on the team, ultimately to be published and offered on the Vivaldi website as an option.

If at any point any of the Vivaldi team feel this sort of idea-sharing is out of bounds, they are free to shut it down in the blink of an eye. On the other hand, Jon was always of the opinion that a main ingredient that made Opera great back in the day was its energetic and involved community, who contributed enthusiastically to the software and offered a panoply of mods on their own, both under Opera auspices and independently. And Opera was 100% closed source. Its config files, however, were intentionally designed to be easily fiddled by anyone who wanted to.

Everything happening here appears to me to be exactly in the spirit that Jon himself has promoted. If at some point it's not, we'll hear about it. That's my personal opinion.

I didn't intend to suggest that anyone was attempting to fork or steal Vivaldi's IP. However, even with the best of intentions, It sends mixed signals to encourage modification of code whose license prohibits it.

If someone was offering freeware php that permits it's use under a similar proprietary license, One could suppliment it with HTML or CSS but would be barred from modifying proprietary code unless the license stated otherwise.

If Vivaldi's intention is to allow it's community to modify any portion of the browser's code then it should be clearly stated in the accompanying legal documentation.

I've searched the vivaldi web sites and forums and I can't locate any documentation that describes how to set up and choose different profiles, or what parameters are available (and how to set them) when starting the browser. I have no problem using the command line, and I've looked at the startup scripts in the vivialdi software folders, but can't figure out how to pass stuff to the program at startup.

Are you referring to startup options such as these?: http://peter.sh/experiments/chromium-command-line-switches/
This would allow you to set a static –user-data-dir or something similar, if that's what you're asking.
If you are, and you're looking to make them persistent, the only simple means I've come up with is to create a bash script in my path (such as ~/.local/bin/) and an additional vivaldi.desktop (vivaldi-snapshot.desktop in my case) in ~/.local/share/applications/ that points to it.

This should set the user flags when launching vivaldi from a link or your desktop and also allow you to call it from a terminal.

!
~/.local/bin/vivaldi

#!/bin/bash
#
# The first portion of this checks if the CHROMIUM_USER_FLAGS variable is set
# If it's blank or unset it will default to the options specified
[ -z "$CHROMIUM_USER_FLAGS" ] && CHROMIUM_USER_FLAGS="--enable-low-res-tiling --process-per-site" # whatever you want
>! if hash vivaldi-snapshot 2>/dev/null; then
#This will check for and start vivaldi-snapshot with the user flags
exec vivaldi-snapshot ${CHROMIUM_USER_FLAGS} $1
elif hash vivaldi-beta 2>/dev/null; then
# This will use vivaldi-beta if you have it and the former can't be found.
exec vivaldi-beta ${CHROMIUM_USER_FLAGS} $1
fi
>! ```Of course, you could obviously tweak this as necessary.
>! This allows for the user to set the **CHROMIUM_USER_FLAGS=** environment variable in their ~/.profile or similar location.
>! * * *
>! ~/.local/share/applications/vivaldi-snapshot.desktop

! ```
But it would be nice if Vivaldi would implement this check for CHROMIUM_USER_FLAGS(or even VIVALDI_USER_FLAGS) into the distributed launcher or adapt something similar to chromium-launcher from archlinux: https://github.com/foutrelis/chromium-launcher