Tag Archives: linux

Swap Alt and Windows keys with xmodmap?

The problem: I have a Mac keyboard where the Alt/Win (i.e. Option/Command) keys are inverted compared to a regular PC keyboard, and I'd like to swap them.

The answer:

[codesyntax lang="bash"]

# clear all options
setxkbmap -model "pc105" -layout "us,se" -option ""  

# set the Apple keyboard
setxkbmap -rules "evdev" -model "pc105" -layout "us,se" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,altwin:swap_lalt_lwin"

[/codesyntax]

 

And another one which I call when I'm back on a normal keyboard:

[codesyntax lang="bash"]

# clear settings
setxkbmap -model "pc105" -layout "us,se" -option ""

# pc keyobard
setxkbmap -rules "evdev" -model "pc105" -layout "us,se" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle"

[/codesyntax]

How to enable syntax highlighting in less

I wanted to have syntax highlighting for a php file I was debugging. Source-highlight given a source file, produces a document with syntax highlighting.

These are the output formats already supported:

  • HTML
  • XHTML
  • LATEX
  • MediaWiki (new)
  • ODF (new)
  • TEXINFO
  • ANSI color escape sequences (you can use this feature with less)
  • DocBook

These are the input languages (or input formats) already supported (in alphabetical order):

  • Ada
  • Asm
  • Applescript
  • Awk
  • Autoconf files
  • Bat
  • Bib
  • Bison
  • C/C++
  • C#
  • CakePhp templates
  • Clipper
  • Cobol
  • Configuration files (generic)
  • Caml
  • Changelog
  • Css
  • D
  • Diff
  • Emacs Lisp
  • Erlang
  • errors (compiler output)
  • Flex
  • Fortran
  • GLSL
  • Haskell
  • Haskell literate programming
  • Haxe
  • Html
  • ini files
  • IsLisp (new)
  • Java
  • Javalog
  • Javascript
  • KDE desktop files
  • Latex
  • Ldap files
  • Lilypond (new)
  • Lisp
  • Logtalk
  • Log files
  • lsm files (Linux Software Map)
  • Lua
  • Makefile
  • Manifest
  • M4
  • ML
  • Opa
  • Oz
  • Pascal
  • Perl
  • pkg-config files
  • PHP
  • Po
  • Postscript
  • Prolog
  • Properties files
  • Protobuf (Google's Protocol Buffers)
  • Python
  • R statistics programming language (new)
  • RPM Spec files
  • Ruby
  • Scala
  • Scheme
  • Shell
  • S-Lang
  • Sql
  • T/Foswiki TML markup
  • Tcl
  • Texinfo
  • UPC (unified parallel C)
  • Vala
  • VBscript
  • XML
  • XOrg conf files

Exactly what I needed!

[codesyntax lang="bash"]

apt-get install source-highlight
echo "" >> ~/.bashrc
echo "export LESSOPEN=\"| /usr/share/source-highlight/src-hilite-lesspipe.sh %s\"" >> ~/.bashrc
echo "export LESS=' -R '" >> ~/.bashrc

[/codesyntax]

Note: Be sure this line isn't present in your .bashrc because it will interfere with source-highlight:
[codesyntax lang="bash"]

 [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"

[/codesyntax]

References:

Prozilla - Linux Download Accelerator

Prozilla Download Accelerator is a multi-threaded download accelerator for Linux which supports both HTTP and FTP protocols and because it makes multiple connections to the server and downloads the file in portions, thus giving a much better speed rate than the conventional download programs which use a single connection, increases download speeds with up to 200-300%.

Resuming connections is fully supported and customizable.

Because it based on ncurses, Prozilla is also a lightweight download accelerator.

1. Get prozilla 2.0.4.

[codesyntax lang="bash"]

git clone https://github.com/totosugito/prozilla-2.0.4.git

[/codesyntax]

2. Install required packages

[codesyntax lang="bash"]

apt-get install autoconf build-essential libncurses5-dev

[/codesyntax]

3. Installing from source code

[codesyntax lang="bash"]

cd prozilla-2.0.4
./configure
make
make install

[/codesyntax]

4. Troubleshouting. If an error occurs:

make[4]: Leaving directory `/home/user/prozilla-2.0.4/libprozilla/src’
make[4]: Entering directory `/home/user/prozilla-2.0.4/libprozilla’
make[4]: Nothing to be done for `all-am’.
make[4]: Leaving directory `/home/user/prozilla-2.0.4/libprozilla’
make[3]: Leaving directory `/home/user/prozilla-2.0.4/libprozilla’
make[2]: Leaving directory `/home/user/prozilla-2.0.4/libprozilla’
Making all in src
make[2]: Entering directory `/home/user/prozilla-2.0.4/src’
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../libprozilla/src -I../intl -I/usr/local/include -fno-inline -DLOCALEDIR=\”/usr/local/share/locale\” -Wall -ggdb -D_REENTRANT -MT main.o -MD -MP -MF “.deps/main.Tpo” \
-c -o main.o `test -f ‘main.cpp’ || echo ‘./’`main.cpp; \
then mv -f “.deps/main.Tpo” “.deps/main.Po”; \
else rm -f “.deps/main.Tpo”; exit 1; \
fi
In file included from main.cpp:39:
download_win.h:55: error: extra qualification ‘DL_Window::’ on member âprint_status’
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/user/prozilla-2.0.4/src’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/prozilla-2.0.4′
make: *** [all] Error 2

And the solutions...

Looks like the problem of error occurs because the compatibility of the compiler the GNU C/C+ + latest version, to avoid this error edit the file src/download_win.h and replace:

void DL_Window::print_status(download_t * download, int quiet_mode);

with:

void print_status(download_t * download, int quiet_mode);

5. Do you want to make this a deb package?

[codesyntax lang="bash"]

apt-get install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev checkinstall
./configure && make && sudo checkinstall

[/codesyntax]