hDesktop - Preview Release

Hi All,

For fun I designed this sdl2 opengl app to mimic a Desktop. It uses hardware acceleration for for drawing and currently is tested with @X512 nebula driver, so your mileage may very depending on your system specs.

Plans are to hopefully…

  • Have mini window preview hovering effect over icons to render live content feed.
  • 3D workspace switching similar to compiz.
  • Have a working taskbar that shows app loaded in the Deskbar.
  • Other wishful things.

Download: hdesktop-1.0.1-1-x86_64.hpkg

Screenshot

6 Likes

Updates to hDesktop

  • This is mainly just a “what if” project and not sure how well it will make for a enjoyable and usable Haiku experience. You are welcome to try it out and play with the app.
  • Latest Updates try to keep Haiku apps in focus.
  • The app is still a slow work in progress. There are some major memory leaks I haven’t resolved so probably best not to leave the app running for an extended time.

Download hdesktop-1.0.4-1-x86_64.hpkg

Homemade screen capture clip made with my own Haiku Screen Record App.

Well this is surprising. I was shocked to see most of the app working with native Haiku mesa, so maybe with a few tweaks and the app could be used for everyone.

2 Likes

Hi All,

This is another update to hdesktop. Hope you enjoy it!

  • Updated SDL code to make a small transparent window at the bottom instead of full screen.
  • Added Trash icon with right click to delete Trash contents.
  • Added Apps/Preference Popup Window for native OS feel.

Todo/Wishful:

  • Add Config Popup
  • Add Quit Option
  • Fix Tracker Handling and other Apps that have multiple windows
  • Shade Dock icons if apps are hidden when double clicking titlebar.
  • Add Different and creative Clock applets

Requires @X512 Nebula Driver and a Supported Nvidia Card.

Download: hdesktop-1.0.5-1-x86_64.hpkg

2 Likes

@ablyss

Looking great! Keep it up!

1 Like

Updates!

  • Added new logic to keep the Dock from clipping the bottom of Haiku App windows if a Haiku App was over the SDL Dock window and a mouse click was triggered on the SDL Window.
  • Added logic so App icons in the Dock will fade to show minimized app states if user double click the app titlebar and minimizes the app. * Certain apps like PE, Art Paint, Tracker etc…will not restore or minimize correctly.
  • Made the Icons in the popup Leaf menu bigger and scrolls faster.
  • Added a basic Config menu which has a Shutdown App option.
  • Cleaned up a lot of the unused code from previous versions.
  • Added new logic to adapt the the users current wallpaper. * This new logic only applies to wallpaper that is scaled. If you notice the wallpaper out of alignment, try reapplying your wallpaper with Backgrounds and restarting the app. Also, if you update your wallpaper, you will need to restart the app.
  • This code also seems immune to previous memory leaks in earlier version but need to leave running for a long time to find out.

Download hdesktop-1.0.6-1-x86_64.hpkg

3 Likes

Latest Updates!

  • Added new code to keep the dock from sticking to zoomed out mode when mouse leaves the dock and hovers over an app instead of the desktop.
  • Added new code to zoom in on the time and cpu graph and changed font coloring to neon green for cpu and trash tool tips.
  • Added new code to open Haiku Time app when time was clicked on the dock.
  • Added new code to control volume to the dock. Clicking the volume will open Media, and middle click will mute the volume.
  • Added code to open ActivityMonitor when CPU graph is clicked.

Download hdesktop-1.0.7-1-x86_64.hpkg

Preview Video

Update!

  • Updated code to support standard Haiku Mesa.
    ( I thought this was going to be a lot harder but was just a one liner )

Download hdesktop-1.0.8-1-x86_64.hpkg

Preview Video

3 Likes

Updates!

  • Wallpaper automatically is updated if user changes the wallpaper. * Only supports scaled wallpaper modes currently. *
  • Dock now has autohide mode that can be enabled in config.
  • The Leaf Menu now includes Demo folder contents.
  • Middle clicking an icon on the dock will now close the app.
  • Middle clicking trashcan will empty trashcan

Extra

  • The demo video below shows off some HaikuDVR features near the end!

Download hdesktop-1.0.9-1-x86_64.hpkg

Demo VIdeo

2 Likes

Hi!

Latest Updates

  • Added Favorite App tagging to the Leaf Menu that shows favorite apps first, then the rest.
  • With the Favorite code added above, apps that were once nested in a sub directory now show up as a normal icon.
  • Added Shutdown and Reboot options to the top Leaf Menu.
  • Added ESCAPE keydown logic to close the Leaf Menu.

Download hdesktop-1.0.10-1-x86_64.hpkg

Sneak Peak at what’s to come… Systemtray !

~/Dev/systray_test> ./tray_test 
[Piggyback Engine] Connecting to public BDeskbar interface...
[Piggyback Engine] Scanning live system tracking ledger:

 [ACTIVE] -> "NetworkStatus" is running.

[SDL Bridge] Initiating offscreen capture for: "NetworkStatus"
 -> [SUCCESS] Live pixel array extracted out of system memory!
    Memory Address Pointer: 0x680004d0
    Line Stride (Bytes Per Row): 64
    [SDL Integration Blueprint]:
    1. SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 16, 16);
    2. SDL_UpdateTexture(yourTexture, NULL, rawPixelBytes, 64);
    3. Render inside your main SDL dock draw loop!
 [IDLE]   -> "PowerStatus" is not running.
 [ACTIVE] -> "ProcessController" is running.

[SDL Bridge] Initiating offscreen capture for: "ProcessController"
 -> [SUCCESS] Live pixel array extracted out of system memory!
    Memory Address Pointer: 0x680004d0
    Line Stride (Bytes Per Row): 64
    [SDL Integration Blueprint]:
    1. SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 16, 16);
    2. SDL_UpdateTexture(yourTexture, NULL, rawPixelBytes, 64);
    3. Render inside your main SDL dock draw loop!

[Test Main] Evaluation phase complete. Ready to port to primary SDL app.```
3 Likes

Updates!

Hi all,

This version is a really nice as it add a Tracker navigator when clicking the Tracker Icon. The code is straight out of the Haiku private source tree and functions flawlessly.

Also updated is the CPU graph. It has a nested menu just like Process Controller with similar features.

Also added was system tray icons which can be toggled in the config menu. The system tray icons don’t offer much functionality other than showing you what is in the System Tray with a few exceptions like Network icon and Media. Maybe one day that will change.

Preview Video

2 Likes

Well, as I see this iprovements it is really well fitted to a rather tapping interface and tablet type of interface - I mean the apps are represent by big icons and not really categorized in folders or any separations by categories, but flooding the app window.

Interesting, it will be very useful those HWs which has touchscreens and users who likes such interface. It will make for new generations - who accomodated to use rather touchscreens mostly - to use Haiku more easier. For them this approach is going to be more familiar.

1 Like

@KitsunePrefecture That looks big because I have to set the resolution down on my monitor so the recording is smoothy. :slight_smile:

Also, you put apps earlier on the screen (not in this video), I have more replicants and Haiku default way mounted drive volumes, and some text files I want to reach directly - not even using ‘Recent files’ of Deskbar.
I have only 2 dir.s : one for debug reports, to quickly sort them out from the Desktop, and one remained for a TV series episodes that I had not removed yet.
I keep clean my desktop this way, and have infos keep on getting visible (on a not used workspace - fully).

ACK ! :smiley:
… but in case tapping the bigger is better !.. ;-))
So I just wanted to pinpoint that your development will be useful those who can/would install Haiku on a touchscreen capable device. As I know touchscreen can be usable - however I do not know exactly what can be the limitations regarding to their usage in Haiku.

Updates!

  • Added non blocking code to the CPU graph. This fixes out of sync clicking logic too.
  • Added Alert message to confirm killing/quitting threads when user click a thread/app in the CPU graph.
  • Fixed makefile typo to include the proper directory location of Tracker source tree.

Download hdesktop-1.0.13-1-x86_64.hpkg

@KitsunePrefecture

Yes, earlier videos showed apps, directories and symlinks on my desktop.

The neat trick with my SDL hdesktop app is you can hide all these behind the SDL window, so the desktop looks extremely clean. I also have Deskbar set to autohide. If you have a lot of desktop stuff you can set their sizes to small so they all hide behind the SDL app. :slight_smile: