Commit a78b21df authored by meta-androcto's avatar meta-androcto
Browse files

ui_splash_tips: remove: unsupported T63750

parent a3186ed3
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# <pep8 compliant>
bl_info = {
"name": "Splash Startup Tips",
"description": "Show a tip on startup",
"blender": (2, 73, 0),
"location": "Splash Screen",
"warning": "",
"tracker_url": "",
"category": "System",
def u_randint(s, e):
import os
import struct
data_type = 'Q'
size = struct.calcsize(data_type)
data = struct.unpack(data_type, os.urandom(size))[0]
return s + (data % (e - s))
def read_random_line(f):
import os
chunk_size = 16
with open(f, 'rb') as f_handle:, os.SEEK_END)
size = f_handle.tell()
# i = random.randint(0, size)
i = u_randint(0, size)
while True:
i -= chunk_size
if i < 0:
chunk_size += i
i = 0, os.SEEK_SET)
d =
i_newline = d.rfind(b'\n')
if i_newline != -1:
i += i_newline + 1
if i == 0:
break, os.SEEK_SET)
return f_handle.readline()
def find_random_tip():
import os
text = read_random_line(
os.path.join(os.path.dirname(__file__), "tips.txt"),
url_index = text.rfind(b' ~')
if url_index != -1:
text, url = text[:url_index], text[url_index + 2:]
url = b''
return text.decode("utf-8"), url.decode("utf-8")
def menu_func(self, context):
url_prefix = ""
layout = self.layout
tip, url = find_random_tip()
tip = tip.split("\\n")
row = layout.row()
row.label(text="Tip: " + tip[0])
if url:
row.operator("wm.url_open", text="", icon='URL').url = url_prefix + url
for tip_line in tip[1:]:
row = layout.row()
import bpy
def register():
def unregister():
if __name__ == "__main__":
Hold Ctrl while scrolling the mouse wheel while over the toolbar to quickly switch tabs.
Hold Alt when orbiting to snap the view to 45° increments.
Press Ctrl-C when hovering the cursor over an input field to copy it and Ctrl-V to paste in it.
Press F5 over a sidebar or a header to flip it to the other side of the window.
Pressing G twice in Mesh Edit Mode activates the Slide command.
Ctrl-LMB on a panel’s header will open it, while closing all the other panels.
Pin panels by clicking on their headers with RMB and choosing Pin,\n to keep them visible in all tabs.
Press E with the mouse cursor over an Object Selection Field to activate an Object Picker.
Only allow an object to transform in a certain direction by using Transform Locks.
You can make objects appear and disappear by animating their Layer Relation.
Make objects always appear in front of others by activating the X-Ray mode.
Make moving rotated objects easier by going into Local Transform mode.
When you use Loop Cut and Slide, use the Mouse Wheel to add more cuts.
See vertices behind other faces by turning off Limit Selection to Visible.
If you see weird shading on your mesh, try Recalculate Normals and Remove Doubles.
You can add new geometry with Ctrl-LMB in Edit Mode.
Press Ctrl-Up Arrow to maximize a window. Repeat to minimize.
Click the little arrows in the outliner to prevent view-port selection,\n Ctrl-LMB click them to do it to all their children too.
When adding plane, cube, or cylinder in edit mode, auto align to active edge,\n and set radius to active edge length.
Shift-Click any folder icon to open that folder within your Operating System
Shift-Click, Drag a windows corner drag area to separate that window\n into it’s own Blender instance - Great for multiple monitors!
Ctrl-Click, Drag a windows corner drag area into another window to swap them.
Spacebar opens the tool search popup. \n Giving fast access to tools by name.
Ctrl-C over tools & menu-items to copy the Python command.
Backspace over input fields to clear their value.
Shift-Click-And-Drag the manipulator axis to transform on that plane.
Trouble navigating your Scene? Try the Walk Navigation. ~/getting_started/basics/navigating/3d_view.html#view-navigation
Need to cut a hole in a mesh? Try the Knife tool. ~/modeling/meshes/editing/subdividing/knife_subdivide.html
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment