jueves, 23 de abril de 2015

Instalar fuentes en Fedora 21

Si al intentar agregar una fuente con el gesto de fuentes de KDE muestra un error entonces puedes agregar la fuente de forma manual. Copiando el los ficheros de las fuentes en el directorio /home/usuario/.fonts


Mostrar QWebPage sin cargar imágenes

Si queremos mostrar una QWebPage sin cargar imágenes debemos colocar en false la preferencia QWebSettings::AutoLoadImages. Por ejemplo este código siguiente lo podemos ejecutar en el constructor de la clase que heredemos de QWebPage

settings()->setAttribute(QWebSettings::AutoLoadImages,false);

Antes
Despues

Solución: Ejecución lenta de evaluateJavaScript()

Si cuando intentas ejecutar el método evaluateJavaScript() el método hace que todo se cuelgue por unos momentos es porque el sistema esta evaluando el valor de retorno de la ultima instrucción de javascript e intentando convertirla a un tipo de dato QVariant. Esto ocasiona un costo alto cuando usas jQuery. Puesto que este retorna un objeto de jQuery que luego debe ser evaluado enteramente por Qt lo cual consume mucho tiempo de procesador.

La solución es hacer que la ultima instrucción sea un valor nulo

myWebElement->evaluateJavaScript( myScript + "; null" );
Yo por ejemplo utilizo este método para cargar jQuery en la pag
void BrowserWindow::loadJQuery()
{
  QFile file("jquery.min.js");
  file.open(QFile::ReadOnly);
  weView()->page()->mainFrame()->evaluateJavaScript(file.readAll()+";null");
}

lunes, 20 de abril de 2015

Corregir problema qDebug() (No imprime luego de un error)

Trabajando con QupZilla este me arrojaba el siguiente error
QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.

Puesto que estaba tratando de entrar a una pag en la que había contenidos extraviados


Lo cierto del caso es que luego que me mostraba el error el la salida del qDebug() no se mostraba. Para corregirlo lo que hice fue llamar esta funcion luego de que ocurriera el error 

qInstallMessageHandler(0);

y listo. Se volvieron a mostrar los mensajes

domingo, 19 de abril de 2015

Insertar JQuery con la consola de Chrome

Si deseamos usar las funciones de JQuery en cualquier página usando la consola de Chrome debes insertar el siguiente código en la consola

var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();


Si te da error (como en la imagen) intentalo de nuevo

y Listo, ya puedes llamar funciones de JQuery en esa página

lunes, 13 de abril de 2015

Corregir problema QupZilla "undefined symbol: _ZN2Qz7VERSIONE"

Luego abrimos configuramos y compilamos.

Si al intentar correr te aparece este error:
qupzilla: undefined symbol: _ZN2Qz7VERSIONE


Es porque tienes qupzilla en tu sistema y su versión es distinta a la que estas compilando. Debes instalar las mismas versiones para que funcione

domingo, 12 de abril de 2015

Compilar QupZilla en Fedora

Primero nos descargamos el  src. En este caso lo descargué de rpm.pbone.net
Source: http://rpm.pbone.net/index.php3/stat/26/dist/96/size/3216881/name/qupzilla-1.8.6-3.fc21.src.rpm

Luego instalamos hunspell-devel

yum install hunspell-devel hunspell*


Luego debemos descomprimir el fichero src.rpm




Dentro del directorio descomprimido el habrá otro fichero .tar.gz que debemos descomprimir.



Luego abrimos QtCreator y seleccionamos "Open File or Project" y buscamos el fichero QupZilla.pro








Para evitar el error "libQupZilla.so.1: cannot open shared object file" debes agregar el siguiente texto al FINAL fichero ./lib/defines/defines.pri:

DEFINES *= NO_SYSTEM_DATAPATH




Luego compilas y corres.
Ya con esto deberías tener QupZilla listo para modificar

Compilar Midori en Fedora

Actualmente estoy trabajando en un boot web. Para ello necesito modificar algún navegador existente para que haga ciertas cosas. Elegí Midori por su sencillez (compilar chromium dura una hora en mi pc antigua).

Primero debes decargar el fichero fuente de Midori
Buscando conseguí este paquete src
Lo descomprimes en alguna carpeta y luego descomprime el fichero tar.gz que tiene adentro


Lo segundo es instalar las dependencias:

# yum install libsoup libsoup-devel sqlite-devel zeitgeist* libzeitgeist* webkitgtk-devel librsvg2* gnome-python2-rsvg libnotify*

Lo tercero es crear un directorio _build y ejecutar lo siguiente:

# mkdir _build
# cd _build
# cmake -DCMAKE_INSTALL_PREFIX=/usr ..


Por ultimo:
# make


Durará unos minutos dependiendo de tu pc. Si todo va bien, el ultimo mensaje mostrado debe ser el siguiente:

Para ejecutar el fichero compilado basta con entrar en la subdirectorio ./midori y luego ejecutar el fichero midori
cd ./midori
./midori

sábado, 11 de abril de 2015

viernes, 3 de abril de 2015

Emmet para PHP en Sublime Text 3

Por defecto, Emmet no expande abreviaciones en ficheros con extensión .php
Para poder hacerlo debes instalar el paquete Emmet Css Snippets


Luego entramos en el directorio /home/USUARIO/.config/sublime-text-3/Packages/Emmet Css Snippets/

Dentro de ella estará un fichero llamado Completions.sublime-completions

Debes abrirlo con algun editor de texto y añadirle el texto text.php al campo scope como se indica abajo

Antes
"scope": "source.css meta.property-value.css...
Despues
"scope": "text.php source.css meta.property-value.css...



Luego guardas y reinicias Sublime Text 3

Puedes probar expandiendo con ctrl+E el siguiente texto:

li{HOLA}*5


miércoles, 1 de abril de 2015

Network Speed Monitor para Plasma 5 KDE

Lamentandolo mucho no existe un medidor de velocidad de conexión para KDE con Plasma 5 como lo hay para Gnome 3. La unica alternativa para KDE era Yet Another Netspeed Plasmoid pero cuando intentes instalarlo te encontraras con un dolor de cabeza. 

La otra opción es instalar conky y colocarlo en el panel deseado.



Este es mi fichero conky.conf para configurarlo como en la imagen:

# set to yes if you want Conky to be forked in the background
background no

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Liberation Mono:bold:size=20

# Text alpha when using Xft
xftalpha 1

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window no

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 310 0
maximum_width 310

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no
draw_graph_borders no

# Stippled borders?
stippled_borders 1

# border margins
border_margin 1

# border width
border_width 0

# Default colors and also border colors
default_color 00539C
default_shade_color black
default_outline_color white

# own window options
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_value 0
own_window_argb_visual yes

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x -100
gap_y 2

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer right

text_buffer_size 2048

# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument

# stuff after 'TEXT' will be formatted on screen

color0 1799F7 # Dark blue
color1 ffffff # Light blue

TEXT
#${color0}    Networking
#-------------------
${color0}${downspeed enp1s0}
#${color0}Total: ${color1}${totaldown enp1s0}S
##${color0}   Up: ${color1}${upspeed enp1s0}
#${color0}Total: ${color1}${totalup enp1s0}