Sublime Forum

Storing per window settings

#1

Hi

I am developing a plugin and i want to store per-window (project actually) settings. Those settings only need to be persistent during the session.
They can be cleared every time the plugin is reloaded.
Right now i use “global” but then my settings are shared between all windows.

Does anyone know how to do it?

Thanks

0 Likes

#2

sublimetext.com/docs/3/api_reference.html

Class sublime.Window Methods Return Value Description id() int Returns a number that uniquely identifies this window.
Then…

[code]import sublime

my_session_settings = {}

def settings(name, value = ‘Nopennada’):
if value == “Nopennada”:
return my_session_settings[name]
else:
my_session_settings[name] = value

settings(‘something_global’, 2+2)

print(settings(‘something_global’)) # prints 4

settings(‘something_per_window_’+str(sublime.active_window().id()), 2+3)

print(settings(‘something_per_window_’+str(sublime.active_window().id()))) # prints 5

print(settings(‘something_global’)) # prints 4
[/code]

0 Likes

#3

It works perfectly!!!
Thank you so much tito!

0 Likes