Where are the render display options in Blender 2.8?

2.8 has a Dynamic Context menu addon inherited from 2.79 behavior.
It works with spacebar set for search.
It would probably make more sense for 2.8 to adapt it to work with right click menus.

1 Like

Totally agree this would be useful.

At one point we experimented with making it so the add menu would appear when you have zero selected elements - in this case none of the items in the context menus do anything anyway.

And, based on the context of having zero objects selected, adding new ones is what makes sense.

I think we should make that happen consistently throughout.

1 Like

The “Add” option could be there in the context menus all the time, regardless if you have zero stuff selected or not. It’s just freaking handy, and quite intuive also. Would love to have that functionality. :slight_smile:

1 Like

+1


Yes, I’ll work on adding it. But, to make it nicer, it should ideally work better with zero objects selected. In that case, we should hide the other items and only show items to add.

That’s what you expect from contextual menus. Think of a file manager. When right-clicking on a file, you get the option to do things with that file, but if you right-click with nothing selected, you get options to create new folders or files.

1 Like

In the latest 2.81 alpha (September 18, 14:29:45 - b962aca8003d) I can’t find the Full Screen etc. rendering options again. Have they been moved?

Unfortunately yes…

Preferences ➤ Interface ➤ Editors ➤ Temporary Windows

Bad move by the way… :upside_down_face:

2 Likes

Eeeeh, that’s unfortunate indeed. I tend to switch between those options depending on scene or workflow fairly regularly.

Here’s the commit.

Indeed. Holy crap, what were they thinking?

1 Like

Hmm… I have to admit I like this being in the Prefs now, so you don’t have to change the settings for every new scene.

1 Like

Or you can use the Render Button script.
Not only it brings back those options but also adds other useful features.

Yes, you’re right, it makes sense as a pref, it’s useful to set it permanently, but some way to change it on the fly would be nice too. So maybe with a script or the render button addon. Thanks for sharing, Andrew_Ray.

Maybe with Python one can just script it back into the Render menu, so we can have both.

Edit: ok, here’s a quick fix. This gives access to the preference setting, in the render menu like before. It is global though, not per scene, and sets the preference, just like in the preference window.

Beware, I’m not exactly sure what I’m doing, but it seems to work for me (Edit: look further down for an addon version).

import bpy

def render_in(self, context):
    self.layout.separator()
    self.layout.prop_menu_enum(context.preferences.view, "render_display_type", text="Display Type")
    
bpy.types.TOPBAR_MT_render.append(render_in)

def register():
    pass

def unregister():
    pass

Put this text in a file with a “.py” extension, I called it “render_in.py”. Put the file into the …/2.81/scripts/startup folder in your user config location. In Linux it defaults to ~/.config/blender/2.81/scripts/startup. You can also set a custom scripts folder somewhere on your system (in Preferences/FilePaths/Scripts), make a startup subfolder and put it there, very handy.

render_in

Edit 2: forgot the register functions.

Edit 3: J_McAllister made the script into an addon for easy installation and activation.

5 Likes

Hi, testing it with latest buildbot on Linux and it work only if I run the script in Blender.
Text editor > past script > run script.
If I copy the created script render_in.py in Startup it give me error:

File "/home/user/Downloads/blender-2.81-f8da7218be13-linux-glibc217-x86_64/2.81/scripts/startup/render_in.py", line 7, in <module>
    bpy.types.TOPBAR_MT_render.append(render_in)
AttributeError: 'RNA_Types' object has no attribute 'TOPBAR_MT_render'

Thanks for looking in to, mib

Thanks for testing, mib2berlin.

Ha, my build is also from today, but from 10:44 in the morning. I’ll download the new one and check.

Edit: turns out it doesn’t work for me either when I put the script in the startup folder of the Blender install location. I should have tested all possible locations I talked about, which I hadn’t, I’m sorry.

So, you either put it into your user config location to …/2.81/scripts/startup, in Linux it defaults to ~/.config/blender/2.81/scripts/startup. Or you go the route with the custom scripts folder. Both work, at least on my Arch Linux.

I’ll edit my post. Thanks again for testing and catching this.

Hi and thanks, it work for the buildbot.
For my own build and other like E-Cycles I use a symlink to a config directory in my Google Drive. I use it on Windows, Linux for all systems to get the same setup.
If I remove the “config” it load script from .config/Blender.
I tried different locations and path setting in Preferences but it does not load the script.
Will fiddle around with the location of the script tomorrow, at least the script is working fine but not in my special configuration. :upside_down_face:

Keep you updated, mib

Great it works for you in the buildbot, thanks for posting.

For your own build I really recommend trying the custom scripts folder, maybe it works with your setup. You can set it in Preferences/File Paths. It can be anywhere, gets saved in your config. You have to create any subfolders like startup etc. manually.

I’m using it like this, works fine.

1 Like

Hi, cant resist to try again and it work now.
I set the path to the directory where render_in.py exist and now it is set to /startup_dir/startup with the .py inside.

Thank you, this help me a lot, mib

Been looking for it today in 2.81 it’s been moved to the Preferences/Interface/Temporary windows -> https://developer.blender.org/T70795

1 Like

I made it into an add-on, now if you save it as a “.py” file then you can install it like any other add-on and then easily enable/disable it from the add-on preferences.

Edit: here’s the file.
render_menu_display_mode.py (713 Bytes)

Code below:

bl_info = {
    "name": "'Display Mode' in Render menu",
    "author": "Sanne, JMcAllister",
    "version": (1, 0),
    "blender": (2, 81, 0),
    "location": "Render",
    "description": "Adds the option to change the 'Render in' user preference from the Render menu.",
    "warning": "",
    "wiki_url": "",
    "category": "Render",
}

import bpy

def render_in(self, context):
    self.layout.separator()
    self.layout.prop_menu_enum(context.preferences.view, "render_display_type", text="Display Mode (\"Render in\")")
    
def register():
    bpy.types.TOPBAR_MT_render.append(render_in)
    
def unregister():
    bpy.types.TOPBAR_MT_render.remove(render_in)
    
if __name__ =='__main__':
    register()
1 Like

Thank you, that’s great!

Maybe it should be made clearer that it sets the preference, so in Blender’s default config it would be saved as such when you set it from the new menu entry.

But maybe I’m overcomplicating things. :slight_smile:

What do you think?

1 Like