Navig8or

Window managers, icon programs, widgets, etc.
Post Reply
Message
Author
User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

Navig8or

#1 Post by WarMocK »

Hello dear desktop tweakers,
if you like a fancy startmenu or want to add some simple widgets without a truckload of dependencies then I probably got something for you. ;-)

What Navig8or is:
By default, Navig80r is a borderless, pseudo-transparent window which may be populated with a few widgets specified in a config file.

Currently available widgets are:
1) Shaped button
2) label
3) image
4) launch entry field
5) application menu
6) monitoring display
7) drop target

What the widgets do:
1) Shaped buttons launch an application linked to them when clicked. If they are not set as persistent, the Navig8or window they are attached to will be closed.
2) Labels are good for displaying some text - what else? ;-)
3) Images - well - no explanation necessary I think
4) Type the name of your application into the field, press ENTER, and your program starts
5) Basically what you already know from JWM's startmenu, but as a widget ready to be added to your customized menu window.
6) The monitoring display reads the content of the text file linked to it (once per second), and displays that content.
7) The drop target retrieves the drop item's full path and launches an associated program with it.

How to control them:
Navig8or is started with the following parameters:

"/usr/local/navig8or $POSX $POSY /path/to/config"

$POSX and $POSY determine the position of the top left corner of the windoe on the screen

The Config file:
Every widget to be displayed requires a little one-liner in the config file, among with a few important window settings. The config options are:

<property>unfocusquit</property>
--- Closes the window whenever it loses the focus

<geometry>x=xSize y=ySize</geometry>
--- Determines the window's width and height

<showimage>Image="/path/to/image" x=xPos y=yPos</showimage>
--- Displays the linked image at position xPos yPos (from the top left of the navig8or window)

<shapedbutton>Image="/path/to/image" x=xPos y=yPos command="/path/to/application" Kill=yes/no</shapedbutton>
--- A button shaped according to the mask generated from the icon dusplayed on it, which starts the linked application when pressed. The Kill option may be yes or no. If it's yes the application window will be closed if the button is pressed, otherwise it will stay open and active afterwards.

<showmenu>x=xPos y=yPos</showmenu>
--- Shows the main menu

<showentry>x=xPos y=yPos</showentry>
--- Shows the launcher entry

<showlabel>Text="Insert text here" x=xPos y=yPos color=whatever</showlabel>
--- Shows a text at the specified position in the specified color

<monitor>File="/path/to/textfile" x=xPos y=yPos color=whatever</monitor>
--- Constantly monitors the content of the linked textfile and displays it as a text in the specified color.

<droptarget>Image="/path/to/file" x=xPos y=yPos color=whatever command="application"</droptarget>
--- Provides a drop target widget which launches programs and associates the dropped file to it.

EXAMPLES:
The screenshot shows a few things you can do with Navig8or, I included a few configs in the dotpet (the ones that made most sense).

- Monitoring widgets (top right)
--->image + monitoring from a text file in /root/.navig8or/datafiles

- Menu (bottom left)
---> included everything except for monitoring stuff. The window will close if it loses focus, after a certain amount of time, and when one of the widgets included is triggered

- Launcher icons (bottom left, behind the menu, and bottom right)
---> shaped button: the left one starts the menu, the right one immediately opens the TinyLogout window I included in the package

Stuff I didn't include:
- Wallpaper "widget"
--->simply a window scaled up to fit the screen with a scaled version of the wallpaper I wanted to use. My pic2root program is more effective, however, so I didn't bother including this one in the mix.

- Dock (top)
---> an image with lots of shaped buttons on it. Just a copy of my wbar launcher, no need to include it either.


TODO:
- try to improve it's speed


Well, so much from my side. Any suggestions and feedback is very welcome. Have fun with it, I did already. :D

UPDATE:
Repacked the dotpet as I forgot to remove the theme skelleton I used for the older version.
Last edited by WarMocK on Fri 24 Aug 2012, 18:16, edited 3 times in total.

User avatar
r1tz
Posts: 162
Joined: Thu 09 Sep 2010, 05:19
Location: In #puppylinux (IRC)

#2 Post by r1tz »

I cant believe no one replied to this yet!

This is very initersting

This uses pesodo transparency, which fails epic-ly on my dwm. Try to spot navig8tor :P
EDIT:IMG REMOVED :P

Anyways. nice :)
Last edited by r1tz on Sun 10 Jul 2011, 17:14, edited 1 time in total.

User avatar
harii4
Posts: 448
Joined: Fri 30 Jan 2009, 04:08
Location: La Porte City, IA , U.S.A.
Contact:

#3 Post by harii4 »

This looks great. 8)
i planning to use it with yeahwm on White Fang (3.01) but i get an error:
# /usr/local/navig8or/navig8or
no config file found. Exiting ...
The navig8or(s) in the backup do show up when called but the menu do not work.
menu might need an configured?
i'll play more :P

logout errors:
# /usr/local/logout/logout

(logout:19360): Gtk-WARNING **: GModule initialization check failed: Gtk+ version too old (micro mismatch)
/usr/local/logout/logout: symbol lookup error: /usr/local/logout/logout: undefined symbol: gtk_widget_set_tooltip_text
My gtk too old?
It would help if i was not using an deadpup on an old laptop that will not die. :D :D
3.01 Fat Free / Fire Hydrant featherweight/ TXZ_pup / 431JP2012
----------------------------------------------------------------------------------------
Peace and Justice are two sides of the same coin.

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#4 Post by WarMocK »

harii4:
You'll find working configs in /root/.navig8or. I'll still need to clean up a few things and repack the dotpet, as I changed a lot of features and options after packing that backup config into /usr/local.
As for your error: I compiled navig8or on Puppy 5.00, which has a newer version of GTK. You either need to update GTK on your machine, or install a newer version of Puppy Linux. You could also try to recompile navig8or (the sourcecode's included, after all), but I have my doubts it'll fix the lack of a feature. ;-)

User avatar
harii4
Posts: 448
Joined: Fri 30 Jan 2009, 04:08
Location: La Porte City, IA , U.S.A.
Contact:

#5 Post by harii4 »

Thanks WarMocK
Did you compiled Logout-1.2.pet on Puppy 5.00 as well?
Because i installed the Logout-1.2.pet and now it works. :D
What icon set used with logout?

I have not had time to play with navig8or yet.

Keep up the good work.
3.01 Fat Free / Fire Hydrant featherweight/ TXZ_pup / 431JP2012
----------------------------------------------------------------------------------------
Peace and Justice are two sides of the same coin.

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#6 Post by WarMocK »

Yep, compiled it on 5.00 as well. And you can find the icons used under /usr/local/logout/icons if you want to edit them, as well as the header/footer image and the image for the canvel button.

seaside
Posts: 934
Joined: Thu 12 Apr 2007, 00:19

#7 Post by seaside »

WarMock,

Really fascinating. A tree menu system, launcher, panel maker, wallpaperer, and conky - all rolled into one lightweight package. Nicely done.

A few comments:

I tested it on pup431 and found the following-

The default "config" would not run the left hand file commands unless the " Kill=" were added to the <shapedbutton> as follows;

Code: Select all

<showimage>Image="/root/menutheme/back.png" x=0 y=0</showimage>
<showimage>Image="/usr/local/navig8or/images/avatar.png" x=20 y=20</showimage>
<showimage>Image="/usr/local/navig8or/images/frame.png" x=12 y=12</showimage>
<shapedbutton>Image="/usr/local/navig8or/images/folder-home.png" x=20 y=80 command="/usr/local/navig8or/scripts/home.sh" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/folder-documents.png" x=20 y=130 command="/usr/local/navig8or/scripts/downloads.sh" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/folder-downloads.png" x=20 y=180 command="/usr/local/navig8or/scripts/docs.sh" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/folder-media.png" x=20 y=230 command="/usr/local/navig8or/scripts/media.sh" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/folder-pictures.png" x=20 y=280 command="/usr/local/navig8or/scripts/pictures.sh" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/button.png" x=10 y=370 command="/usr/local/logout/logout" Kill=no</shapedbutton>
<shapedbutton>Image="/usr/local/navig8or/images/search.png" x=52 y=370 command="/usr/local/bin/pfind" Kill=no</shapedbutton>
<showimage>Image="/usr/local/navig8or/images/menu.png" x=77 y=77</showimage>
<showmenu>x=80 y=80 Kill=no</showmenu>
<showentry>x=80 y=370 Kill=no</showentry>
<showlabel>Text="Welcome," x=80 y=20 color=white</showlabel>
<showlabel>Text="Puppy Linux user" x=90 y=40 color=white</showlabel>
I was hoping that adding " Kill-no" would make the <showmenu> and <showentry> items also persistent, but apparently it's not applicable there.

Also, the <unfocusquit> doesn't seem to work- or maybe I don't understand how to use it.

Anyway, this is real "swiss-army-knife" menuing and screening utility with promise. Thanks.

By the way, what kind of tool do you use to place x,y coordinates for the items in a program like this?

Regards,
s
(I don't know what Gtk+ level pup431 has, and don't even know how to check that.... also, just looked at the source code and the parsing for finding "commands" uses " Kill=" as the ending point, so if that's missing, the "command" given to "run" isn't correct)

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#8 Post by WarMocK »

seaside:

Yes, the menu and the entry aren't persistent - yet. I probably will change that pretty soon, though. I wanted to tweak the entry widget anyway, so I can use it in conjunction with shaped button widgets as well.
Also, if you add the line "<property>unfocusquit</property>" to your config, the application will close as soon as the window loses the focus. If you change the line to something else, the window will stay even if it loses the focus.
And yes, the "kill=yes/no" option is mandatory, otherwise parsing the commands won't work properly. The package needs to be cleaned up a bit, I might have mixed a few incompatible configs by accident.

User avatar
harii4
Posts: 448
Joined: Fri 30 Jan 2009, 04:08
Location: La Porte City, IA , U.S.A.
Contact:

#9 Post by harii4 »

Any new updates :D
3.01 Fat Free / Fire Hydrant featherweight/ TXZ_pup / 431JP2012
----------------------------------------------------------------------------------------
Peace and Justice are two sides of the same coin.

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#10 Post by WarMocK »

Not yet, but I'm working on it. Prob is I still gotta finish my work on two Desktop Environments atm, and I'm writing a simulator for a browser game as well. ;-)
Turned out that drag&drop fields are far more complicated than I expected, but I'm certain that I'll crack that nut as well.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#11 Post by musher0 »

Interesting....
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#12 Post by sc0ttman »

is this still being worked on? if not, is the source anywhere? I'm sure a few people would like to play with this further... It seems a little buggy out of the box, yet to play with it seriously, but very nice indeed!
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#13 Post by WarMocK »

sc0ttman wrote:is this still being worked on?
Yep, don't worry. Navig8or is not dead. ^^
However I had lots and lots of work to do in the past few months, and I have a lot of linux projects running, so I had no time to add the last feature, the Drag&Drop field which gets the absolute path to a file being dropped onto it (still gotta figure out how this works).
As soon as I finished my work on the basic system of my multi-user patch for Puppy Linux, I give Navig8or another shot (just solved the mounting issue for physical devices, now I need to test whether my security system works with loopback devices as well, and tweak quite a few programs which deal with mounting).

User avatar
harii4
Posts: 448
Joined: Fri 30 Jan 2009, 04:08
Location: La Porte City, IA , U.S.A.
Contact:

#14 Post by harii4 »

a tiny launcher interface I've written for a minimalistiv Desktop Environment called veRTix
Are there any DotPets of veRTix yet? :)
looks useful.
3.01 Fat Free / Fire Hydrant featherweight/ TXZ_pup / 431JP2012
----------------------------------------------------------------------------------------
Peace and Justice are two sides of the same coin.

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#15 Post by WarMocK »

harii4 wrote:
a tiny launcher interface I've written for a minimalistiv Desktop Environment called veRTix
Are there any DotPets of veRTix yet? :)
looks useful.
Not yet, but I can create one once I get home today. ;-)

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#16 Post by WarMocK »

FINALLY! The Drag&Drop widget is finished! :D

<droptarget>Image="/path/to/file" x=$VALUE y=$VALUE color=$COLOR command="$COMMAND"</droptarget>

What it does:
It generates a 128x128 pixel area with a background made of the image you added in it's config string, at the position x-value y-value.
Whenever you drop a file onto it, the widget will get that file's absolute path and launch the given command in association with the dropped file.
You can use it for generating small helpers like:

- a quick archiver that packs the dropped file into an archive
- a d&d mediaplayer (using madplay or whatever)
- an email wizard for sending attachments
- etc.

That pretty much concludes my work on this project for now. Time for the other stuff I still need to work on. Enjoy! ^^

Post Reply