You are not logged in.
When I click a link that's supposed to open a tab/new window, it opens the new window twice. It's only happened on my igoogle page, so it's possible it's a problem with their page.
JS links are not completely finished. Some may not open at all, some may open twice. We are working on that.
Gnome -> Openbox -> Awesome -> XMonad -> dwm .
http://github.com/dusanx/uzbl/
Offline
great tip I just come to think of! Don't call the "tabs" tabs, call them buffers instead. And handle them like vim handles buffers. much more convinient imo.
RTFM or GTFO
hax0r.se
Offline
also, how hard would it be to implement a customized css-changer? (stylish is the firefox equivalent). I don't think it should be added in, but if it isn't a daunting task then I might try and have a go at it for personal use. (it'd be a good excuse for me to learn more C )
no idea. it may be possible to easily use custom stylesheets with webkit but I'm not sure.
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
ent wrote:also, how hard would it be to implement a customized css-changer? (stylish is the firefox equivalent). I don't think it should be added in, but if it isn't a daunting task then I might try and have a go at it for personal use. (it'd be a good excuse for me to learn more C )
no idea. it may be possible to easily use custom stylesheets with webkit but I'm not sure.
Midori has custom style sheets I believe, and that is web-kit based.
There is a difference between bleeding [edge] and haemorrhaging. - Allan
Offline
Hello guys, first of all good luck with your project. I have one recommendation, would it be sensible to drop gtk as a dependency and rewrite the code using only xlib?
As far as I know, Xlib doesn't provide anyway to draw widgets (buttons, dropdowns, etc.) which are required by WebKit.
That's why WebKit relies on graphical toolkits, and has several ports (one for GTK, one for QT, one for Cocoa, etc.)
Offline
dimigon wrote:Hello guys, first of all good luck with your project. I have one recommendation, would it be sensible to drop gtk as a dependency and rewrite the code using only xlib?
As far as I know, Xlib doesn't provide anyway to draw widgets (buttons, dropdowns, etc.) which are required by WebKit.
That's why WebKit relies on graphical toolkits, and has several ports (one for GTK, one for QT, one for Cocoa, etc.)
actually it was brought to my attention that there a (complete or incomplete?) port of webkit to the EFL toolkit, which is supposed to be quite lightweight.
http://codeposts.blogspot.com/2008/12/w … patch.html
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
the problem is that the EFL toolkit relies heavily upon E17 libraries. No problem if you use E17 but for me as an example who only use CLI/Ncurses apps it's yet another toolkit I need to have installed. I've narrowed it down to GTK1/2 so far and intend to keep it that way. I'd rather see something with XLib(although I know this isn't probable). XLib is sooo much nicer/faster/awesomer than GTK. If you were to use XLib you would also solve whole theming issue. Just make a simple implementation of themes with fg/bg/marked and maybe a text field entry. I really like the way this project is going and don't want it to be yet another minimalbutstillbloated browser.
RTFM or GTFO
hax0r.se
Offline
Xlib doesn't do widgets
There's a fltk implementation somewhere in the net. fltk rules
Last edited by Wra!th (2009-05-05 21:23:46)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
can't you "force" Xlib to make widgets? Or what is awesome using to draw it's widgets? Maybe this would be a good solution.
Awesome uses cairo.
Offline
can't you "force" Xlib to make widgets? Or what is awesome using to draw it's widgets? Maybe this would be a good solution.
You can't "force" it to draw widgets. You can write working widgets but it's serious pain. Xlib only handles raw X stuff. You would need to draw every widget "by hand" and make it recognize events passed to them etc. It's like writing your own GUI toolkit. FLTK is awesome..and really lightweight compared to gtk 1/2
edit
Here's an example of buttons: http://www.cs.odu.edu/~cs476/xwindows/xlib/xbuttons.c
But none of this will work for uzbl because you need a way of incorporating the webkit window too. I do believe that would require some serious webkit hacks
Last edited by Wra!th (2009-05-06 08:58:57)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
I kinda missed the vimperator address bar (with the search engines etc.) so I threw this together using dmenu and thought I'd post it for anyone interested
addressbar.sh
#!/bin/bash
# if called like "addressbar.sh n", opens in new window
# forgive the variable names, I'm unimaginative in that regard
CONFIGDIR="$XDG_CONFIG_HOME"
HISTORYFILE="$CONFIGDIR/uzbl/address.history"
MAXHISTORYLENGTH=25 # max number of entries to log
# search engines
DEFAULT="http://www.google.com/search?q="
WIKIPEDIA="http://en.wikipedia.org/wiki/Special:Search?search="
WIKIKEY="w"
ARCHWIKI="http://wiki.archlinux.org/index.php/Special:Search?search="
ARCHWIKIKEY="aw"
AUR="http://aur.archlinux.org/packages.php?O=0&K="
AURKEY="aur"
# a few other ones that I use sometimes
LASTFM="http://www.last.fm/search?m=all&q="
LASTFMKEY="lastfm"
ISOHUNT="http://isohunt.com/torrents/?ihq="
ISOHUNTKEY="iso"
if [ ! -e "$HISTORYFILE" ]; then
touch $HISTORYFILE
fi
# clean up history file (remove blank lines, duplicates, etc)
tac $HISTORYFILE | awk '/./' | awk '!x[$0]++' | tac > $CONFIGDIR/uzbl/historytmp
mv $CONFIGDIR/uzbl/historytmp $HISTORYFILE
CURRENTLINES=`wc -l "$HISTORYFILE" | awk '{print $1}'`
if [ $CURRENTLINES -gt $MAXHISTORYLENGTH ]; then
awk 'NR>1' $HISTORYFILE > $CONFIGDIR/uzbl/historytmp
mv $CONFIGDIR/uzbl/historytmp $HISTORYFILE
fi
WHOLE=`tac $HISTORYFILE | dmenu -b -i`
echo "$WHOLE" >> $HISTORYFILE
if [ "`echo $WHOLE | awk '$0 ~ /^[ ]*$/ {print 1}'`" != 1 ]; then
FIRST=`echo $WHOLE | awk '{print $1}'`
SECOND=`echo $WHOLE | awk '{$1="";print}'`
# figure out what the output should be
if [ "$SECOND" = "" ]; then
if [ "`echo $FIRST | awk '$1 ~ /.*\..*/ {print 1}'`" = 1 ]; then
OUTPUT="$FIRST"
else
OUTPUT="$DEFAULT$WHOLE"
fi
else
case "$FIRST" in
$WIKIKEY ) OUTPUT="$WIKIPEDIA$SECOND" ;;
$ARCHWIKIKEY ) OUTPUT="$ARCHWIKI$SECOND" ;;
$AURKEY ) OUTPUT="$AUR$SECOND" ;;
$LASTFMKEY ) OUTPUT="$LASTFM$SECOND" ;;
$ISOHUNTKEY ) OUTPUT="$ISOHUNT$SECOND" ;;
* ) OUTPUT="$DEFAULT$WHOLE" ;;
esac
fi
# send the output to uzbl / uzblctrl
if [ "$1" = "n" ]; then
uzbl -u "$OUTPUT" &
else uzblctrl -s $5 -c "uri $OUTPUT" &
fi
fi
it has a bunch of search engines as well as command history.
my bash skills are less than stellar, so modifications / improvements / cleanups are more than welcome
Last edited by ent (2009-05-06 16:08:38)
check this out
http://www.myspace.com/banditsinthewoods
Offline
Can't we use cairo then? Cairo seems pretty nice imo. Maybe get rid of webkit(yes I know this would mean writing all from scratch) and make a "clean" browser. Would imo be totally awesome. This would mean I wouldn't need any widgetkits except ncurses installed.
RTFM or GTFO
hax0r.se
Offline
Can't we use cairo then? Cairo seems pretty nice imo. Maybe get rid of webkit(yes I know this would mean writing all from scratch) and make a "clean" browser. Would imo be totally awesome. This would mean I wouldn't need any widgetkits except ncurses installed.
Cairo IS simpler to use than drawing stuff with Xlib directly..but as with doing it manually,it just handles drawing stuff, not signals etc.You can use Cairo to draw the widgets, but you still need to write a functional widget library for this. All Cairo does is add an extra dependency to the equation.
Also getting rid of webkit is not really a good thing to do. It's by far the simplest complete html rendering engine you can find. Try using Gecko
Last edited by Wra!th (2009-05-06 16:51:20)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
uzbl seems to be very cool
What about 'activity indicator'? Just change cursor when loading page.
Offline
Seems like someone made an fltk fork of webkit. http://terryxu2008.blogspot.com/2008/08 … -fltk.html
But frankly, I rather have a gtk dep and be reasonably assured that things work as they are supposed to then having to rely on some fork/patchset that one or two people once wrote, might be buggy, lacking functionality etc.
Seriously, installing gtk on your system is not gonna kill you.
uzbl seems to be very cool
What about 'activity indicator'? Just change cursor when loading page.
Rob M. wrote a statusbar . See http://omploader.org/vMW1vcg . This will be merged in my tree.
If you can write a small, clean patch to update the mouse when loading and restoring it back after loading, I'll merge it in.
Last edited by Dieter@be (2009-05-06 17:27:03)
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
Rob M. wrote a statusbar . See http://omploader.org/vMW1vcg . This will be merged in my tree.
If you can write a small, clean patch to update the mouse when loading and restoring it back after loading, I'll merge it in.
If Rob M. is who I think he is then he's the creator of dzen2
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
I kinda missed the vimperator address bar (with the search engines etc.) so I threw this together using dmenu and thought I'd post it for anyone interested
addressbar.sh
#!/bin/bash # if called like "addressbar.sh n", opens in new window # forgive the variable names, I'm unimaginative in that regard CONFIGDIR="$XDG_CONFIG_HOME" HISTORYFILE="$CONFIGDIR/uzbl/address.history" MAXHISTORYLENGTH=25 # max number of entries to log # search engines DEFAULT="http://www.google.com/search?q=" WIKIPEDIA="http://en.wikipedia.org/wiki/Special:Search?search=" WIKIKEY="w" ARCHWIKI="http://wiki.archlinux.org/index.php/Special:Search?search=" ARCHWIKIKEY="aw" AUR="http://aur.archlinux.org/packages.php?O=0&K=" AURKEY="aur" # a few other ones that I use sometimes LASTFM="http://www.last.fm/search?m=all&q=" LASTFMKEY="lastfm" ISOHUNT="http://isohunt.com/torrents/?ihq=" ISOHUNTKEY="iso" if [ ! -e "$HISTORYFILE" ]; then touch $HISTORYFILE fi # clean up history file (remove blank lines, duplicates, etc) tac $HISTORYFILE | awk '/./' | awk '!x[$0]++' | tac > $CONFIGDIR/uzbl/historytmp mv $CONFIGDIR/uzbl/historytmp $HISTORYFILE CURRENTLINES=`wc -l "$HISTORYFILE" | awk '{print $1}'` if [ $CURRENTLINES -gt $MAXHISTORYLENGTH ]; then awk 'NR>1' $HISTORYFILE > $CONFIGDIR/uzbl/historytmp mv $CONFIGDIR/uzbl/historytmp $HISTORYFILE fi WHOLE=`tac $HISTORYFILE | dmenu -b -i` echo "$WHOLE" >> $HISTORYFILE if [ "`echo $WHOLE | awk '$0 ~ /^[ ]*$/ {print 1}'`" != 1 ]; then FIRST=`echo $WHOLE | awk '{print $1}'` SECOND=`echo $WHOLE | awk '{$1="";print}'` # figure out what the output should be if [ "$SECOND" = "" ]; then if [ "`echo $FIRST | awk '$1 ~ /.*\..*/ {print 1}'`" = 1 ]; then OUTPUT="$FIRST" else OUTPUT="$DEFAULT$WHOLE" fi else case "$FIRST" in $WIKIKEY ) OUTPUT="$WIKIPEDIA$SECOND" ;; $ARCHWIKIKEY ) OUTPUT="$ARCHWIKI$SECOND" ;; $AURKEY ) OUTPUT="$AUR$SECOND" ;; $LASTFMKEY ) OUTPUT="$LASTFM$SECOND" ;; $ISOHUNTKEY ) OUTPUT="$ISOHUNT$SECOND" ;; * ) OUTPUT="$DEFAULT$WHOLE" ;; esac fi # send the output to uzbl / uzblctrl if [ "$1" = "n" ]; then uzbl -u "$OUTPUT" & else uzblctrl -s $5 -c "uri $OUTPUT" & fi fi
it has a bunch of search engines as well as command history.
my bash skills are less than stellar, so modifications / improvements / cleanups are more than welcome
note that you can do something similar, if you define keybinds like so:
gwiki _ = http://wiki.archlinux.org/index.php/Spe … h=%s&go=Go
gg _ = uri http://www.google.com/search?q=%s
giso _ = ..
with this approach you would type "gg foobar<enter>" to google for foobar. You don't have history like with your script but I don't think that's really needed for searches. (as long as the pages you actually visit are logged)
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
dunz0r wrote:Can't we use cairo then? Cairo seems pretty nice imo. Maybe get rid of webkit(yes I know this would mean writing all from scratch) and make a "clean" browser. Would imo be totally awesome. This would mean I wouldn't need any widgetkits except ncurses installed.
Cairo IS simpler to use than drawing stuff with Xlib directly..but as with doing it manually,it just handles drawing stuff, not signals etc.You can use Cairo to draw the widgets, but you still need to write a functional widget library for this. All Cairo does is add an extra dependency to the equation.
Also getting rid of webkit is not really a good thing to do. It's by far the simplest complete html rendering engine you can find. Try using Gecko
read some about webkit and yeah... you're right. although it would be really cool to write your own from the ground up
RTFM or GTFO
hax0r.se
Offline
read some about webkit and yeah... you're right. although it would be really cool to write your own from the ground up
yeah, and years of work
ᶘ ᵒᴥᵒᶅ
Offline
Well, im having three issues with uzbl, but i really like it so far, im reallly amazed how fast you guys get to this point
1. its weird, i configured uzbl to use ~/.uzbl/scripts dir in ~/.config/uzbl/config but if i press "B" in uzbl it doesn't save the bookmarks in /home/aleyscha/.uzbl/bookmarks
2. The SHIFT+Ins key combination or mid-mouse-button key doesn't work to paste text copied from selecting with the mouse
3. Dark-gtk-theme issue, i dont know what file i need to copy to get readable text boxes, and buttons
thank you guys in advance
# example uzbl config. in a real config, we should obey the xdg spec
# all keys in the behavior group are optional. if not set, the corresponding behavior is disabed.
# bindings_internal denote keys to trigger actions internally in uzbl
# bindings_external denote keys to trigger scripts outside uzbl
# keyboard behavior is vimstyle by default (all actions -> 1 key). set
# always_insert_mode to always be in insert mode and disable going out of it.
# if you do this, make sure you've set a modkey so you can reach the actions
# from insert mode by combining them with the modkey
[behavior]
history_handler = /home/aleyscha/.uzbl/scripts/history.sh
download_handler = /home/aleyscha/.uzbl/scripts/download.sh
fifo_dir = /tmp
socket_dir = /tmp
always_insert_mode = 0
modkey = Mod1
show_status = 1
status_top = 0
[bindings]
# scroll down/up/left/right
j = scroll_vert 20
k = scroll_vert -20
h = scroll_horz -20
l = scroll_horz 20
b = back
m = forward
s = stop
r = refresh
R = reload
f = follow_link_here
F = follow_link_new_tab
w = follow_link_new_window
+ = zoom_in
- = zoom_out
t = toggle_status
gh = uri http://www.uzbl.org
o _ = uri %s
:wiki _ = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
gg _ = uri http://www.google.com/search?q=%s
i = insert_mode
B = spawn /home/aleyscha/.uzbl/scripts/insert_bookmark.sh
u = spawn /home/aleyscha/.uzbl/scripts/load_url_from_history.sh
U = spawn /home/aleyscha/.uzbl/scripts/load_url_from_bookmarks.sh
ZZ = exit
[network]
proxy_server =
#values 0-3
http_debug = 0
user-agent = uzbl
max_conns =
max_conns_per_host =
And /home/aleyscha/.uzbl/scripts/insert_bookmark.sh
#!/bin/bash
# you probably want your bookmarks file in your $XDG_DATA_HOME ( eg $HOME/.local/share/uzbl/bookmarks)
if [ -f $HOME/.uzbl/bookmarks ]
then
file=$HOME/.uzbl/bookmarks # you will probably get permission denied errors here. pick a file in your ~
else
file=./examples/bookmarks #useful when developing
fi
which zenity &>/dev/null || exit 2
entry=`zenity --entry --text="Add bookmark. add tags at the end, separated by commas" --entry-text="$6"`
url=`awk '{print $1}' <<< $entry`
# TODO: check if already exists, if so, and tags are different: ask if you want to replace tags
echo "$entry" >> $file
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery
Offline
1. its weird, i configured uzbl to use ~/.uzbl/scripts dir in ~/.config/uzbl/config but if i press "B" in uzbl it doesn't save the bookmarks in /home/aleyscha/.uzbl/bookmarks
Maybe you should touch the bookmarks file .
English is not my native language .
Offline
leo2501 wrote:1. its weird, i configured uzbl to use ~/.uzbl/scripts dir in ~/.config/uzbl/config but if i press "B" in uzbl it doesn't save the bookmarks in /home/aleyscha/.uzbl/bookmarks
Maybe you should touch the bookmarks file .
i tried that and same behavior
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery
Offline