Git Product home page Git Product logo

dwin-bar's Introduction

DWin-Bar

A taskbar and notification server for linux designed for DWin. Also works with other window managers implementing the EWMH standard.

DWin Bar Example at the bottom on a 800x600 display with clock, battery and workspace widgets and an open notification

Setting up bars currently only works in the source code, however the API is really simple. If you want to change the orientation, screens or widgets simply change source/app.d and rebuild using dub. There is a widget interface in source/widgets which can be extended and added to the bars. The clock widget is a good widget to base on.

dwin-bar's People

Contributors

webfreak001 avatar

Stargazers

 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

dwin-bar's Issues

RAM Widget

  • Show how much ram is available
  • Popup for details (RAM, Swap)

Battery widget

  • Shows battery lifespan etc, use some power manager api for this?

Improve Clock widget

  • Option to include date
  • Popup containing analog clock, calendar & button to system settings

Start up crash: Problems with battery widget

Program crashes as seen below. This is only preventable when the .add(new BatteryWidget... line is removed indicating that there is something wrong with loading of the battery widget.

NOTE: I am on a desktop and I didn't have this issue on my laptop so it might be since a desktop doesn't have a battery that it might have trouble reading that fd.

----------------
../../../.dub/packages/ddbus-2.1.0/ddbus/source/ddbus/thin.d:26 ddbus.c_lib.DBusMessage* ddbus.thin.wrapErrors!(ddbus.c_lib.DBusMessage*).wrapErrors(ddbus.c_lib.DBusMessage* delegate(ddbus.c_lib.DBusError*)) [0x5edaa2]
../../../.dub/packages/ddbus-2.1.0/ddbus/source/ddbus/thin.d:525 ddbus.thin.Message ddbus.thin.Connection.sendWithReplyBlocking(ddbus.thin.Message, int) [0x5e80b0]
../../../.dub/packages/ddbus-2.1.0/ddbus/source/ddbus/simple.d:28 ddbus.thin.Message ddbus.simple.PathIface.opDispatch!("Get", immutable(char)[], immutable(char)[]).opDispatch(immutable(char)[], immutable(char)[]) [0x5a0964]
source/dwinbar/widgets/battery.d:88 void dwinbar.widgets.battery.BatteryWidget.update(dwinbar.bar.Bar) [0x5cb0b4]
source/dwinbar/bar.d:312 void dwinbar.bar.Panel.update(dwinbar.bar.Bar) [0x5bfbde]
source/dwinbar/bar.d:711 void dwinbar.bar.Bar.start() [0x5c3b76]
source/app.d:22 _Dmain [0x571583]
Program exited with code 1


Commentating off the battery widget line as previously stated prevents the crash/errors

	//dfmt off
	bar.addPanel(Screen.First, Dock.Bottom, panelConfig)
		.add(new ClockWidget())
		// find using `dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.EnumerateDevices`
		//.add(new BatteryWidget(bar.fontFamily, "/org/freedesktop/UPower/devices/battery_BAT1"))
		.add(new NotificationsWidget(&bar))
		.add(new VolumeWidget())
		.add(new WorkspaceWidget(bar.x, "HDMI-1"))

Weather widget

  • Quickly show weather & temperature
  • Popup should show more details

Use forecast.io

Notification widget

Don't really know if possible but capturing notify-send would be cool. Same for chrome notifications and other notification managers.

Screen widget

  • Adjust screen resolution & order using xrandr in popup

Music player widget

  • Show currently playing song
  • mpv/mplayer support
  • vlc support
  • Spotify support?
  • di.fm support
  • Popup to pause/play, skip / go back songs

Memory leak

Spotify or media player widget might be causing problems as there is a slight increase in memory after long running since the addition

CPU Widget

  • Show average CPU usage
  • Popup should show usage on all cores

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.