Coder Social home page Coder Social logo

lightbulb's Introduction


👋 Hi there!

My name is Oleksii and I do open source for fun. The projects you will find on this profile are just random things I've built at one point or another to make my life easier. Hopefully they can be useful to you as well!

Socials

Blog YouTube Twitter Discord

Stats

lightbulb's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightbulb's Issues

Movie mode

Is there plans to add support for modes, like in f.lux? I only use movie one, but there is darkroom and safe one,

Flashing when opening menus in game (Not Full Screen)

Hello! I'm on windows 10 with the latest updates, and the latest release of LightBulb. I have a minor issue where if I'm opening any sort of menu in Wizard101 -- the screen flickers back to non-yellow for 1-2 seconds and then back.

Location "<not set>" with Internet synchronization enabled

I have LightBulb running for some time already, but it's still reporting the location as "". I expected it to be wrongly detected (corporate network egress node is in London), but I don't have even that. GeoInfo in a configuration file is null. What may be blocking it?

LightBulb version: 1.6.3.4 (portable)
Operating system: Windows 7 Ultimate 64-bit

Wrong maximum temperature?

Maximum in flux is just 6500K, and similarly seems default in AMD driver (which stores the setting in HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\DAL2_DATA__2_0\DisplayPath_#¶\EDID_####_###\Adjustment btw).

I'm not sure if that's supposed to be default T for windows in general, or not.. But perhaps what about changing the last notch to a simple "disabled"?

Internationalization

Hi,

Thanks for this wonderful software. Would it be possible to add internationalization support to allow translation?

Regards,
Yvan

Is the program supposed to be a 3D process?

I wouldn't know the exact Windows function, though lightbulb shows up in msi afterburner active 3D processes list.
Now, should there be any problem, I'm sure I could easily blacklist the executable.. But I was wondering if this thing was an actual hard requirement (perhaps part of the functional differences that makes this better than flux) or something of a perhaps slip.

Problems with fullscreen

Hi there,
Ok let me tell you this is the best of is kind, works like a boss, the one problem i have find is for some reason doesn't work in fullscreen, especial in games. the only way to work is to put the day-time color all the way down. please fix this :(

Geolocation sync for users with proxy/VPN

Currently internet sync uses IP to determine location, which may not work very well for users that don't connect to internet directly.

As a workaround, it's possible to set sunrise and sunset times manually, but it eliminates the comfort of having them update automatically throughout the year.

Shell becoming laggy after running LightBulb for a while

Started noticing that Shell becomes laggy after using LightBulb for around 6 hours.

Symptoms: menus, tooltips, win32 software controls, etc take longer to render and appear more jittery. Everything else seems unaffected. Closing LightBulb fixes the issue.

May be related to running another GPU accelerated software along with it. Still trying to pinpoint the issue.

If anyone experienced the same - please comment, specifying your GPU brand.

Philips Hue lights support

Just started using this program, it seems like a great alternative to f.lux. I have a feature request:

I have Philips Hue smart lights in my room which I used to have synced to f.lux's colour temperature, up until a change to the Hue API broke its ability to authenticate with the bridge which I only noticed after a clean Windows install (they said that there would be an update to fix this but there still hasn't been).

I realise that probably not many people have Hue lights, but this is the only feature that I'm missing that f.lux had and it would be great to have it built into Lightbulb.

Portable version

Current behavior

Program is installed and saves settings to AppData\Roaming\Configuration.dat

Requested behavior

A ZIP or self-extracting archive that will run in place and save settings locally.

Use cases

  • Users whose machines have installation disabled by the admin. With a portable version, you just copy over items from a flash drive and run.
  • Users who want to have LightBulb setup the same across multiple machines could run the program over a cloud or network drive to sync the same color temp setup.
  • Ease of backup

Possible issues

Notably this can make updating the client more complicated as you have to know to update some files and not others, so it is recommended as an optional setting or a separate version.

Incompatibilities between LightBulb and MAME

LightBulb disables/restarts itself when launching a game on MAME 0.189 or closing the emulator, even though I haven't checked the option to disable it on fullscreen.

LightBulb 1.6.3.4
MAME 0.189 64-bit
Windows 10 64-bit

RAM usage?

Any way to bring down the overall RAM in use by the program? On my Win7-64 machine it's using almost 66 megs. I realize this isn't a big deal for most users but my work machine (where I really need this program) is a fairly low-end system.

I don't know how possible this is in a C# framework but thought I'd ask.

Lightbulb disabled after monitor turns off

Whenever I come home my desktop (not off, sleeping or hibernating. The monitors just turn off), I wake my monitors and lightbulb is not applied. It doesn't say it's disabled, but I have to click around in the settings for it to apply again.

Lightbulb memory explosion

So.. While I was checking the other computer for #29, I right clicked on LB icon... And nothing happened.
I tried again, again, again and nothing.
So I opened task manager and I noticed that LB was like 300MB of memory.... Whatever I thought?
Then I clicked again and.. boy, it skyrocketed to 1.2GB
Then it suddenly went down to 100, last but not least like 200 and it crashed.
All without never ever showing the settings menu.

Application: LightBulb.exe
Frramework version: v4.0.30319
Description: the process was terminated due to an unhandled exception.
Exception Info: System.OutOfMemoryException
   in System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
   in System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean, System.Nullable`1<ChannelSet>)
   in System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr)
   in System.Windows.Interop.HwndTarget.HandleMessage(MS.Internal.Interop.WindowMessage, IntPtr, IntPtr)
   in System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   in MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   in MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   in System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   in MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   in MS.Win32.UnsafeNativeMethods.SetWindowPos(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, Int32, Int32, Int32, Int32, Int32)
   in System.Windows.Interop.HwndSource.Resize(System.Windows.Size)
   in System.Windows.Interop.HwndSource.OnLayoutUpdated(System.Object, System.EventArgs)
   in System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
   in System.Windows.ContextLayoutManager.UpdateLayout()
   in System.Windows.UIElement.UpdateLayout()
   in System.Windows.Interop.HwndSource.SetLayoutSize()
   in System.Windows.Interop.HwndSource.set_RootVisualInternal(System.Windows.Media.Visual)
   in System.Windows.Interop.HwndSource.set_RootVisual(System.Windows.Media.Visual)
   in System.Windows.Controls.Primitives.Popup.SetRootVisualToPopupRoot()
   in System.Windows.Controls.Primitives.Popup.CreateWindow(Boolean)
   in System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType)
   in System.Windows.DependencyObject.InvalidateProperty(System.Windows.DependencyProperty, Boolean)
   in System.Windows.Data.BindingExpressionBase.Invalidate(Boolean)
   in System.Windows.Data.BindingExpression.TransferValue(System.Object, Boolean)
   in System.Windows.Data.BindingExpression.ScheduleTransfer(Boolean)
   in MS.Internal.Data.ClrBindingWorker.NewValueAvailable(Boolean, Boolean, Boolean)
   in MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32, System.ComponentModel.ICollectionView, System.Object, Boolean)
   in MS.Internal.Data.PropertyPathWorker.OnDependencyPropertyChanged(System.Windows.DependencyObject, System.Windows.DependencyProperty, Boolean)
   in MS.Internal.Data.ClrBindingWorker.OnSourceInvalidation(System.Windows.DependencyObject, System.Windows.DependencyProperty, Boolean)
   in System.Windows.Data.BindingExpression.HandlePropertyInvalidation(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.Data.BindingExpressionBase.OnPropertyInvalidation(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.Data.BindingExpression.OnPropertyInvalidation(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependentList.InvalidateDependents(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs)
   in System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType)
   in System.Windows.DependencyObject.SetValueCommon(System.Windows.DependencyProperty, System.Object, System.Windows.PropertyMetadata, Boolean, Boolean, System.Windows.OperationType, Boolean)
   in System.Windows.DependencyObject.SetValue(System.Windows.DependencyProperty, System.Object)
   in Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.OnToolTipChange(Boolean)
   in Hardcodet.Wpf.TaskbarNotification.Interop.WindowMessageSink.ProcessWindowMessage(UInt32, IntPtr, IntPtr)
   in Hardcodet.Wpf.TaskbarNotification.Interop.WindowMessageSink.OnWindowMessageReceived(IntPtr, UInt32, IntPtr, IntPtr)
   in MS.Win32.UnsafeNativeMethods.IntGetMessageW(System.Windows.Interop.MSG ByRef, System.Runtime.InteropServices.HandleRef, Int32, Int32)
   in MS.Win32.UnsafeNativeMethods.GetMessageW(System.Windows.Interop.MSG ByRef, System.Runtime.InteropServices.HandleRef, Int32, Int32)
   in System.Windows.Threading.Dispatcher.GetMessage(System.Windows.Interop.MSG ByRef, IntPtr, Int32, Int32)
   in System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   in System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   in System.Windows.Application.RunDispatcher(System.Object)
   in System.Windows.Application.RunInternal(System.Windows.Window)
   in System.Windows.Application.Run(System.Windows.Window)
   in LightBulb.App.Main()

Dump

Enable/disable hotkey does not work when smoothing is off

Thanks for the great program, Fl.ux's hotkey disable only works for 1 hour at time.

I like to use Lightbulb when am programming at all times of the day. But I can switch to design very quickly. I have it set all the way down. As such the transition takes a whole 6 seconds when I toggle :)

Just being nit picky, but I would happy with more imitate transition.

Run Hidden and portable

you already have users editing their own config, so simple feature request: can a 'hidden' value be added so than no icon is displayed in the taskbar - obviously this would be an advanced feature (no way to quit) so I would think that it not being accessible in the GUI is fine.

Only other thing - can the program look for a configuration file in its own folder by itself rather than having to specify portable (ie it looks and uses if found, if not then assumes no portable), or even some dummy file ('portable.blank' or something) which if found will run as portable. seems simpler than using the batch file to launch, means that in every case you just run the exe (after registry file).

Settings do not save

Really neat. Settings do not save on my computer. I'm not running the program as admin, using Windows 10 64-bits.

I changed the settings by editing the .dat and everything seems to be fine now. So I figure it's a saving issue rather than a reset issue. I just re-tried it settings are now saved via the UI. Could it be the fact that I did not exit LightBulb before shutting down my computer? Cannot test at the moment.

Behaviour after sleep/hibernation

When the computer enters sleep mode or hibernation while LightBulb has dimmed the colour temperature, it remains dimmed after waking up the computer at daytime. Toggling LightBulb off and on again helps.

Next time I encounter this issue I will check whether or not shortening the transition duration helps in seeing the right colour temperature sooner.

edit: this was with version 1.2, I think. Is there any way of checking the current LightBulb version?

Disable when fullscreen: gamma control turning off on non-fullscreen windows

Clicking on the desktop makes LightBulb reset the current temperature to daytime (6600K) as if an application switched to fullscreen.
Clicking back and giving focus to any other program makes the temperature go back to normal.
This happens with proper fading.

I can replicate this by also switching between two windows: let's say I have Discord and Chrome, with Chrome being in the foreground and Discord being the 2nd application in the "Windows focus order". Clicking the Chrome icon in the taskbar or using the top-left button will minimize its window and will switch the focus back to Discord. This will make the temperature go back to 6600K and, once the fading animation has terminated, it will switch back to whatever the temperature was without fading.
This does not happen if I click on Discord manually or using Alt+Tab.

I can replicate the 2nd case with basically any window - tried to use two basic explorer windows as well.
Killing the explorer.exe process does not change anything (worth a try).

I also tried to close as many background apps as possible without success. I do not use Rainmeter nor any related or similar programs.

I'm on Windows 10 (1607 version).

Manual proxy settings not used

Hi,
I tested the manual proxy settings. It does not work currently.

The test here is never true (even with args.PropertyName containing "Proxy"). Therefore UpdateConfiguration is never called and the proxy is not set. There may be a bug or a misuse of the extension method IsEither.

By the way you should modify the host example you provided in the Proxy wiki page. The host should not have the http:// prefix: http:// proxy.server.com
(https://msdn.microsoft.com/fr-fr/library/xfsh37cx(v=vs.110).aspx#Notes)

Multiple monitor support

Hey, this is almost going to look like a post, on whats wrong and could be improved.

So I have been using LightBulb for a few days and noticed that 'Pause if fullcsreen' checks current window only.
So for example, if I play LoL on Borderless, it will work great, as soon as I tab out (lets say to a chat for a few secs) it starts transitioning back to night mode. Tab back into game, and it transitions back.
Slightly annoying.

Another king I have with this is that it affects the whole desktop. (I am not sure if this would be possible to fix but...)
It would be great if it only affected the monitor that has the fullscreen app running.
So for example, one monitor runs a game, and is in day mode, secondary monitor is in night mode.

Otherwise great app, loving it : )

Thank you,
xTheEc0

Support for ICC profiles

A ICC profile stores gamma values for use by a display calibration software. Both the built in Color Management in Windows and F.lux support this format.

I am using QuickGamma to fine tune the gamma values (and it gives you easily reproducible values), though there are dedicated sites to share ICC profiles.

I tested LightBulb's portable version and it resets the gamma values to 2.2 ( Windows default). I hope LightBulb can add support for these profiles.
Well either way, nice app!

Automatic brightness adjustment

I find myself constantly switching the brightness during day and evening.
Could you add an option to automatically change brightness along with screen temperature?

Also, it would be neat if auto-brightness change could come at separate time with yellow-tint. I'd prefer to have my screen dimmed around 6p.m., when the sun goes down, but the orange filter is needed only at 23p.m. - one hour before bedtime.
I don't know if it's worth the hassle, but I'd really enjoy that kind of setup.

LightBulb stuck?

Like.. This morning I resumed from standby, it was stuck to night temp.
Tonight then, I just realized it didn't already triggered.
Only manually disabling/enabling unstucked the thing, but I wouldn't know if tomorrow it mightn't happen again.

Is there anyway I can take a memory dump or something to add more detail (I still haven't restarted the program)?

Uninstall LightBulb causing the system color manager broken

Reproduce

  1. Backup your registry keys, especially the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM;
  2. Uninstall LightBulb using the uninstaller;
  3. Open Run (Win + R), type `colorcpl.exe' and return;
  4. Switch to the Advanced tab, will show up an error.

Cause
The LightBulb uninstaller seems to delete a whole registry key of ICM which will make colorcpl.exe throw an error in Advanced tab.

The code I checked in Deploy/Installer/Installer.iss, and found:

[Registry]
; Change valid gamma range
Root: HKLM; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\ICM"; ValueType: dword; ValueName: "GdiICMGammaRange"; ValueData: "256"; Flags: uninsdeletekey

Crash when reassigning hotkeys

Hey,

I set a hotkey for disabling Gamma Polling with (CTRL + ALT + 1), but whenever I try to change it, it seems to crash.

Let me know if I should provide logs of sorts.

EDIT: Tried it with the other options as well and it crashes. Fixed the problem for now by editing the .dat file.

Manually set geolocation

I recently switched from f.lux after discovering that it has started collecting usage data and it was made opt-out and am glad to have found LightBulb.

One feature that I always used on f.lux is a custom geolocation - I work nights so standard sunrise/sunset times don't work well for my body clock. I used to set the geolocation as somewhere across the other side of the world. I'd be grateful if this could be added as a feature, thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.