does anyone know: Can a toolbar button be aware of a modifier key being present (pressed)?
i can see it is possible with mouse click, but not from toolbar (at least all my attempts have failed).
does anyone know: Can a toolbar button be aware of a modifier key being present (pressed)?
i can see it is possible with mouse click, but not from toolbar (at least all my attempts have failed).
yes, i still have my first ever version 2! 
no official list exists, so no way to tell for sure. most are still compatible, some aren't.
why not try.... see the errors in the console. if any, take note of the ones not working and get them out of the folder. (you may still find others not working though).
but really, if you are going 2015, i would strongly advise to start fresh. get sketchucation tools and extensions warehouse on tour and take some time looking around. you will find some new things and finish with the least buggy set up and latest versions. (that's what i did)
PS. i have to say i still use 8 a fair amount, for some reason the viewport still runs faster than 2015 x64.
i just have a question... WHO is Fredo6!!! 
this stuff should be in the evening news!
Thanks Fredo
great and simple tool, would be super-fab if able to flip curved faces as well!
...i thought combining the 2 bits of code above might do the trick:
1, click2flip
2, flip selection
the idea being that if i click on a curved face, i'm also selecting it and therefore running the 2nd script might reverse the whole curved face, say a cylinder. (ideally i thought it could be toggled by pressing an accelerator key) a fair bit beyond my christmas powers... surely possible though..?
class TIG;;Click2flip
@@BEEP=false
def initialize()
@ip = nil
@ip1 = nil
end
def activate()
@ip = Sketchup;;InputPoint.new
@ip1 = Sketchup;;InputPoint.new
@msg="Click back of face to flip it..."
self.reset()
end
def deactivate(view)
view.invalidate
end
def onCancel(flag, view)
view.invalidate
Sketchup.send_action("selectSelectionTool;")
return nil
end
def resume(view)
Sketchup;;set_status_text(@msg, SB_PROMPT)
end
def reset()
Sketchup;;set_status_text(@msg, SB_PROMPT)
end
def onMouseMove(flags, x, y, view)
@ip.pick(view, x, y)
if @ip != @ip1
view.invalidate if @ip.display? or @ip1.display?
@ip1.copy!(@ip)
view.tooltip = @ip1.tooltip
end
end
def onLButtonDown(flags, x, y, view)
if @ip1.valid?
@pt=@ip1.position
ph = view.pick_helper
ph.do_pick(x,y)
@face = ph.picked_face
self.flipper() if @face
end
end
def flipper()
normal=@face.normal
vector=@pt.vector_to(Sketchup.active_model.active_view.camera.eye)
angle=normal.angle_between(vector)
if angle > 90.degrees
@face.reverse!
UI.beep if @@BEEP
end#if
end
end#class
def self.flipBacks()
model=Sketchup.active_model
eye=model.active_view.camera.eye
faces=[]
Sketchup.active_model.selection.each{|e|faces << e if e.class==Sketchup;;Face}
return nil unless faces[0]
model.start_operation("Flip Selected Back Faces...")
faces.each{|face|
normal=face.normal
vector=face.bounds.center.vector_to(eye)
angle=normal.angle_between(vector)
face.reverse! if angle > 90.degrees
}
model.commit_operation
end
EDIT: actually just noticed the second script only flips half a cylinder (the side to the screen), the back remains undone.
i will look into this, though i can already predict a higher climb than my skills might allow..
meantime there are a few good scripts around: didier 2d align, su4you align and sd mitch A&D - and probably others i forget.
yes, sketchup of course... but, without the masters.....can you imagine? 
makes one feel like sketch-fu panda! 
adding myself to the 'great-full' chorus - and wishing all a good Christmas and peace filled new year.
(where would i be without you!)

ok, in my case progressbar.rb is the culprit
now it's smartdrop
it changes.. 
ok TIG, thanks for that, i shall have a go with this.
i thought i wasn't too far with my first example! 
Thanks!
i've got a toolbar, clicking an icon it loads and applies a style from a folder (mystyle.style, for want of a better name). this part is working fine.
what i was trying to do is for the icon to highlight anytime that style is active.
(from the api the 'active' procedure didn't work but the 'selected' did)
hope this makes some sense..
yes TIG i think that is it - i'm going to try it. (fail)
mystyle.style is just the name of the file i'm calling (from a toolbar).
John, then i wanted to have an icon which activated if that particular style was active (selected).
this is all i could find, on retrieving a style name that seems to work from the console.
styles = Sketchup.active_model.styles
style = styles.selected_style
UI.messagebox ('The selected style is; ' + style.name)
but i can't get it to work with a validation proc - something along these 'lines'...
cmd.set_validation_proc {
styles = Sketchup.active_model.styles
style = styles.selected_style
if style.name = mystyle.style
MF_CHECKED
else
MF_UNCHECKED
end
}
Thanks TIG (as always) - i've got some already updated. i can sift through, see if other masters agree, package the lot accordingly and get them to you to check.
i met many others who found them useful - i will talk to the masters and Rich. perhaps we can make a comeback with some SCF gems...
ha ha - Kris tell the truth - you just like the icons! 
well, if the masters give their consent i can start an updated one (lots has changed since then) - i'll write to them and see if they agree.
yeeeeaaa! fantastic Master Anton, works ghurait now!

exactly as you described it - i got a 'works!' button as i quit SU.
(on reopening i still got the green bar)