last modified date in status bar?
-
yes, it works CF
I tried BUFFERACTIVATED but it didn’t work
-
@patrickdrd, have you been able to get this working? I’ve been trying here from my end. I can’t get the last modified date to display on the statusbar. If you have been able to get this working, can you please post the code?
Thank you.
-
from Npp import editor, notepad, SCINTILLANOTIFICATION, NOTIFICATION, STATUSBARSECTION
import os
from datetime import datetimedef StatusbarSelOverride(args):
modified_time = os.path.getmtime(notepad.getCurrentFilename())
last_modified_date = datetime.fromtimestamp(modified_time)
notepad.setStatusBar(STATUSBARSECTION.DOCTYPE, ‘Mod: {:%d/%m/%Y %H:%M}’.format(last_modified_date))editor.callback(StatusbarSelOverride, [SCINTILLANOTIFICATION.UPDATEUI])
notepad.callback(StatusbarSelOverride, [NOTIFICATION.FILESAVED])
notepad.callback(StatusbarSelOverride, [NOTIFICATION.READY]) -
I still can’t figure out how to add the timestamp and still keep the original contents of a statusbar section.
Scott Sumner, I would appreciate it very much if you can fix this code and post it here. thank you.
-
I don’t think you need the original contents, if we’re talking about the first tab,
is DOCTYPE really that important for you?
If so, why?
I can’t think that’s important, that’s why I’m overwriting it -
Using LuaScript I’ve been able to keep the doc type and display the file modification time. Should be easily translatable to PythonScript.
Note this works with a yet-to-be released version of LuaScript
npp.AddEventHandler({"OnSave", "OnSwitchFile", "OnLangChange"}, function() -- Make sure it is a "real" file first if npp:GetCurrentDirectory() == "" then return end local text = npp.LanguageDescription[npp.BufferLangType[npp.CurrentBufferID]] .. " - " .. os.date('%d/%m/%Y %H:%M', winfile.attributes(npp:GetFullCurrentPath(), "modification")) npp.StatusBar[STATUSBAR_DOC_TYPE] = text end)
Gives the results:
-
unfortunately not, as python script hasn’t been updated with recent npp messages yet.
Cheers
Claudia -
Ah. Thanks for clarifying.
-
@dail
Nice, I will be using your script then.
When is the release of the next version of luascript?Thanks.
-
-
Thanks. the code works.
-
I think I’ve found a bug:
I had around 10 tabs opened in npp, and my work shift is close to the end so I decided to close npp, so I pressed the x in the top right corner to find out that:
there was a file open which was attached to an email,
it was opened as read-only originally,
I clicked on edit -> clear read-only and I edited it,
I never saved it,the date on the bottom left corner is updated continuously/ every minute that passes (on the clock), even though I’m not saving it (I can see a star on the top left corner - the star that means that the file is not saved),
I opened the containing folder and the file doesn’t exist there,
I’m using autosave plugin to run every time focus is switched off
from the current file as welledit: more likely its an autosave bug
-
something is strange here - how can python get a modified timestamp if the file doesn’t exist at all??
The autosave plugin could explain why you see the continuous update of the timestamp
but only if there is a file which can be saved.
Sorry, but, are you really sure that the file doesn’t exist?Cheers
Claudia -
yes, I checked in windows explorer, it should be easy to reproduce it yourself
-
I’m also using the lua script too, not the python one
-
The Lua I posted above simply askes the operating system (i.e. Windows) when the file was last modified. Even if the file isn’t being saved from Notepad++, it would appear something else is changing the file’s modification timestamp.
-
Hi dail, I just tested your script today and it is not working anymore on notepad++ v7.5.8
Can you please also check it and maybe we can come up with a fix.
File:8: attempt to index a nil value (global 'winfile') stack traceback: File:8: in function <File:3> Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
-
lua script implementation works fine with 7.5.8
-
It does, but this particular code does not work for me as of this date. I fear windows OS might have changed something, since this script calls something from the OS.
npp.AddEventHandler({"OnSave", "OnSwitchFile", "OnLangChange"}, function() -- Make sure it is a "real" file first if npp:GetCurrentDirectory() == "" then return end local text = npp.LanguageDescription[npp.BufferLangType[npp.CurrentBufferID]] .. " - " .. os.date('%d/%m/%Y %H:%M', winfile.attributes(npp:GetFullCurrentPath(), "modification")) npp.StatusBar[STATUSBAR_DOC_TYPE] = text end)
-
My guess is that since it is reporting
winfile
as null then you do not have a version of LuaScript that supports this. The official v0.7.1 available via the plugin manager will not work. You have to grab one of the versions listed above.